機器學習 主成分分析

2021-09-13 15:38:55 字數 1936 閱讀 6700

那麼更好的理解這個過程呢?我們來看一張圖

假設對於給定5個點,資料如下

要求:將這個二維的資料簡化成一維? 並且損失少量的資訊

這個過程如何計算的呢?找到乙個合適的直線,通過乙個矩陣運算得出主成分分析的結果(不需要理解)

pca.fit_transform(x) x:numpy array格式的資料[n_samples,n_features]

返回值:轉換後指定維度的array

先拿個簡單的資料計算一下

[[2,8,4,5],

[6,3,0,8],

[5,4,9,1]]

def pca():

"""主成分分析進行降維

:return:

"""# 資訊保留70%

pca = pca(n_components=0.7)

data = pca.fit_transform([[2,8,4,5],[6,3,0,8],[5,4,9,1]])

print(data)

return none

資料如下:

products.csv:商品資訊

orders.csv:使用者的訂單資訊

aisles.csv:商品所屬具體物品類別

# 去讀四張表的資料

prior = pd.read_csv("./data/instacart/order_products__prior.csv")

products = pd.read_csv("./data/instacart/products.csv")

orders = pd.read_csv("./data/instacart/orders.csv")

aisles = pd.read_csv("./data/instacart/aisles.csv")

# 合併四張表

mt = pd.merge(prior, products, on=['product_id', 'product_id'])

mt1 = pd.merge(mt, orders, on=['order_id', 'order_id'])

mt2 = pd.merge(mt1, aisles, on=['aisle_id', 'aisle_id'])

# pd.crosstab 統計使用者與物品之間的次數關係(統計次數)

cross = pd.crosstab(mt2['user_id'], mt2['aisle'])

# pca進行主成分分析

pc = pca(n_components=0.95)

data = pc.fit_transform(cross)

機器學習筆記 主成分分析

在介紹因子分析時,我們把資料 x rn 建模在 k 維子空間上,k 本文介紹主成分分析方法,即 pca,嘗試找出資料依賴的子空間。但 pca 會做得更直接,只需要用到向量計算,不需要使用 em。設有 m 種不同汽車的屬性資料 如最大速度 轉彎半徑等,其中 x i rn n舉乙個自然點的例子,有無線電...

機器學習筆記 主成分分析

在介紹因子分析時,我們把資料 x rn 建模在 k 維子空間上,k 本文介紹主成分分析方法,即 pca,嘗試找出資料依賴的子空間。但 pca 會做得更直接,只需要用到向量計算,不需要使用 em。設有 m 種不同汽車的屬性資料 如最大速度 轉彎半徑等,其中 x i rn n舉乙個自然點的例子,有無線電...

機器學習 主成分分析(PCA)

主成分分析是一種統計方法,通過正交變換將一組可能存在相關性的變數轉換成一組線性不相關的變數,轉換後的這組變數叫主成分。sklearn.decomposition.pca pca pca n components 1 newdata pca.fit transform data n component...