機器學習之numpy和matplotlib學習(一)

整個教程有參考網上其他一些大牛的看法,總體的教學應該是從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的值而已。

更新完畢

發佈了47 篇原創文章 · 獲贊 26 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章