对sklearn的使用之数据集的拆分与训练详解(python3.6)


Posted in Python onDecember 14, 2018

研修课上讲了两个例子,融合一下。

主要演示大致的过程:

导入->拆分->训练->模型报告

以及几个重要问题:

①标签二值化

②网格搜索法调参

③k折交叉验证

④增加噪声特征(之前涉及)

from sklearn import datasets
#从cross_validation导入会出现warning,说已弃用
from sklearn.model_selection import train-test_split
from sklearn.grid_search import GridSearchCV
from sklearn.metrics import classification_report
from sklearn.svm import SVC
import sklearn.exceptioins
#导入鸢尾花数据集
iris = datasets.load_iris()
#将数据集拆分为训练集和测试集各一半
#其中X为数据特征(花萼、花瓣的高度宽度),为150*4的矩阵
#Y为鸢尾花种类(0, 1, 2三种),为150*1矩阵
#如果使用标签二值化, 将0, 1, 2表示为100 010 001
#使用y.label_binarize(y, classes[0, 1, 2]),变为150*3矩阵
X_train, X_test, y_train, y_test = train_test_split(
iris.data, iris.target, test_size=0.5, random_state=0)
#set the parameters by cross_validation
turn_parameters = [{'kernel' : ['rbf', 'gamma' : [1e-3, 1e - 4, 'C':[1,10,100,1000]}, 
{'kernel':['linear'], 'C':[1,10,100,1000]}
]
#clf分离器
#使用网格搜索法调超参数
#训练集做5折交叉验证
clf = GridSearchCV(SVC(C=1), turned_parameters, cv=5, scoring='%s_weighted' % score)
#用前一半train数据再做5折交叉验证
#因为之前的train_test_split已经分割为2份了
#fit-拟合
clf.fit(X_train, y_train)
#超参数
print(clf.best_params_)
#得分
for params, mean_score, scores in clf.gird_scores_:
 print("%.3f (+/-%.0.03f) for %r" % (mean_score, scores.std()*1.96,params))
#分类报告
y_true, y_pred = y_test, clf.predict(X_test)
print(classification_report(y_true, y_pred))

以上这篇对sklearn的使用之数据集的拆分与训练详解(python3.6)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解在Python程序中解析并修改XML内容的方法
Nov 16 Python
python动态加载包的方法小结
Apr 18 Python
简单谈谈Python中的闭包
Nov 30 Python
Python面向对象之接口、抽象类与多态详解
Aug 27 Python
使用50行Python代码从零开始实现一个AI平衡小游戏
Nov 21 Python
python用插值法绘制平滑曲线
Feb 19 Python
wxPython:python首选的GUI库实例分享
Oct 05 Python
python实现树的深度优先遍历与广度优先遍历详解
Oct 26 Python
Python超越函数积分运算以及绘图实现代码
Nov 20 Python
Python通过zookeeper实现分布式服务代码解析
Jul 22 Python
Python Matplotlib绘图基础知识代码解析
Aug 31 Python
通过python-pptx模块操作ppt文件的方法
Dec 26 Python
python列表list保留顺序去重的实例
Dec 14 #Python
Python机器学习之scikit-learn库中KNN算法的封装与使用方法
Dec 14 #Python
Python面向对象之类的内置attr属性示例
Dec 14 #Python
python模糊图片过滤的方法
Dec 14 #Python
python 随机打乱 图片和对应的标签方法
Dec 14 #Python
对python打乱数据集中X,y标签对的方法详解
Dec 14 #Python
Python实现带参数的用户验证功能装饰器示例
Dec 14 #Python
You might like
PHP开发负载均衡指南
2010/07/17 PHP
PHP实现页面静态化深入讲解
2021/03/04 PHP
读jQuery之十二 删除事件核心方法
2011/07/31 Javascript
window.event快达到全浏览器支持了,以后使用就方便了
2011/11/30 Javascript
五段实用的js高级技巧
2011/12/20 Javascript
JQuery入门—JQuery程序的代码风格详细介绍
2013/01/03 Javascript
JS下载文件|无刷新下载文件示例代码
2014/04/17 Javascript
理解jQuery stop()方法
2014/11/21 Javascript
JavaScript实现鼠标滑过图片变换效果的方法
2015/04/16 Javascript
AngularJS ng-repeat数组有重复值的解决方法
2016/10/23 Javascript
js实现符合国情的日期插件详解
2017/01/19 Javascript
Vue.js实战之利用vue-router实现跳转页面
2017/04/01 Javascript
bootstrap弹出层的多种触发方式
2017/05/10 Javascript
vue 全选与反选的实现方法(无Bug 新手看过来)
2018/02/09 Javascript
bootstrap table合并行数据并居中对齐效果
2018/10/17 Javascript
原生JavaScript实现五子棋游戏
2020/11/09 Javascript
[58:15]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 NB vs Liquid
2018/04/02 DOTA
python判断给定的字符串是否是有效日期的方法
2015/05/13 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
2016/12/27 Python
Python基础练习之用户登录实现代码分享
2017/11/08 Python
python读取csv文件并把文件放入一个list中的实例讲解
2018/04/27 Python
对pandas中Series的map函数详解
2018/07/25 Python
Django Channels 实现点对点实时聊天和消息推送功能
2019/07/17 Python
python psutil模块使用方法解析
2019/08/01 Python
ORM Django 终端打印 SQL 语句实现解析
2019/08/09 Python
Python3简单爬虫抓取网页图片代码实例
2019/08/26 Python
Python Pandas对缺失值的处理方法
2019/09/27 Python
Python3实现将一维数组按标准长度分隔为二维数组
2019/11/29 Python
HTML 5 标签、属性、事件及浏览器兼容性速查表 附打包下载
2012/10/20 HTML / CSS
html5指南-6.如何创建离线web应用程序实现离线访问
2013/01/07 HTML / CSS
会计电算化专业毕业生求职信范文
2013/12/10 职场文书
科技之星事迹材料
2014/06/02 职场文书
建设办主任四风问题整改思路和措施
2014/09/20 职场文书
学习经验交流会策划书
2015/11/02 职场文书
SpringBoot 整合mongoDB并自定义连接池的示例代码
2022/02/28 MongoDB
Java Spring Boot请求方式与请求映射过程分析
2022/06/25 Java/Android