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

yipeiwu_com6年前Python基础

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

主要演示大致的过程:

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

以及几个重要问题:

①标签二值化

②网格搜索法调参

③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一行代码得到数组中某个元素的个数方法

想法由来 今天写代码过程中遇到一个需求,计算一个list中数值为1的元素的个数,其中这个list的元素数值不是为0就是为1。 一开始想到的是写个方法来计算: # 返回一个0,1数组中...

淘宝秒杀python脚本 扫码登录版

本文实例为大家分享了python淘宝秒杀的具体代码,供大家参考,具体内容如下 # 淘宝秒杀脚本,扫码登录版 import os from selenium import webdri...

python初学者,用python实现基本的学生管理系统(python3)代码实例

这个是用python实现的基本的增删改查的学生管理系统吧,其中主要是对输入的数据进行合法性检测的问题,这次又对函数进行了练习!掌握函数更加熟练了!二话不说先贴代码,一切问题请看注释,都很...

对Python中type打开文件的方式介绍

这几天在看《利用Python进行数据分析》,在第六章数据加载、存储、与文件格式中遇到个小问题。 在Linux访问文件是用:!cat ch06/ex1.csv 在Windows命令行中使用...

wxpython 最小化到托盘与欢迎图片的实现方法

一直在学习系统托盘的实现,于是自己写了一个简单的系统托盘实例,右键包括演示、最大化、最小化、退出和关于。在python2.6下测试通过。 注意,本节分享的python实例代码,这里是托盘...