Skip to content

xuesongwang/Prediction-of-the-Heat-Transfer-based-on-XGBoost

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python 2.7

Predicting heat transfer of oscillating heat pipes for machining processes based on extreme gradient boosting algorithm

https://www.sciencedirect.com/science/article/pii/S1359431119351531

https://authors.elsevier.com/c/1ZvUm4r6Kuzoxh

Ning Qian, Xuesong Wang, Yucan Fu*, Zhengcai Zhao, Jiuhua Xu, Jiajia Chen

Prerequisite python packages

This code requires python 2.7+ and the following packages:

numpy, pandas, matplotlib, sklearn, xgboost, lightgbm

Run

  • to see results of XGBoost or comparing methods on training, validation and testing set, run

    python regression/main.py

    change "model _index" in regression/main.py can switch testing methods from XGBoost to others like Random Forest

  • run ANN.py separately if you want to see ANN result

Cross validation and grid search strategy of XGBoost

Code Structure for XGBoost in main.py

  1. Read data: read original training data and testing data

  2. Choose a model by model_index:

    0: Linear Regression(LR), 1: Support Vector Regression(SVR), 2: Random Forest, 3: XGBoost, 4: LightGBM

  3. If model == LR or SVR, normalize data first

  4. Generate validation set from training data

  5. Initialize training parameters of a list of models

  6. Train models with training data and select the best model with the lowest prediction error on the validation set

  7. Test the best model with the testing set

  8. plot y_predicted - y_true figures of the best method (plot_coefficient)

  9. plot decision boundaries of the best model

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages