【本文精髓源自b站‘莫烦Python’系列教程】

【适用于Python3版本,相应第三方库建议升级至最新版本】

下面展示两种学习曲线的绘制方法:

'''sklearn.learning_curve 中的 learning curve学习曲线
可以很直观的看出我们的 model 学习的进度, 对比发现 有没有overfitting 的问题.
然后我们可以对我们的 model 进行调整, 克服 过拟合overfitting 的问题.'''
%matplotlib inline
from sklearn.model_selection import learning_curve
from sklearn.datasets import load_digits #自带digits数据集
from sklearn.svm import SVC #支持向量分类器
import matplotlib.pyplot as plt
import numpy as np
digits = load_digits()
X = digits.data
y = digits.target
#观察样本量由小到大的学习曲线变化趋势,评价指标采用均方误差;
#k折交叉验证采用10折,训练样本由小到大体量依次为0.1,0.25,0.5,0.75,1;
train_sizes,train_loss,test_loss = learning_curve(SVC(gamma=0.001),X,y,
cv=10,scoring='neg_mean_squared_error',train_sizes=[0.1,0.25,0.5,0.75,1])#尝试调参gamma;
print(train_loss)#查看训练损失,确为负值,依据不同的train_sizes;
train_loss_mean = -np.mean(train_loss,axis=1)#将训练损失值按行求平均;
#实例演示:a = np.array([[1,2,3],[4,5,6]]),np.mean(a,axis=1),array([2., 5.])
print(train_loss_mean)#查看训练损失均值;
test_loss_mean = -np.mean(test_loss,axis=1)#验证损失,已正向;
plt.figure()
plt.plot(train_sizes,train_loss_mean,'o-',color='r',label='Training')
plt.plot(train_sizes,test_loss_mean,'o-',color='g',label='Cross-validation')
plt.xlabel("Training example quantities")
plt.ylabel('Loss')
plt.legend(loc='best')#legend是镌刻的意思,loc是location位置,best居中;#下面演示另一种,用learning_curve默认的score精度刻画学习曲线;
train_sizes,train_scores,test_scores = learning_curve(SVC(gamma=0.001),X,y,
cv=10,train_sizes=[0.1,0.25,0.5,0.75,1])#尝试调参gamma;
print(train_scores)
train_scores_mean = np.mean(train_scores,axis=1)#此时scores本身就为正,无需加负号;
print(train_scores_mean)
test_scores_mean = np.mean(test_scores,axis=1)
plt.figure()
plt.plot(train_sizes,train_scores_mean,'o-',color='r',label='Training')
plt.plot(train_sizes,test_scores_mean,'o-',color='g',label='Cross-validation')
plt.xlabel("Training example quantities")
plt.ylabel('Scores')
plt.legend(loc='best')plt.show()

 【print打印结果:】

neg_mean_squared_error 损失值打印:
[[-0.         -0.09937888 -0.09937888 -0.09937888 -0.09937888 -0.09937888-0.09937888 -0.09937888 -0.09937888 -0.09937888][-0.         -0.03970223 -0.03970223 -0.03970223 -0.03970223 -0.03970223-0.03970223 -0.03970223 -0.03970223 -0.03970223][-0.         -0.01985112 -0.01985112 -0.01985112 -0.01985112 -0.01985112-0.01985112 -0.01985112 -0.01985112 -0.01985112][-0.         -0.0165426  -0.01323408 -0.01323408 -0.01323408 -0.01323408-0.01323408 -0.01323408 -0.01323408 -0.01323408][-0.02233251 -0.03225806 -0.01054591 -0.03225806 -0.03225806 -0.03225806-0.03225806 -0.03225806 -0.03225806 -0.00992556]]
[0.08944099 0.03573201 0.017866   0.01224152 0.02686104]默认的score精度值打印:
[[1.         0.99378882 0.99378882 0.99378882 0.99378882 0.993788820.99378882 0.99378882 0.99378882 0.99378882][1.         0.99751861 0.99751861 0.99751861 0.99751861 0.997518610.99751861 0.99751861 0.99751861 0.99751861][1.         0.99875931 0.99875931 0.99875931 0.99875931 0.998759310.99875931 0.99875931 0.99875931 0.99875931][1.         0.99834574 0.99917287 0.99917287 0.99917287 0.999172870.99917287 0.99917287 0.99917287 0.99917287][0.99937965 0.99875931 0.99875931 0.99875931 0.99875931 0.998759310.99875931 0.99875931 0.99875931 0.99937965]]
[0.99440994 0.99776675 0.99888337 0.99917287 0.99888337]

【两种学习曲线绘制结果:】

