校園實習 機器學習 Day2

2021-10-21 14:14:48 字數 3672 閱讀 4161

資料型別轉換

向量計算

索引與切片

是在計算機中向量化的陣列

import numpy as np
array1d = np.array([1

,2,3

,4,5

])print

(array1d)

#結果1

array2d = np.array([[

1,2,

3,4]

,[5,6,7,8]]

)print

(array2d)

#結果2

print

(array2d.shape)

print

(array2d.

type

)#結果3

在numpy中陣列內的元素大小與型別必須一致,[[1,2,3,4],[5,6,7]]與[[1,2,3,4],[5,6,7,「e」]]都是錯誤寫法

結果1:結果2:

結果3:

print

(np.zeros(shape=(2

,4))

)#輸出全為0的2*4矩陣

print

(np.ones(shape=(2

,4))

)#輸出全為1的2*4矩陣

print

(np.identity(3)

)#輸出三維單位矩陣

print

(np.diag([1

,2,4

,5])

)#輸出對角線是1,2,4,5的4*4對角矩陣

print

(np.sign(array1d)

)#獲取array1d的各個資料的符號

print

(np.ones_like(array2d)

)#生成與array2d同等規格的全1陣列

#結果4

結果4:

#與range生成器有相似功能

array1d1 = np.arange(1,

21,1)

#不包含上界,生成一維陣列

print

(array1d1)

array2d1 = array1d1.reshape(4,

5)#生成二維陣列

print

(array2d1)

array3d1 = array1d1.reshape(2,

2,5)

#生成三維陣列

print

(array3d1)

#結果5

結果5:

)#將array1d陣列資料型別int轉換成float

兩陣列對應下標元素進行相應的運算

array1d3=np.arange(1,

5)print

(array1d3)

#結果[1,2,3,4]

print

(array1d3+1)

#結果:[2,3,4,5]

print

(array1d3+array1d3)

#結果[2,4,6,8]

'''上式等價形式:

for row1,row2 in zip(array1d3,array1d3):

for x,y in zip(row1,row2):

z=x+y

pass

'''print

(array1d3-1)

#結果[0,1,2,3]

print

(array1d3-array1d3)

#結果[0,0,0,0]

print

(array1d3*2)

#結果[2,4,6,8]

print

(array1d3*array1d3)

#結果[1,4,9,16]

多維陣列切片索引用","區分各維度

使用copy新增陣列副本,對副本修改不影響原陣列

如下文的:arr = array1d1[0:4].copy()

array1d1 = np.arange(1,

11,1)

print

("切片"

)print

(array1d1)

#輸出[1,2,3,4,5,6,7,8,9,10]

#索引print

(array1d1[1]

)#輸出2

print

(array1d1[5:

])#輸出[6,7,8,9,10]

array1d1[5:

]=10#批量賦值

print

(array1d1)

#輸出[1,2,3,4,5,10,10,10,10,10]

array1d1[:]

=0#array1d1=0不行

print

(array1d1)

#輸出[0,0,0,0,0,0,0,0,0,0]

#得到切片副本:不會影響到原陣列

arr = array1d1[0:

4].copy(

)arr[:]

=1print

(array1d1)

#輸出[0,0,0,0,0,0,0,0,0,0]

print

(arr)

#輸出[1,1,1,1,1,1,1,1,1,1]

#二維陣列索引、切片

array2d3 = np.array([[

1,2,

3,4,

5],[

6,7,

8,9,

10]])

print

(array2d3)

#輸出print

(array2d3[1,

0:2]

)#輸出[6,7]

print

(array2d3[0:

,2:]

)#array2d3[一維切片,二維切片],三維同樣

#輸出[3,4,5]

# [8,9,10]

機器學習 day2

歸一化 將所有資料轉化到同一標準下,使的某乙個特徵對最終結果不會造成更大的影響。通過對原始資料進行變換把資料對映到 預設為 0,1 之間 問題 如果資料中異常點過多,會有什麼影響?最大值最小值會受影響。方差考量資料的穩定性。標準化 將所有資料進行變換到平均值為0,標準差為1之間。standardsc...

機器學習Day2

英文原鏈結源鏈結 假設 x和y是線性相關的 則需要找到乙個關於x的線性函式來盡可能準確的 y。y a0 a1x1 怎樣找到最合適的回歸線?通過最小化 值和觀測值的均方差 導入庫 匯入資料集 檢查缺失資料 分離訓練集和測試集 特徵縮放 從sklearn.linear model中匯入linearreg...

機器學習基礎DAY2

1.定義 通過特定的統計方法 數學方法 將資料轉換成演算法要求的資料 2.數值型資料 標準縮放 1 歸一化 2 標準化 3 缺失值 類別型資料 one hot編碼 時間型別 時間的切分 1 歸一化 特點 通過對原始資料進行變換把資料對映到 預設為 0,1 之間 注 作用於每一列,max為一列的最大值...