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

来源:互联网 发布:淘宝网中老年女装棉衣 编辑:程序博客网 时间:2024/06/07 18:19

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


你没有学过Numpy?没关系

你没有学过matplotlib?没关系

一起学习机器学习系列

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

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Author  : SundayCoder-俊勇# @File    : linspacelearn.pyimport 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)#打印一下Xprint  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的值而已。

更新完毕

阅读全文
0 0
原创粉丝点击