对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使用BeautifulSoup分页网页中超链接的方法
Apr 04 Python
python中requests库session对象的妙用详解
Oct 30 Python
Python将多个excel文件合并为一个文件
Jan 03 Python
Python django使用多进程连接mysql错误的解决方法
Oct 08 Python
对python打乱数据集中X,y标签对的方法详解
Dec 14 Python
python使用PIL模块获取图片像素点的方法
Jan 08 Python
Django框架会话技术实例分析【Cookie与Session】
May 24 Python
Python 经典算法100及解析(小结)
Sep 13 Python
Python数据可视化:饼状图的实例讲解
Dec 07 Python
在python中logger setlevel没有生效的解决
Feb 21 Python
Spark处理数据排序问题如何避免OOM
May 21 Python
Python matplotlib绘制条形统计图 处理多个实验多组观测值
Apr 21 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
如何冲泡挂耳包咖啡?技巧是什么
2021/03/04 冲泡冲煮
PHP操作mysql函数详解,mysql和php交互函数
2011/05/19 PHP
PHP中使用foreach和引用导致程序BUG的问题介绍
2012/09/05 PHP
php去除二维数组的重复项方法
2015/11/03 PHP
Laravel5.5新特性之友好报错以及展示详解
2017/08/13 PHP
jquery中的sortable排序之后的保存状态的解决方法
2010/01/28 Javascript
JavaScript 开发规范要求(图文并茂)
2010/06/11 Javascript
this和执行上下文实现代码
2010/07/01 Javascript
一款Jquery 分页插件的改造方法(服务器端分页)
2011/07/11 Javascript
jquery click([data],fn)使用方法实例介绍
2013/07/08 Javascript
谈谈JavaScript中function多重理解
2015/08/28 Javascript
JavaScript生成带有缩进的表格代码
2016/06/15 Javascript
Javascript6中字符串的四个新用法分享
2016/09/11 Javascript
JavaScript实现使用Canvas绘制图形的基本教程
2016/10/27 Javascript
jQuery实现的简单悬浮层功能完整实例
2017/01/23 Javascript
浅谈React Native 传参的几种方式(小结)
2019/05/21 Javascript
vue+animation实现翻页动画
2020/06/29 Javascript
Vue移动端项目实现使用手机预览调试操作
2020/07/18 Javascript
WebStorm中如何将自己的代码上传到github示例详解
2020/10/28 Javascript
[34:27]DOTA2上海特级锦标赛B组败者赛 VG VS Spirit第一局
2016/02/26 DOTA
[44:22]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第一场 11.01
2020/11/02 DOTA
[42:24]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第三场 11.27
2020/12/01 DOTA
Python实现的Kmeans++算法实例
2014/04/26 Python
python中二维阵列的变换实例
2014/10/09 Python
使用Python脚本在Linux下实现部分Bash Shell的教程
2015/04/17 Python
Python2.7.10以上pip更新及其他包的安装教程
2018/06/12 Python
python flask中动态URL规则详解
2019/11/22 Python
Python使用Turtle库绘制一棵西兰花
2019/11/23 Python
Python request使用方法及问题总结
2020/04/26 Python
Python如何重新加载模块
2020/07/29 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
十八大演讲稿
2014/05/22 职场文书
小学雷锋月活动总结
2014/07/03 职场文书
入党积极分子十八届四中全会思想汇报
2014/10/23 职场文书
自主招生推荐信怎么写
2015/03/26 职场文书
2015年中学团委工作总结
2015/07/22 职场文书