集成学习之sklearn中的xgboost基本用法 (转载)
转载自: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为随机种子(为了能够复现实验结果而设定)。
### 数据分割
from sklearn.model_selection import train_test_split # 载入数据分割函数train_test_split
x_train,x_test,y_train,y_test = train_test_split(digits.data, # 特征空间
digits.target, # 输出空间
test_size = 0.3, # 测试集占30%
random_state = 33) # 为了复现实验,设置一个随机数
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函数用来判断模型预测的准确度。
### 性能度量
from sklearn.metrics import accuracy_score # 准确率
accuracy = accuracy_score(y_test,y_pred)
print("accuarcy: %.2f%%" % (accuracy*100.0))
5.特征重要性
xgboost分析了特征的重要程度,通过函数plot_importance绘制图片。
### 特征重要性
import matplotlib.pyplot as plt
from xgboost import plot_importance
fig,ax = plt.subplots(figsize=(10,15))
plot_importance(model,height=0.5,max_num_features=64,ax=ax)
plt.show()
6.完整代码
### load module
from sklearn import datasets
from sklearn.model_selection import train_test_split
from xgboost import XGBClassifier
from sklearn.metrics import accuracy_score
### load datasets
digits = datasets.load_digits()
### data analysis
print(digits.data.shape) # 输入空间维度
print(digits.target.shape) # 输出空间维度
### data split
x_train,x_test,y_train,y_test = train_test_split(digits.data,
digits.target,
test_size = 0.3,
random_state = 33)
### fit model for train data
model = XGBClassifier()
model.fit(x_train,y_train)
### make prediction for test data
y_pred = model.predict(x_test)
### model evaluate
accuracy = accuracy_score(y_test,y_pred)
print("accuarcy: %.2f%%" % (accuracy*100.0))
"""
95.0%
"""
转载于:https://www.cnblogs.com/xitingxie/p/11323114.html
集成学习之sklearn中的xgboost基本用法 (转载)相关推荐
- Ensemble Learning(集成学习--AdaBoost,GBDT,Xgboost等)
集成学习: 所谓兼听则明,偏信则暗. 集成学习本身并不是一个单纯的新算法,它的目的是通过结合多个其他的机器学习模型来完成某个一个任务以提升最终结果的准确率,即三个臭皮匠赛过诸葛亮.从该思想出发自然可以 ...
- sklearn中的make_blobs的用法
sklearn中的make_blobs函数主要是为了生成数据集的,具体如下 data_set, label = make_blobs(n_features=3,n_samples=50, center ...
- sklearn sklearn中KFold()的具体用法
sklearn sklearn中KFold()的具体用法
- C#事件中sender的小用法(转载)
C#事件中sender的小用法 开WPF新坑了,看了WPF的炫酷界面,再看看winForm实在是有些惨不忍睹(逃).后面会开始写一些短的学习笔记. 一.什么是sender sender最常见到的情况就 ...
- js 中 document.createEvent的用法-转载
js 中 document.createEvent的用法 <a class="comment-mod" οnclick="alert('ss')" hre ...
- Android中各种Span的用法——转载
转载一篇觉得很好的文章,在转载中成长:https://blog.csdn.net/qq_16430735/article/details/50427978 Android中各种Span的用法 前言 S ...
- sklearn中knn的各种用法总结
knn四种选择 auto ball tree kd tree brute(暴力选择) KNeighborsClassifier(更常用,适用于均匀采样数据) RadiusNeighborsClassi ...
- 学习在java中计算基本的时间段 转载
概述 如果你知道怎样在java中使用日期,那么使用时间和它才不多一样简单.这篇文章告诉你怎样把他们的差别联系起来.Robert Nielsen还告诉你怎样使用java来计算抵达航班和制造过程的时间. ...
- JS中数组Array的用法{转载}
js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^ var arr = new Array(); arr[0] = "aaa"; arr[ ...
最新文章
- AC自动机 HDU 2222
- python爬虫(四)_urllib2:handle处理器和自定义opener
- 【机器学习】支持向量机(SVM)代码练习
- [BZOJ3751] [NOIP2014] 解方程 (数学)
- 掌握新手学车技巧对于新手来说是非常重要的
- mybatis-plus超详细讲解
- 解决jquery组件样式冲突 jPicker实例
- Kibana:Heatmap 可视化介绍及 how-to
- 5个免费的PPT模板下载网站
- UGUI制作Tab标签页
- ActiveMQ消息处理机制-Topic方式(二)
- css3复习P2(文本属性+列表属性+其他样式)
- 【Python】批量修改照片日期
- ACM数论 裴蜀定理(贝祖定理)
- PS 选区时显示像素
- php 生成excel透视表,是否可以使用PhpExcel库生成或克隆数据透视表?
- [Nvidia Jetson ]设备-Nvidia Jetson Nano刷机安装EMMC镜像(不使用sdkmanager工具)
- 数学公式输入:mathquill
- 触发器原理及其典型例子
- 计算机控制手机短信的接收代码,用单片机控制手机收发短信息
热门文章
- mysql集群session_Jetty9.2.2集群Session共享
- hibernate mysql 关联查询_Hibernate关联映射及高级查询
- php图片是啥,php图片处理类(附实例)
- 【spring boot】Controller @RequestMapping 数据绑定:接收 Date 类型参数时遇错,将 String 类型的参数转换成 Date 类型
- 【mysql】table中添加列
- 安装VMware Tools 灰色解决办法
- shell swt 样式_swt shell设置窗口位于屏幕中间
- python django框架分析_Django框架模型简单介绍与使用分析
- 动态时间规整_动态规划-数组系列(10%)
- pythonddos攻击代码_【分享】Python简易DDos攻击器源码