研究文章

应用梯度提高机器学习算法来预测单轴抗压强度的软在塔尔煤田沉积岩

表7

在python中使用XGBoost执行xgb框架。

描述 Python脚本

导入python包 进口xgboost xgb
从xgboost进口XGBRegressor
从sklearn。model_selection进口train_test_split cross_val_score RepeatedKFold
从sklearn。指标导入mean_squared_error MSE
解释框架的特性 框架= XGBRegressor(客观=“reg: squarederror”)
#的解释评价机制
简历= RepeatedKFold (n_splits = 10, n_repeats = 3, random_state = 1)
#框架评估
n_scores = cross_val_score(框架、x_train UCS_train)
打印(“美:%。8 f (% .8f) %(意思是(n_scores)、性病(n_scores))
#适合训练数据集上的框架
框架= XGBRegressor(客观=“reg: squarederror”)
框架。fit (x, UCS)
创建网格的参数 gbm_param_grid = {
“埃塔”:[0.2,0.25,0.3,0.35,0.4,0.5,0.65,0.7,0.8,0.9),
“max_depth”: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
“colsample_bytree”: [0.5, 0.55, 0.6, 0.62, 0.65, 0.7, 0.8, 0.9, 0.95, 1],
“子”:[0.5,0.55,0.6,0.62,0.65,0.7,0.8,0.9,0.95,1],
}
#实例化回归量:“绿带运动”
“绿带运动”= xgb.XGBRegressor(客观=“reg: squarederror”)
#实现网格搜索:grid_mse
randomized_mse = RandomizedSearchCV (
估计量=“绿带运动”,
param_distributions = gbm_param_grid,
得分= " neg_mean_squared_error ",
简历= 3,
verbose = 1,
)
#适合grid_mse UCS训练数据集
randomized_mse。fit (x, UCS)
训练数据集 train_dataset_forecasting = randomized_mse.predict (x_train)
测试数据集 test_dataset_forecasting = randomized_mse.predict (x_test)