对sklearn的使用之数据集的拆分与训练详解(python3.6)
Python  /  管理员 发布于 7年前   307
研修课上讲了两个例子,融合一下。
主要演示大致的过程:
导入->拆分->训练->模型报告
以及几个重要问题:
①标签二值化
②网格搜索法调参
③k折交叉验证
④增加噪声特征(之前涉及)
from sklearn import datasets#从cross_validation导入会出现warning,说已弃用from sklearn.model_selection import train-test_splitfrom sklearn.grid_search import GridSearchCVfrom sklearn.metrics import classification_reportfrom sklearn.svm import SVCimport 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_validationturn_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)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号