一、原理
一篇好文:
https://www.jianshu.com/p/7467e616f227
二、网格调参
用xgboost既可以用来做二分类、多分类,也可以用来做回归预测数值,除了特征之外,影响模型的是如何调参了,一般是按一定的步骤、网格搜索最优参数,如下两篇文章一个是用来分类,一个是用来预测数值的案例,并且详细给出了调参的步骤和代码:
https://blog.csdn.net/han_xiaoyang/article/details/52665396 (用来分类XGBClassifier)
https://segmentfault.com/a/1190000014040317 (用来预测数字,XGBRegressor)
三、实践
参考以上的博客,用iris经典数据集进行多分类的预测(三个类别)。
- 载入库
import pandas as pd
import numpy as np
import xgboost as xgb
from sklearn.model_selection import GridSearchCV
from xgboost.sklearn import XGBClassifier
from sklearn import metrics
import matplotlib.pyplot as plt
- 数据集
from sklearn.datasets import load_iris
iris = load_iris()
X,y = iris.data,iris.target
- 用Early Stop检查过拟合
model = XGBClassifier()
eval_set =[(X_test,y_test)]
model.fit