我有数据集来预测客户辍学(是,否),具有 5 个数字特征和 2 个分类特征。我对数值数据应用了缩放器,并将分类特征转换为虚拟变量,创建了 29 个特征。我的数据集有 6552 行和 34 个特征。什么是调整 XGBClassifier 参数的推荐方法,因为我使用默认值创建模型,即 model=XGBClassifier()?我是否应该使用蛮力循环某些参数中的值,直到找到最佳预测值?在这种情况下,推荐什么?
如何优化 XGBoost 性能精度?
数据挖掘
机器学习
xgboost
2021-09-18 10:56:38
2个回答
将 GridSearchCV 与 XGBoost 一起使用时,请确保您拥有最新版本的 XGBoost 和 SKLearn,并特别注意 njobs!=1说明。
import xgboost as xgb
from sklearn.grid_search import GridSearchCV
xgb_model = xgb.XGBClassifier()
optimization_dict = {'max_depth': [2,4,6],
'n_estimators': [50,100,200]}
model = GridSearchCV(xgb_model, optimization_dict,
scoring='accuracy', verbose=1)
model.fit(X,y)
print(model.best_score_)
print(model.best_params_)
XGBoost 的忠告,小心过度拟合。在您的特定情况下,我建议使用 Catboost ,因为它针对分类进行了优化。
其它你可能感兴趣的问题