对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 pass 语句使用示例
Mar 11 Python
python利用正则表达式搜索单词示例代码
Sep 24 Python
Python 快速实现CLI 应用程序的脚手架
Dec 05 Python
Python利用字典将两个通讯录文本合并为一个文本实例
Jan 16 Python
python实现求最长回文子串长度
Jan 22 Python
Python DataFrame设置/更改列表字段/元素类型的方法
Jun 09 Python
python使用zip将list转为json的方法
Dec 31 Python
Python xlwt模块使用代码实例
Jun 10 Python
python实现AHP算法的方法实例(层次分析法)
Sep 09 Python
一篇文章教你用python画动态爱心表白
Nov 22 Python
python 实现aes256加密
Nov 27 Python
python自然语言处理之字典树知识总结
Apr 25 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
用户的详细注册和判断
2006/10/09 PHP
Codeigniter操作数据库表的优化写法总结
2014/06/12 PHP
php随机获取金山词霸每日一句的方法
2015/07/09 PHP
php生成与读取excel文件
2016/10/14 PHP
ThinkPHP5&5.1实现验证码的生成、使用及点击刷新功能示例
2020/02/07 PHP
根据分辨率不同,调用不同的css文件
2006/08/25 Javascript
javascript 简单高效判断数据类型 系列函数 By shawl.qiu
2007/03/06 Javascript
JQuery 无废话系列教程(二) jquery实战篇上
2009/06/23 Javascript
解决遍历时Array.indexOf产生的性能问题
2012/07/03 Javascript
jquery实现类似EasyUI的页面布局可改变左右的宽度
2020/09/12 Javascript
Jquery选择器中使用变量实现动态选择例子
2014/07/25 Javascript
js实现对table动态添加、删除和更新的方法
2015/02/10 Javascript
jQuery 如何给Carousel插件添加新的功能
2016/04/18 Javascript
利用Node.js+Koa框架实现前后端交互的方法
2017/02/27 Javascript
利用vue + element实现表格分页和前端搜索的方法
2017/12/25 Javascript
基于Bootstrap下拉框插件bootstrap-select使用方法详解
2018/08/07 Javascript
原来JS还可以这样拆箱转换详解
2019/02/01 Javascript
Nuxt项目支持eslint+pritter+typescript的实现
2019/05/20 Javascript
vue滚动插件better-scroll使用详解
2019/10/18 Javascript
详解vue中在父组件点击按钮触发子组件的事件
2020/11/13 Javascript
JS创建自定义对象的六种方法总结
2020/12/15 Javascript
python zip文件 压缩
2008/12/24 Python
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
2017/05/08 Python
浅谈django2.0 ForeignKey参数的变化
2019/08/06 Python
python 中不同包 类 方法 之间的调用详解
2020/03/09 Python
详解Python中的文件操作
2021/01/14 Python
canvas绘制表情包的示例代码
2018/07/09 HTML / CSS
申论倡议书范文
2014/05/13 职场文书
护士优质服务演讲稿
2014/08/26 职场文书
2014年办公室主任工作总结
2014/11/12 职场文书
索赔员岗位职责
2015/02/15 职场文书
社区志愿者服务心得体会
2016/01/22 职场文书
2016年大学生暑期社会实践活动总结
2016/04/06 职场文书
vue使用节流函数的踩坑实例指南
2021/05/20 Vue.js
Java org.w3c.dom.Document 类方法引用报错
2021/08/07 Java/Android
教你使用Jenkins集成Harbor自动发布镜像
2022/04/03 Servers