对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实现获取磁盘剩余空间的2种方法
Jun 07 Python
python3 发送任意文件邮件的实例
Jan 23 Python
Python中多个数组行合并及列合并的方法总结
Apr 12 Python
python实现列表的排序方法分享
Jul 01 Python
Django框架视图介绍与使用详解
Jul 18 Python
这可能是最好玩的python GUI入门实例(推荐)
Jul 19 Python
python os.path.isfile 的使用误区详解
Nov 29 Python
完美解决pyinstaller打包报错找不到依赖pypiwin32或pywin32-ctypes的错误
Apr 01 Python
Python 实现自动登录+点击+滑动验证功能
Jun 10 Python
python属于解释型语言么
Jun 15 Python
Python selenium爬取微信公众号文章代码详解
Aug 12 Python
python使用shell脚本创建kafka连接器
Apr 29 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
php addslashes和mysql_real_escape_string
2010/01/24 PHP
使用PHP curl模拟浏览器抓取网站信息
2013/10/28 PHP
php中switch语句用法详解
2015/08/17 PHP
WAF的正确bypass
2017/01/05 PHP
Laravel5.0+框架邮件发送功能实现方法图文与实例详解
2019/04/23 PHP
javascript学习笔记(七) js函数介绍
2012/06/19 Javascript
解决自定义$(id)的方法与jquery选择器$冲突的问题
2014/06/14 Javascript
两种方法实现在HTML页面加载完毕后运行某个js
2014/06/16 Javascript
jQuery中focus事件用法实例
2014/12/26 Javascript
jquery实现可横向和竖向展开的动态下滑菜单效果
2015/08/24 Javascript
JavaScript实现算术平方根算法-代码超简单
2015/09/11 Javascript
Eclipse引入jquery报错如何解决
2015/12/01 Javascript
手机浏览器 后退按钮强制刷新页面方法总结
2016/10/09 Javascript
jQ处理xml文件和xml字符串的方法(详解)
2016/11/22 Javascript
AngularJs中 ng-repeat指令中实现含有自定义指令的动态html的方法
2017/01/19 Javascript
解决html-jquery/js引用外部图片时遇到看不了或出现403的问题
2017/09/22 jQuery
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
2019/02/14 jQuery
Element-ui自定义table表头、修改列标题样式、添加tooltip、:render-header使用
2019/04/11 Javascript
解决layui-table单元格设置为百分比在ie8下不能自适应的问题
2019/09/28 Javascript
微信小程序实现音乐播放器
2019/11/20 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
Python列表生成器的循环技巧分享
2015/03/06 Python
python通过floor函数舍弃小数位的方法
2015/03/17 Python
浅谈Python的垃圾回收机制
2016/12/17 Python
django开发post接口简单案例,获取参数值的方法
2018/12/11 Python
pandas DataFrame 删除重复的行的实现方法
2019/01/29 Python
python实现两个一维列表合并成一个二维列表
2019/12/02 Python
Python面向对象程序设计之类和对象、实例变量、类变量用法分析
2020/03/23 Python
Python代码执行时间测量模块timeit用法解析
2020/07/01 Python
Python通过zookeeper实现分布式服务代码解析
2020/07/22 Python
九年级历史教学反思
2014/01/27 职场文书
大学生通用个人自我评价
2014/04/27 职场文书
微笑服务演讲稿
2014/05/13 职场文书
高中课前三分钟演讲稿
2014/09/13 职场文书
javascript的var与let,const之间的区别详解
2022/02/18 Javascript