今天看機器學習實戰的程式2-3,發現了minvals=dataset.min(0); 以及maxvals=dataset.max(0)這兩行**。於是自己寫了乙個矩陣想來試試這兩句**的具體作用,可是最後報錯了。
上網一查,不但發現了這兩句**的作用,也發現了自己寫的**的問題。
首先,minvals=dataset.min(0); 的作用是:對於dataset這個矩陣返回每一列的最小值,可想而知,返回的應該是乙個一維的列表。同時不難想到,maxvals=dataset.min(0);返回的就是每一列當中最大的數值所構成的移位列表。
其次,我所寫的**的問題出在:min(0)這個函式是numpy 下陣列的函式。而我當時寫的是二維列表,而不是numpy下的陣列,所以出了問題。
再次,我通過查閱資料得出了兩種改正方法:
(1)這是採用了numpy的陣列,並且直接對其初始化後呼叫min(0),ok!
(2)第二種方法就是利用(zeros)函式建乙個空的矩陣,然後逐行賦值(不可以直接用二維列表對arr賦值,那樣的話arr就還是二維列表,依舊不能夠呼叫min),最後呼叫以下min,ok!
主要是機器學習實戰的作者呼叫了
from numpy import *
使得初學者有事想當然得用一些函式和方法,比如(np.zeros).
跟著《機器學習實戰》初學機器學習和python,不懂的還很多,寫點東西記錄一下學習的所得。
關於陣列的體會
陣列屬於引用型別 int agearray 存放相同資料型別的資料 可以有資料轉型轉化 相同資料型別意思是陣列在記憶體中的形式相同 特點是1 資料型別相同 2 有順序 宣告陣列 string age 陣列宣告沒有空間,例項化後才有空間 int age new string 3 在記憶體中生成棧和堆 ...
numpy陣列的建立
建立陣列最簡單的方法就是使用array函式。它接收一切序列型的物件 包括其他陣列 然後產生乙個新的含有傳入資料的numpy陣列。array函式建立陣列import numpy as np ndarray1 np.array 1,2,3,4 ndarray2 np.array list abcdefg...
numpy陣列的索引
numpy陣列的索引 個人學習筆記,分享給大家!一 索引的作用 獲取 修改陣列單個元素的值 二 獲取單個元素的值 1,在一維陣列中 import numpy as np x np.array 5,3,6,9,8 x 0 索引為非負值,獲取第i個值,從0開始計數 out 8 5 x 1 索引為負值,從...