機(jī)器學(xué)習(xí)之numpy和matplotlib學(xué)習(xí)(一)

整個(gè)教程有參考網(wǎng)上其他一些大牛的看法,總體的教學(xué)應(yīng)該是從numpy和matplotlib開始教學(xué),然后最后進(jìn)入SK-learn學(xué)習(xí),整個(gè)課程的代碼之后會推送到github上面去。對于教程,采用代碼注釋的方式,有不知道和有錯(cuò)的問題的話可以在下面評論,我盡量保證每天一更,勿噴!


你沒有學(xué)過Numpy?沒關(guān)系

你沒有學(xué)過matplotlib?沒關(guān)系##

一起學(xué)習(xí)機(jī)器學(xué)習(xí)系列##

今天先來學(xué)一個(gè)Numpy產(chǎn)生等差數(shù)列的一個(gè)函數(shù)。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : SundayCoder-俊勇
# @File    : linspacelearn.py
import numpy as np

# np.linspace函數(shù)的解釋:
# np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
# 參數(shù)解釋:
# start,stop是開始,結(jié)束的數(shù)字;
# num是生成多少個(gè)數(shù)字,默認(rèn)50個(gè);
# endpoint是最后一個(gè)stop數(shù)字是否包含進(jìn)去,默認(rèn)包含;
# retstep,是兩個(gè)數(shù)字間的間距,默認(rèn)不顯示;
# dtype默認(rèn)。
# np.linspace(start,end,num), 產(chǎn)生一等差數(shù)組,一共產(chǎn)生num個(gè)數(shù),
# 等差系數(shù)d=(end-start)/(num-1)
# 真正的代碼就只有下面一行。
x=np.linspace(0,1,10)
#打印一下X
print  x

這里寫圖片描述

結(jié)果中的等差d你有沒有自己驗(yàn)證是不是對的?
這里最后一個(gè)點(diǎn)1.0包含進(jìn)去了是因?yàn)閑ndpoint這個(gè)參數(shù)是默認(rèn)包含。
試一下不默認(rèn)包含。
只需要把上面代碼x=np.linspace(0,1,10)變成下面的代碼

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

此時(shí)在打印一下X。結(jié)果如下:


這里寫圖片描述

這時(shí)候不一樣X不一樣了。
對比兩次的結(jié)果,發(fā)現(xiàn)參數(shù)的數(shù)的個(gè)數(shù)都是10個(gè),第一個(gè)等差數(shù)列包含1.0,第二個(gè)沒有。同時(shí)兩個(gè)等差數(shù)列都不相同了。

第一個(gè)等差系數(shù)d=(end-start)/(num-1)
第二個(gè)等差系數(shù)d=(end-start)/(num)
因?yàn)檫@里去掉和不包含末尾的那個(gè)數(shù),所以不用減一,否則減一

再來看看 retstep,是兩個(gè)數(shù)字間的間距,默認(rèn)不顯示;
只需要把上面代碼x=np.linspace(0,1,10,endpoint=False)變成下面的代碼

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

再來打印X


這里寫圖片描述

這里打印的除了這個(gè)數(shù)組,還幫你把等差系數(shù)d給打印出來了。
所以retstep這個(gè)參數(shù)其實(shí)就是要不要顯示等差系數(shù)d的值而已。

更新完畢

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容