- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
绘制学习曲线——plot_ learning_curve
plot_learning_curve函数官⽅放提供的模板函数, 以⽆需修改,初学时我们仅需要知道传⼊的参数意义即 。
先说说函数⾥⾯的⼀个东西,也是画曲线的核⼼sklearn.model_selection的learning_curve,该学习曲线函数返回的是
train_sizes,train_scores,test_scores :
在画训练集的曲线时:横轴为 train_sizes,纵轴为 train_scores_mean;
画测试集的曲线时:横轴为train_sizes,纵轴为test_scores_mean。
title:图像的名字。
cv :默认cv=None,如果需要传⼊则如下 :
cv : int, 交叉验证⽣成器或 迭代的 选项,确定交叉验证拆分策略。
cv的 能输⼊是 :
- ⽆,使⽤默认的3倍交叉验证,
- 整数,指定折叠数。
- 要⽤作交叉验证⽣成器的对象。
- 迭代的yielding训练/测试分裂。
ShuffleSplit :我们这⾥设置cv ,交叉验证使⽤ShuffleSplit⽅法,⼀共取得 100组训练集与测试集,每次的测试集为20%,它返回的是每
组训练集与测试集的下标索引,由此 以知道哪些是train,那些是test。
ylim:tuple, shape (ymin, ymax), 选的。定义绘制的最⼩和最⼤y值,这⾥是 (0.7,1.0 1)。
n_j obs : 整数, 选并⾏运⾏的作业数 (默认值为 1)。windows开多线程需要在__name__==__main__中运⾏。
官⽅固定代码
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import learning_curve
# ⽤sklearn的learning_curve得到training_score和cv_score ,使⽤matplotlib画出learning curve
def plot_ learning_curve(estimator, title, X, y, ylim=None, cv=None, n_jobs= ,
train_sizes=np.linspace(.05, ., 20), verbose=0) :
画出data在某模型上的learning curve.
参数解释
estimator : 你⽤的分类器。
title : 表格的标题。
X : 输⼊的feature ,numpy类型
y : 输⼊的target vector
ylim : tuple格式的(ymin, ymax), 设定图像中纵坐标的最低点和最⾼点
cv : 做cross-validation的时候,数据分成的份数,其中⼀份作为cv集,其余n- 份作为training(默认为3份)
n_jobs : 并⾏的的任务数(默认 )
train_sizes, train_scores, test_scores = learning_curve(
estimator, X, y, cv=cv, n_jobs=n_jobs, train_sizes=train_sizes)
train_scores_ mean = np.mean(train_scores, axis= )
train_scores_std = np.std(train_scores, axis= )
test_scores_ mean = np.mean(test_scores, axis= )
test_scores_st
文档评论(0)