转载自:https://blog.csdn.net/qq_30868235/article/details/80370060
1.数据集
数据集使用sklearn自带的手写数字识别数据集mnist,通过函数datasets导入。mnist共1797个样本,8*8个特征,标签为0~9十个数字。
### 载入数据
from sklearn import datasets # 载入数据集
digits = datasets.load_digits() # 载入mnist数据集
print(digits.data.shape) # 打印输入空间维度
print(digits.target.shape) # 打印输出空间维度
"""
(1797, 64)
(1797,)
"""
2.数据集分割
sklearn.model_selection中train_test_split函数划分数据集,其中参数test_size为测试集所占的比例,random_state为随机种子(为了能够复现实验结果而设定)。
3.模型相关(载入模型--训练模型--模型预测)
XGBClassifier.fit()函数用于训练模型,XGBClassifier.predict()函数为使用模型做预测。
### 模型相关
from xgboost import XGBClassifier
model = XGBClassifier() # 载入模型(模型命名为model)
model.fit(x_train,y_train) # 训练模型(训练集)
y_pred = model.predict(x_test) # 模型预测(测试集),y_pred为预测结果
4.性能评估
sklearn.metrics中accuracy_score函数用来判断模型预测的准确度。
5.特征重要性
xgboost分析了特征的重要程度,通过函数plot_importance绘制图片。
6.完整代码