机器学习之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 ,如果没有报错,说明安装成功

 

posted @ 2019-06-19 10:41  小白啊小白,Fighting  阅读(715)  评论(0编辑  收藏  举报