機器學習基礎工具 Numpy / Pandas / Matplotlib總結
機器學習基礎numpy,pandas,matplotlib總結
numpy
import numpy as np
建立陣列的型別的優先順序 str>float>int
指定陣列的型別:dtype,其中,np.int8,np.int16 等表示佔的記憶體的大小
儲存的資料型別: order
建立陣列
建立 ndarray 物件: np.array()
可以傳入一個列表建立
建立樣本,等分樣本空間:np.linspace(start, stop, pieces)
建立樣本,等分,將值作為10的指數: np.logspace(start, stop, pieces)
建立樣本,按步長建立:np.arrange(start, stop, step)
建立一個ndarray物件,隨機整數填充:np.random.randint(1, 10, size=(2,3), dtype=np.int8)
以 0 為中心的正態分佈的隨機值填充:np.random.randn(d1.d2,d3)
其中,d1,d2,d3 表示裡面每個維度的數量
以0-1的隨機數填充:np.random.random(size=(2,3))
建立自定義正態分佈值填充的陣列:np.random.normal(loc=10,scale=1,size=100)
建立中心為10,方差為1的值填充,100個樣本
建立矩陣
建立全部為1填充的矩陣:np.ones(shape=(10,8), dtype=np.int8)
0 填充:np.zeros((4,4))
自定義填充: np.full((10,10), fill_value=100)
建立單位矩陣:np.eye(10)
, 建立的為滿秩矩陣
操作
級聯: np.concatenate()
-
引數必須是列表 一定要加中括號或小括號
-
維度必須相同
-
形狀必須相同
-
級聯的方向預設是 shape 這個 tuple 的第一個值所代表的維度方向
-
可通過 axis 引數改變級聯的方向
r_ 和 c_
# 將資料組合成點的形式 a = [1, 2, 3] b = [4, 5, 6] np.c_[a, b] # 結果 #array([[1, 4], # [2, 5], # [3, 6]]) np.r_[a, b] # 結果 # array([1, 2, 3, 4, 5, 6])
pandas
pandas的兩個主要資料結構Series(一維)和DataFrame(二維)處理了金融、統計、社會中的絕大多數資料科學,以及許多工程領域。主要介紹DataFrame的相關操作
matplotlib
強大的繪圖功能
直方圖 hist
hist , plt.hist(x)
, 表示的是出現的次數, 統計的結果, 表示的是概率
檢視資料的分佈情況
-
orientation 建立水平方向 的直方圖
密度圖 kde
一般和直方圖,一起,表達資料的分佈趨勢
-
設定 直方圖的
density=True
, 兩個圖同時顯示
條形圖 bar
plt.bar(x)
plt.barh(x)
餅圖 pie
表示各個部分佔的比例 plt.pie()
-
labeldistance
-
pctdistance
-
startangle
-
colors
散點圖 scatter
顯示資料的關係
x = np.random.randn(1000)
y = np.random.randn(1000)
color = np.random.random(3000).reshape(1000, 3)
size = np.random.randint(1, 200, 1000)
plt.scatter(x, y, color=color, s=size, marker='*')