机器学习之Xgboost算法
知识点
""" xgboost:是一种提升算法,串行的决策树 过程: 第一棵树:目标值:1000 ,预测值:950 第二颗树:目标值:1000-950=50(残差作为输入) 预测值:30 第三颗树:目标值:50-30=20(残差作为输入) 预测值:18 最终的目标值:三棵树的预测值相加,即950+30+18 xgboost算法开发过程: 1、数据预处理和数据清洗 2、数据归一化或标准化 3、构建xgboost所需的矩阵,dtrain = xgb.DMatrix(train_x,train_y) 4、xgboost的参数字典设置xgb_params 5、自定义衡量标准,使用平均绝对误差 def xg_eval_mean(yhat,dtrain): y = dtrain.get_label() return 'mean',mean_absolute_error(np.exp(y),np.exp(yhat)) 5、交叉验证 bst_cv1 = xgb.cv(xgb_params,dtrain,num_boost_round=100,feval=xg_eval_mean....) num_boost_round=100表示100棵树 6、打印值:print("CV score:",bst_cv1.iloc[-1,:]["test-mae-mean"]) 7、调参: 1、选择一组初始参数 2、改变max_depth和min_child_weight (可用网格搜索调优) 3、调节gamma降低模型拟合风险 4、调节subsample和colsample_bytree改变数据采用策略 5、调节学习率eta """
1、安装
a)下载安装包:https://www.lfd.uci.edu/~gohlke/pythonlibs/
b) pip install xgboost.****.whl
c)import xgboost ,如果没有报错,说明安装成功
本文来自博客园,作者:小白啊小白,Fighting,转载请注明原文链接:https://www.cnblogs.com/ywjfx/p/11049943.html