np.squeeze()
張量是矩陣向任意維度的推廣(張量的維度通常叫軸)
僅含乙個數字的張量叫標量(0d張量)
# 0d
x = np.array(12)
print(x)
print(x.ndim)
# 1d
x = np.array([12, 3, 6, 14, 7])
print(x)
print(x.ndim)
# 2d
x = np.array([[1, 2, 3, 4, 5],
[4, 5, 6, 7, 8]])
print(x)
print(x.ndim)
# 3d
x = np.array([[[1, 2, 3],
[4, 5, 6],
[7, 8, 9]],
[[1, 2, 3],
[4, 5, 6],
[7, 8, 9]],
[[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]])
print(x)
print(x.ndim)
形狀是乙個整數元組
例如:
# 2d
x = np.array([[1, 2, 3, 4, 5],
[4, 5, 6, 7, 8]])
print(x)
print(x.shape)
輸出是(2, 5)
資料型別可以是float32, unit8, float64
例如b維度:(3,3),c維度(3,1)
b*c維度(3,3)運用到了廣播機制(將c複製兩列然後逐元素相乘)
例:
import numpy as np
b = np.array([[1, 1, 1],
[2, 2, 2],
[3, 3, 3]])
c = np.array([[1],
[2],
[3]])
# 逐元素相乘
生成五個隨機高斯變數
表示e的z次方
np.insert(x, 0, values=1,axis=1)
axis = 0: 表示豎直
axis = 1:表示水平
0:表示插入的索引值
value:插入的值
最終在每一行第乙個位置插入1
axis = 1 (行)
np.argmax(a, axis=1):
返回行最大值的索引
例如:
import numpy as np
1.可以用來**準確率:
可計算**值與實際值相等所佔比例
例如;
import numpy as np
y = np.array([1, 0, 0, 1, 1])
y1 = np.array([1, 0, 1, 0, 0])
acc = np.mean(y==y1)
print(acc)
可用於計算m個點分別到k個點距離
例:(1,1)(3,4)(5,12)分別到(0,0)(1,1)(2,2)距離
import numpy as np
li= np.array([[1, 1],
[3, 4],
[5, 12]])
centro = np.array([[0, 0],
[1, 1],
[2, 2]])
for i in range(len(li)):
distance = np.linalg.norm((li[i]-centro), axis=1)
print(distance)
可以將矩陣轉化為列表
例:
import numpy as np
numpy 張量拉平與恢復
numpy 中的高維陣列可以使用其自帶的flatten函式轉化成 1 維陣列。在優化問題的梯度下降求解過程中,把高維的梯度變成 1 維陣列是很重要的,方便求自適應步長。把張量拉平容易,怎麼把它復原到原來的維度呢?這自然想到把原本的張量維度儲存下來,下面介紹這個小技巧 from functools i...
機器學習之numpy入門
numpy建立陣列方式 coding utf 8import random import numpy as np array方式傳入資料 t1 np.array range 0 12 print t1 print t1.dtype print type t1 np.arange方式 t2 np.ar...
《Python之機器學習(NumPy)》
單行注釋 多行注釋 多行注釋 多行注釋 a.ndim 輸出陣列的維數 a.shape 輸出陣列的形式 幾行,幾列 copy 複製陣列 a 2 陣列中每個元素乘以2 1,2 2 陣列將變成4個 a 2 a的平方 1,2 2 unsuported operand type 陣列訪問。修建異常值。處理不存...