ML之xgboost:利用xgboost算法(sklearn+GridSearchCV)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测)

简介: ML之xgboost:利用xgboost算法(sklearn+GridSearchCV)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测)

输出结

image.png

image.png

image.png


 

设计思

image.png

 

核心代

from sklearn.grid_search import GridSearchCV

param_test = { 'n_estimators': range(1, 51, 1)}

clf = GridSearchCV(estimator = bst, param_grid = param_test, cv=5)

clf.fit(X_train, y_train)

clf.grid_scores_, clf.best_params_, clf.best_score_

grid_scores_mean= [0.90542,  0.94749,  0.90542,  0.94749,  0.90573,  0.94718,

                  0.90542,  0.94242,  0.94473,  0.97482,  0.94887,  0.97850,

                  0.97298,  0.97850,  0.97298,  0.97850,  0.97850,  0.97850,

                  0.97850,  0.97850,  0.97850,  0.97850,  0.97850,  0.97850,

                  0.97850,  0.97804,  0.97774,  0.97835,  0.98296,  0.98419,    

                  0.98342,  0.98372,  0.98419,  0.98419,  0.98419,  0.98419,

                  0.98419,  0.98419,  0.98419,  0.98419,  0.98419,  0.98419,

                  0.98419,  0.98419,  0.98419,  0.98419,  0.98419,  0.98419,

                  0.98419 ]

grid_scores_std = [0.08996,  0.07458,  0.08996,  0.07458,  0.09028,  0.07436,  

                  0.08996,  0.07331,  0.07739,  0.02235,  0.07621,  0.02387,  

                  0.03186,  0.02387,  0.03186,  0.02387,  0.02387,  0.02387,  

                  0.02387,  0.02387,  0.02387,  0.02387,  0.02387,  0.02387,  

                  0.02387,  0.02365,  0.02337,  0.02383,  0.01963,  0.02040,  

                  0.01988,  0.02008,  0.02040,  0.02040,  0.02040,  0.02040,  

                  0.02040,  0.02040,  0.02040,  0.02040,  0.02040,  0.02040,  

                  0.02040,  0.02040,  0.02040,  0.02040,  0.02040,  0.02040,  

                  0.02040  ]

#7-CrVa交叉验证曲线可视化

import matplotlib.pyplot as plt

x = range(0,len(grid_scores_mean))

y1 = grid_scores_mean

y2 = grid_scores_std

Xlabel = 'n_estimators'

Ylabel = 'value'

title = 'mushroom datase: xgboost(sklearn+GridSearchCV) model'

plt.plot(x,y1,'r',label='Mean')                      #绘制mean曲线

plt.plot(x,y2,'g',label='Std')                       #绘制std曲线

plt.rcParams['font.sans-serif']=['Times New Roman']  #手动添加中文字体,或者['font.sans-serif'] = ['FangSong']   SimHei

#myfont = matplotlib.font_manager.FontProperties(fname='C:/Windows/Fonts/msyh.ttf')  #也可以指定win系统字体路径

plt.rcParams['axes.unicode_minus'] = False  #对坐标轴的负号进行正常显示

plt.xlabel(Xlabel)

plt.ylabel(Ylabel)

plt.title(title)

plt.legend(loc=1)  

plt.show()


相关文章
|
机器学习/深度学习 算法 Python
请解释Python中的随机森林算法以及如何使用Sklearn库实现它。
【2月更文挑战第28天】【2月更文挑战第101篇】请解释Python中的随机森林算法以及如何使用Sklearn库实现它。
183 3
|
算法 Shell
通信系统中ZF,ML,MRC以及MMSE四种信号检测算法误码率matlab对比仿真
通信系统中ZF,ML,MRC以及MMSE四种信号检测算法误码率matlab对比仿真
|
机器学习/深度学习 存储 算法
sklearn应用线性回归算法
sklearn应用线性回归算法
|
算法
sklearn算法
sklearn算法
137 0
|
机器学习/深度学习 算法 数据挖掘
请解释Python中的决策树算法以及如何使用Sklearn库实现它。
决策树是监督学习算法,常用于分类和回归问题。Python的Sklearn库提供了决策树实现。以下是一步步创建决策树模型的简要步骤:导入所需库,加载数据集(如鸢尾花数据集),划分数据集为训练集和测试集,创建`DecisionTreeClassifier`,训练模型,预测测试集结果,最后通过`accuracy_score`评估模型性能。示例代码展示了这一过程。
223 1
|
机器学习/深度学习 算法 数据可视化
请解释Python中的K-means聚类算法以及如何使用Sklearn库实现它。
【2月更文挑战第29天】【2月更文挑战第104篇】请解释Python中的K-means聚类算法以及如何使用Sklearn库实现它。
223 1
|
2月前
|
开发框架 算法 .NET
基于ADMM无穷范数检测算法的MIMO通信系统信号检测MATLAB仿真,对比ML,MMSE,ZF以及LAMA
简介:本文介绍基于ADMM的MIMO信号检测算法,结合无穷范数优化与交替方向乘子法,降低计算复杂度并提升检测性能。涵盖MATLAB 2024b实现效果图、核心代码及详细注释,并对比ML、MMSE、ZF、OCD_MMSE与LAMA等算法。重点分析LAMA基于消息传递的低复杂度优势,适用于大规模MIMO系统,为通信系统检测提供理论支持与实践方案。(238字)
|
机器学习/深度学习 数据采集 算法
Python实现人工神经网络回归模型(MLPRegressor算法)并基于网格搜索(GridSearchCV)进行优化项目实战
Python实现人工神经网络回归模型(MLPRegressor算法)并基于网格搜索(GridSearchCV)进行优化项目实战
|
2月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
249 0
|
2月前
|
数据采集 分布式计算 并行计算
mRMR算法实现特征选择-MATLAB
mRMR算法实现特征选择-MATLAB
190 2