sklearn机器学习之【学习曲线】相关推荐

  1. sklearn机器学习:岭回归Ridge

    在sklearn中,岭回归由线性模型库中的Ridge类来调用: Ridge类的格式 sklearn.linear_model.Ridge (alpha=1.0, fit_intercept=True, ...

  2. Sklearn机器学习——ROC曲线、ROC曲线的绘制和AUC面积、运用ROC曲线找到最佳阈值

    目录 1 ROC曲线 2 ROC曲线的绘制 2.1 Sklearn中的ROC曲线和AUC面积 2.2 利用ROC曲线找到最佳阈值 1 ROC曲线 上篇博客介绍了ROC曲线的概率和阈值还有SVM实现概率 ...

  3. 数据分析实战:python热门音乐分析 附代码+数据 +论文(PCA 主成分分析,sklearn 机器学习,pytorch 神经网络,k-means 聚类,Librosa 音频处理,midi 音序)

    项目概述: 本选取了抖音当下最热门的 400 首音乐,通过一系列方法提取每首歌的波形特征,再经过降维以及机器学习等手段,进行无监督学习对音乐数据进行聚类的同时训练并使用监督学习分类器进行音乐流派分类, ...

  4. python sklearn机器学习库 安装

    1.准备工作 安装sklearn之前,我们需要先安装numpy,scipy函数库. Numpy下载地址:http://sourceforge.net/projects/numpy/files/NumP ...

  5. 机器学习笔记——学习曲线的绘制

    机器学习笔记--学习曲线的绘制 为何要绘制学习曲线 学习曲线 高偏差(bias)的情况 高方差(variance)情况 重点总结 高方差(high variance) 高偏差(high bias) 如 ...

  6. 《sklearn机器学习第二版》(加文海克著)学习笔记

    本书附以sklearn机器学习示例程序,从调用函数的角度解释了常用的机器学习的方法,包括线性回归.逻辑回归.决策树.SVM.朴素贝叶斯.ANN.K-means.PCA.原理粗浅易懂,注重代码实践.本文 ...

  7. 用python+sklearn(机器学习)实现天气预报数据 数据

    用python+sklearn机器学习实现天气预报 数据 项目地址 系列教程 勘误表 0.前言 1.爬虫 a.确认要被爬取的网页网址 b.爬虫部分 c.网页内容匹配取出部分 d.写入csv文件格式化 ...

  8. 用python+sklearn(机器学习)实现天气预报数据 模型和使用

    用python+sklearn机器学习实现天气预报 模型和使用 项目地址 系列教程 0.前言 1.建立模型 a.准备 引入所需要的头文件 选择模型 选择评估方法 获取数据集 b.建立模型 c.获取模型 ...

  9. 【1 - 决策树 - 原理部分】菜菜sklearn机器学习

    课程地址:<菜菜的机器学习sklearn课堂>_哔哩哔哩_bilibili 第一期:sklearn入门 & 决策树在sklearn中的实现 第二期:随机森林在sklearn中的实现 ...

最新文章

  1. 里程碑式成果Faster RCNN复现难?我们试了一下 | 附完整代码
  2. Git常见报错及解决方法
  3. Strange Memory Gym - 102832F
  4. 面试题25:合并两个排序的链表
  5. 路印智能钱包现已上线Google Play商店
  6. vs2008 MFC访问Access 2010数据库
  7. mysql导入sql文件命令_MySQL导入.sql文件及常用命令
  8. npm查找依赖包版本
  9. 模糊控制(一)模糊控制简介及数学基础
  10. 泰戈尔专集:飞鸟集·新月集·园丁集(美冠纯美阅读书系·外国卷) 读后感
  11. 杀毒软件工作原理 及 现在主要杀毒技术
  12. 10个 安卓应用商店开发者公司账号注册(2022最新最全)
  13. VR中的9轴传感器(重力加速度/陀螺仪/磁力计)
  14. Python的基本操作
  15. 齐岳定制|Cyclopropene-PEG-Xylan|环丙烯-聚乙二醇-木聚糖
  16. 2022第十一届PMO大会日程已定,将于8月13-14日和20-21日线上召开
  17. 西安前端开发工程师待遇|哎呦不错呦
  18. Refer to Hibernate 3.6 Migration Guide
  19. python按键按下改变数值_【发那科】发那科机器人TP 示教器按键使用简介
  20. 今日科技联播:阿里倡导成立“罗汉堂” 6名诺贝尔奖得主加入

热门文章

  1. java毕业设计烟草经销平台的设计与实现Mybatis+系统+数据库+调试部署
  2. “飞长爱你”制作的两支1AA/2AA通用的LED手电筒
  3. 这真的是Cookie吗?
  4. IDEA配置persistence.xml
  5. root改名字,root重命名
  6. C++ CreateThread的使用
  7. 钉钉的收费 [钉钉深圳研发团队 denny/2016.01.06/ 59888745@qq.com]
  8. 舒尔补(schur completement)
  9. 如何创建一个私有的Docker仓库
  10. uboot移植i2c