python学习曲线_python画学习曲线 - CSDN
精华内容
参与话题
  • python学习曲线

    2019-07-10 18:53:34
    经历长达近一个月的资源筛选过程终于结束,总共1.5T百度网盘的资源经过:去重、筛选、整理、归档之后一份粗略的Python学习曲线资源已经成型,虽然中间经历了很多坎坷,不过最终还是完成,猪哥也是第一时间与大家分享...

    经历长达近一个月的资源筛选过程终于结束,总共1.5T百度网盘的资源经过:去重、筛选、整理、归档之后一份粗略的Python学习曲线资源已经成型,虽然中间经历了很多坎坷,不过最终还是完成,猪哥也是第一时间与大家分享出来。

    资料主要分为两部分:一、各个学习网站论坛等,二、百度云资料。网站论坛资源更新快,可以与大家互动;而百度云资源主要为视频,方便大家下载和在线观看,两种资源结合使用,学习和查找知识更方便!

    重点::猪哥66辛苦整理的!!!!!

    转载处:https://www.cnblogs.com/pig66/p/10463206.html

    一、网站论坛学习资源

    名称链接说明
    实验楼 https://www.shiyanlou.com 提供免费的Linux实验环境
    Py资源中文大全 http://t.cn/Rq0C0ET 各种python包和管理工具
    PEP8 Py编码规范中文版 https://dwz.cn/30uIzs9W 代码规范与基础同样重要
    Py Code Examples https://dwz.cn/dawtruYk 精细到方法级别的代码案例
    Py Module of the Week https://pymotw.com 每篇介绍一个 Py标准库的使用
    菜鸟教程 http://t.cn/RLGeMuW 最经典的一个语言教程网站
    廖雪峰Py教程 https://dwz.cn/drygpxjk 大牛带你简单快速入门
    Py自动化测试博客 https://dwz.cn/raopItkV 一个自动化测试大佬的博客
    Py中文学习大本营 http://www.pythondoc.com 一个不错的Flask学习网站
    刘江的Django https://dwz.cn/udQayyZY 最适合入门的Django教程
    莫烦Py https://morvanzhou.github.io 机器学习方面有着不错的造诣
    吴恩达机器学习 https://dwz.cn/F8Aad3DY 网易云课堂(中/英字幕)
    几个Py练习题 https://dwz.cn/ExJnmwOJ 有几个不错的实用练习题
    CheckiO https://py.checkio.org/ 一个学习Py的有趣网站

    二、学习曲线

    这个学习曲线是我在某马论坛上看到的,觉得不错就推荐给大家,同时也感谢某马的开源免费精神,猪哥也是受益颇多!
    在这里插入图片描述
    在这里插入图片描述

    三、优质资源

    我把这些资源分为了七个不同的阶段,难度是依次递增,其实就是对应上面学习曲线图;

    本资源一共800G,永久保存,并且会持续更新,建议大家转发收藏,方便以后查找学习;
    在这里插入图片描述
    这是猪哥推荐的Python学习曲线,基本上是某马的视频教程,这个学习曲线适合零基础的同学:
    在这里插入图片描述

    四、获取方式

      1. 如果链接失效,在猪哥公众号:裸睡的猪中回复:学习曲线 即可获取新链接!

     

    转载于:https://www.cnblogs.com/xfyyxz/p/10471587.html

    展开全文
  • Python学习曲线图.png

    2020-07-30 23:31:30
    Python学习曲线图,是对python学习过程的总结和指导,该图有利于python新手对今后职业的规划,以及对行业的了解。
  • Python机器学习——学习曲线

    千次阅读 2018-09-27 14:01:07
    机器学习分为有监督学习和无监督的学习。 有监督学习:对数据的若干特征与若干标签之间的关联性进行建模的过程,确定模型后就能应用到新的未知数据中。进一步可以分为分类和回归任务。分类对应离散型数据,而回归...

    机器学习分为有监督学习和无监督的学习。

    有监督学习:对数据的若干特征与若干标签之间的关联性进行建模的过程,确定模型后就能应用到新的未知数据中。进一步可以分为分类和回归任务。分类对应离散型数据,而回归对应的是连续性数据。SVM、随机森林和神经网络属于有监督的学习。

    无监督学习:对不带任何标签的数据特征进行建模。包括聚类和降维,例如k-means算法等。

    其中半监督学习介于二者之间,适用于数据标签不完整的情况。

    Python机器学习主要调用模块为sklearn,里面有机器学习使用的各种模型算法以及评价指标。

    进行数据分析、建模的过程一般为:读取数据—抽取样本,生成测试集和检验集—调用模型—模型预测—采用模型评价指标,评价模型预测结果

    影响模型质量的两个因素为模型的复杂度以及训练集的规模。模型的学习曲线是指,训练集规模的训练得分/检验集的得分。

    特征:

    • 特定复杂度的模型对较小的数据集容易过拟合,此时训练集的得分较高,检验集的得分较低;
    • 特定复杂度的模型对较大的数据集容易欠拟合;随着数据的增大,训练集得分会不断降低,检验集评分会不断升高;
    • 模型的检验集得分永远不会高于训练集得分,两条曲线不断靠近,却不会交叉。

    本次实验选取多项式模型,通过模型的多项式来提高或减少模型的复杂度,观察学习曲线的变化趋势。

    (一)构造多项式回归模型,生成测试样本数据。

    代码:

    #构造多项式模型
    from sklearn.preprocessing import PolynomialFeatures #专门产生多项式的工具并且包含相互影响的特征集
    from sklearn.linear_model import LinearRegression #线性回归模型
    from sklearn.pipeline import make_pipeline #构造管道
    
    def PolynomialRegression(degree=2, **kwargs): #**kwargs 形参,返回值为字典类型
        return make_pipeline(PolynomialFeatures(degree),
                            LinearRegression(**kwargs))
    
    
    #形成样本数据
    
    import numpy as np
    
    def make_data(N, err=1.0, rseed=1):
        #随机抽样数据
        rng = np.random.RandomState(rseed)
        X = rng.rand(N, 1) ** 2
        y = 10 - 1./ (X.ravel() + 0.1)
        if err > 0:
            y += err * rng.randn(N)
        return X, y
    X, y = make_data(40)

    (二)绘制多项式函数图像

    绘制散点图,和几个多项式函数图像,观察多项式模型拟合效果。

    代码:

    %matplotlib inline
    import matplotlib.pyplot as plt
    import seaborn; seaborn.set() #设置图形样式
    
    X_test = np.linspace(-0.1, 1.1, 500)[:, None]
    
    plt.scatter(X.ravel(), y, color='black')
    axis = plt.axis()
    for degree in [1, 3, 5]:
        y_test = PolynomialRegression(degree).fit(X,y).predict(X_test)
        plt.plot(X_test.ravel(), y_test, label='degree={0}'.format(degree))
    plt.xlim(-0.1, 1.0)
    plt.ylim(-2, 12)
    plt.legend(loc='best');

    图形:

    就该图形显示,三项式函数和五项式函数的模型拟合结果较为可观,一元线性函数的模型拟合效果较差。

    (三)绘制学习曲线

    观察训练得分和测试得分随着项式的增加,即随着模型复杂度的增加,训练得分和检验得分的变化情况。

    代码:

    from sklearn.learning_curve import validation_curve
    
    degree = np.arange(0, 21)
    train_score,val_score = validation_curve(PolynomialRegression(), X, y,
                                            'polynomialfeatures__degree',
                                            degree, cv=7)
    plt.plot(degree, np.median(train_score, 1),color='blue', label='training score')
    plt.plot(degree, np.median(val_score, 1), color='red', label='validation score')
    plt.legend(loc='best')
    plt.ylim(0, 1)
    plt.xlabel('degree')
    plt.ylabel('score')

    图像:

     结果显示:随着模型复杂度的增加,训练得分(图中的蓝线部分)快速增加,达到饱和之后,增长幅度较低,趋于平缓;

    测试得分(图中红色曲线)先增加,到达某一值后由于过拟合导致得分减少;

    训练得分明显高于测试得分。该结果显示随着当模型复杂度到一定程度时,再增加模型的复杂度对模型的得分可能产生较小的影响或负影响,这个时候就会考虑更换模型。

    (四)增加样本数量,观察模型拟合效果

    在小数据的检验结果上得出,复杂度较高的模型,由于过拟合导致检验得分较低,所以测试,当增加样本数量时,学习曲线的变化情况。

    代码:

    X2, y2 = make_data(200) #生成200个数据样本
    plt.scatter(X2.ravel(), y2)
    
    #重新绘制学习曲线,并将小样本曲线添加上去
    
    degree = np.arange(21)
    train_score2, val_score2 = validation_curve(PolynomialRegression(), X2, y2,
                                               'polynomialfeatures__degree',
                                               degree, cv=7)
    
    plt.plot(degree, np.median(train_score2, 1), color='blue',
            label='train score')
    plt.plot(degree, np.median(val_score2, 1), color='red',
            label='validation score')
    plt.plot(degree, np.median(train_score, 1),color='blue', alpha=0.3,
            linestyle='dashed')
    plt.plot(degree, np.median(val_score, 1), color='red', alpha=0.3,
            linestyle='dashed')
    plt.legend(loc='lower center')
    plt.ylim(0, 1)
    plt.xlabel('degree')
    plt.ylabel('score')

    图像:

     其中虚线代表小数据集的学习曲线,实线代表大数据集的学习曲线。

    结论:大规模数据集的检验得分和测试得分的变化趋势一致,过拟合情况也不是很明显,说明大数据集适合用复杂程度较高的模型。

    展开全文
  • # -*- coding: utf-8 -*- ''' Created on 2018年1月18日 ...学习曲线Learning Curve:评估样本量和指标的关系 验证曲线validation Curve:评估参数和指标的关系 ''' import pandas as pd from sklearn.preprocessing
    # -*- coding: utf-8 -*-
    '''
    Created on 2018年1月18日
    @author: Jason.F
    @summary: 判别过拟合和欠拟合
    学习曲线Learning Curve:评估样本量和指标的关系
    验证曲线validation Curve:评估参数和指标的关系
    '''
    import pandas as pd
    from sklearn.preprocessing import LabelEncoder
    from sklearn.cross_validation import train_test_split
    from sklearn.preprocessing import StandardScaler
    from sklearn.linear_model import LogisticRegression
    from sklearn.pipeline import Pipeline
    import matplotlib.pyplot as plt
    from sklearn.learning_curve import learning_curve
    import numpy as np
    from sklearn.learning_curve import validation_curve
    #导入数据
    df = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/wdbc.data',header=None)
    X=df.loc[:,2:].values
    y=df.loc[:,1].values
    le=LabelEncoder()
    y=le.fit_transform(y)#类标整数化
    print (le.transform(['M','B']))
    #划分训练集合测试集
    X_train,X_test,y_train,y_test = train_test_split (X,y,test_size=0.20,random_state=1)
    #标准化、模型训练串联
    pipe_lr=Pipeline([('scl',StandardScaler()),('clf',LogisticRegression(random_state=1,penalty='l2'))])
    
    #case1:学习曲线
    #构建学习曲线评估器,train_sizes:控制用于生成学习曲线的样本的绝对或相对数量
    train_sizes,train_scores,test_scores=learning_curve(estimator=pipe_lr,X=X_train,y=y_train,train_sizes=np.linspace(0.1,1.0,10),cv=10,n_jobs=1)
    #统计结果
    train_mean= np.mean(train_scores,axis=1)
    train_std = np.std(train_scores,axis=1)
    test_mean =np.mean(test_scores,axis=1)
    test_std=np.std(test_scores,axis=1)
    #绘制效果
    plt.plot(train_sizes,train_mean,color='blue',marker='o',markersize=5,label='training accuracy')
    plt.fill_between(train_sizes,train_mean+train_std,train_mean-train_std,alpha=0.15,color='blue')
    plt.plot(train_sizes,test_mean,color='green',linestyle='--',marker='s',markersize=5,label='test accuracy')
    plt.fill_between(train_sizes,test_mean+test_std,test_mean-test_std,alpha=0.15,color='green')
    plt.grid()
    plt.xlabel('Number of training samples')
    plt.ylabel('Accuracy')
    plt.legend(loc='lower right')
    plt.ylim([0.8,1.0])
    plt.show()
    
    #case2:验证曲线
    param_range=[0.001,0.01,0.1,1.0,10.0,100.0]
    #10折,验证正则化参数C
    train_scores,test_scores =validation_curve(estimator=pipe_lr,X=X_train,y=y_train,param_name='clf__C',param_range=param_range,cv=10)
    #统计结果
    train_mean= np.mean(train_scores,axis=1)
    train_std = np.std(train_scores,axis=1)
    test_mean =np.mean(test_scores,axis=1)
    test_std=np.std(test_scores,axis=1)
    plt.plot(param_range,train_mean,color='blue',marker='o',markersize=5,label='training accuracy')
    plt.fill_between(param_range,train_mean+train_std,train_mean-train_std,alpha=0.15,color='blue')
    plt.plot(param_range,test_mean,color='green',linestyle='--',marker='s',markersize=5,label='test accuracy')
    plt.fill_between(param_range,test_mean+test_std,test_mean-test_std,alpha=0.15,color='green')
    plt.grid()
    plt.xscale('log')
    plt.xlabel('Parameter C')
    plt.ylabel('Accuracy')
    plt.legend(loc='lower right')
    plt.ylim([0.8,1.0])
    plt.show()

    结果:


    展开全文
  • 1.导包: from sklearn.model_selection import learning_curve 函数的调用格式: learning_curve(estimator, X, y, train_sizes=array([ 0.1 , 0.325, 0.55 , 0.775, 1. ]), cv=None, scoring=None, exploit_...

    1.定义:
    我们可以把{J}{train}(\theta)和{J}{cv}(\theta)作为纵坐标,画出与训练数据集m的大小关系,这就是学习曲线。通过学习曲线,可以直观地观察到模型的准确性与训练数据集大小的关系。
    2.函数的调用格式:

    from sklearn.model_selection import learning_curve
    learning_curve(estimator, X, y, train_sizes=array([ 0.1 , 0.325, 0.55 , 0.775, 1. ]), cv=None, scoring=None, exploit_incremental_learning=False, n_jobs=1, pre_dispatch='all', verbose=0)
    

    3.函数的作用:对于不同大小的训练集,确定交叉验证训练和测试的分数。一个交叉验证发生器将整个数据集分割k次,分割成训练集和测试集。不同大小的训练集的子集将会被用来训练评估器并且对于每一个大小的训练子集都会产生一个分数,然后测试集的分数也会计算。然后,对于每一个训练子集,运行k次之后的所有这些分数将会被平均。
    4.参数详解
    estimator:所使用的分类器

    X官方解释:array-like, shape (n_samples, n_features)
    训练向量,n_samples是样本的数量,n_features是特征的数量

    y官方解释:array-like, shape (n_samples) or (n_samples, n_features), optional
    目标相对于X分类或者回归

    train_sizes:官方解释:array-like, shape (n_ticks,), dtype float or int
    训练样本的相对的或绝对的数字,这些量的样本将会生成learning curve。如果dtype是float,他将会被视为最大数量训练集的一部分(这个由所选择的验证方法所决定)。否则,他将会被视为训练集的绝对尺寸。要注意的是,对于分类而言,样本的大小必须要充分大,达到对于每一个分类都至少包含一个样本的情况。

    cv:官方解释:int, cross-validation generator or an iterable, optional
    确定交叉验证的分离策略
    –None,使用默认的3-fold cross-validation,
    –integer,确定是几折交叉验证
    –一个作为交叉验证生成器的对象
    –一个被应用于训练/测试分离的迭代器

    n_jobs : 整数,可选并行运行的作业数(默认值为1)。windows开多线程需要在"name"==__main__中运行。

    **verbose 😗*官方解释: integer, optional
    控制冗余:越高,有越多的信息

    返回值:

    train_sizes_abs: 官方解释:array, shape = (n_unique_ticks,), dtype int

    用于生成learning curve的训练集的样本数。由于重复的输入将会被删除,所以ticks可能会少于n_ticks.

    **train_scores 😗*官方解释: array, shape (n_ticks, n_cv_folds)

    在训练集上的分数

    test_scores : 官方解释:array, shape (n_ticks, n_cv_folds)

    在测试集上的分数

    展开全文
  • 机器学习 学习曲线 Python实现学习曲线及案例解析 学习曲线 如果数据集的大小为 mmm,则通过下面的流程即可画出学习曲线: 把数据集分成训练数据集和交叉验证数据集。 取训练数据集的 20%20\%20% 作为训练样本,训练...
  • Python学习曲线

    2020-06-12 16:28:42
    经历长达近一个月的资源筛选过程终于结束,总共1.5T百度网盘的资源经过:去重、筛选、整理、归档之后一份粗略的Python学习曲线资源已经成型,虽然中间经历了很多坎坷,不过最终还是完成。猪...
  • Python学习路线

    万次阅读 多人点赞 2020-02-19 17:29:05
    经历长达近一个月的资源筛选过程终于结束,总共1.5T的资源经过:去重、筛选、整理、归档之后一份粗略的Python学习曲线资源已经成型,虽然中间经历了很多坎坷,不过最终还是完成,猪哥也是第一时间与大家分享出来。...
  • 作图篇:python密度图(Density Plot)

    万次阅读 2019-04-03 11:57:46
    在概率论与统计学习方法中,可视化概率密度就变得非常重要了。这种密度图正是可视化连续型随机变量分布的利器,分布曲线上的每一个点都是概率密度,分布曲线下的每一段面积都是特定情况的概率。如下所示,通过将它们...
  • python画蝴蝶曲线

    千次阅读 2018-11-19 15:01:15
    蝴蝶曲线是由Temple H·Fay发现的可用极坐标函数表示的蝴蝶曲线。 由于此曲线优美,因此就想把它作为博客favicon.ico,这里我使用pytho matplotlib.pyplot包来绘制需要的蝴蝶曲线图。 先看下漂亮的蝴蝶曲线吧。 #1...
  • Python绘制ROC曲线

    万次阅读 多人点赞 2019-03-26 16:35:34
    在分类模型中,ROC曲线和AUC值经常作为衡量一个模型拟合程度的指标。最近在建模过程中需要作出模型的ROC曲线,参考了sklearn官网的教程和博客。现在将自己的学习过程总结如下,希望对初次接触的同学有所帮助。PS:...
  • PythonOCC入门进阶到实战

    千次阅读 2020-04-05 14:48:15
    各位看客能搜到本篇教程,想必是奔着软件开发来的,使用python开发一款特定功能的cad/cae软件,如果你有什么不懂,可以随时联系我:QQ1185753125 我也不再废话,希望借助此教程实现 界面层开发(实现显示区...
  • python学习——绘制loss、acc学习曲线

    千次阅读 2019-07-28 21:03:25
    两种方式 1.直接画 # model.fit返回acc和loss的日志 hist=model.fit(train_data, train_label, batch_size=64, epochs=2, validation_split=0.2, shuffle=True) ...# verbose = 0 为不在标...
  • python绘制函数曲线

    万次阅读 2019-09-15 23:36:56
    相对来说,python完全免费,只需要安装一个解释器,并且有很多科学计算库可以调用,所以后来就一直使用python来画曲线,记录下最近画的几条曲线。 环境:mac、pycharm、anaconda 1.sigmoid曲线 sigmoid曲线公式如下...
  • 在实习的时候碰到了很多CDF(累积分布函数)图像,想自己绘制一下CDF但发现Excel好像没有绘制曲线图的功能,所以正好学习一下Python图标绘制库Matplotlib的使用。有关CDF的定义可以参考维基百科词条【Cumulative ...
  • python曲线拟合

    千次阅读 2018-05-26 19:20:34
    转:http://blog.sina.com.cn/s/blog_aed5bd1d0102vid7.html做完插值,自然就要学习拟合了。参考http://wiki.klniu.com/wiki/Python/Modules/Scipy。1.多项式拟合范例:import matplotlib.pyplot as pltimport numpy...
  • Python3绘制P-R曲线(二分类)

    千次阅读 2019-02-17 23:00:29
    Python3绘制P-R曲线(二分类)
  • 如何通过python画loss曲线

    万次阅读 2019-01-23 15:14:39
    如何通过python画loss,PSNR, SSIM曲线 首先导入一些python画图的包,读取txt文件,假设我现在有两个模型训练结果的records.txt文件 import numpy as np import matplotlib.pyplot as plt import pylab as ...
  • Python绘制各种优美简单曲线

    千次阅读 2019-03-21 16:16:43
    matplotlib是著名的Python绘图库,它提供了一整套绘图API,十分适合交互式绘图。,解决数据分析和可视化问题...Python学习交流群:984632579满足你的需求,资料都已经上传群文件,可以自行下载! ''' import numpy a...
  • 我在刚开始学习OpenGL绘图时,就没有搞明白曲线是如何绘制出来的。 所幸的是OpenGL封装的好,且绝大多数时候需要提供离散的几何数据。但是,我还是一直很想搞明白,从函数到曲线的离散数据,再到OpenGL程序中曲线的...
1 2 3 4 5 ... 20
收藏数 35,342
精华内容 14,136
关键字:

python学习曲线