美文网首页我爱编程机器学习
机器学习之numpy和matplotlib学习(一)

机器学习之numpy和matplotlib学习(一)

作者: SundayCoder | 来源:发表于2017-06-30 21:47 被阅读0次

    整个教程有参考网上其他一些大牛的看法,总体的教学应该是从numpy和matplotlib开始教学,然后最后进入SK-learn学习,整个课程的代码之后会推送到github上面去。对于教程,采用代码注释的方式,有不知道和有错的问题的话可以在下面评论,我尽量保证每天一更,勿喷!


    你没有学过Numpy?没关系

    你没有学过matplotlib?没关系##

    一起学习机器学习系列##

    今天先来学一个Numpy产生等差数列的一个函数。

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Author  : SundayCoder-俊勇
    # @File    : linspacelearn.py
    import numpy as np
    
    # np.linspace函数的解释:
    # np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
    # 参数解释:
    # start,stop是开始,结束的数字;
    # num是生成多少个数字,默认50个;
    # endpoint是最后一个stop数字是否包含进去,默认包含;
    # retstep,是两个数字间的间距,默认不显示;
    # dtype默认。
    # np.linspace(start,end,num), 产生一等差数组,一共产生num个数,
    # 等差系数d=(end-start)/(num-1)
    # 真正的代码就只有下面一行。
    x=np.linspace(0,1,10)
    #打印一下X
    print  x
    
    
    这里写图片描述

    结果中的等差d你有没有自己验证是不是对的?
    这里最后一个点1.0包含进去了是因为endpoint这个参数是默认包含。
    试一下不默认包含。
    只需要把上面代码x=np.linspace(0,1,10)变成下面的代码

    x=np.linspace(0,1,10,endpoint=False)
    

    此时在打印一下X。结果如下:


    这里写图片描述

    这时候不一样X不一样了。
    对比两次的结果,发现参数的数的个数都是10个,第一个等差数列包含1.0,第二个没有。同时两个等差数列都不相同了。

    第一个等差系数d=(end-start)/(num-1)
    第二个等差系数d=(end-start)/(num)
    因为这里去掉和不包含末尾的那个数,所以不用减一,否则减一

    再来看看 retstep,是两个数字间的间距,默认不显示;
    只需要把上面代码x=np.linspace(0,1,10,endpoint=False)变成下面的代码

    x=np.linspace(0,1,10,endpoint=False,retstep=True)
    

    再来打印X


    这里写图片描述

    这里打印的除了这个数组,还帮你把等差系数d给打印出来了。
    所以retstep这个参数其实就是要不要显示等差系数d的值而已。

    更新完毕

    相关文章

      网友评论

        本文标题: 机器学习之numpy和matplotlib学习(一)

        本文链接:https://www.haomeiwen.com/subject/vtgicxtx.html