機器學習進度(六) 主成分分析

2022-06-19 14:45:14 字數 3668 閱讀 3204

對於資訊一詞,在決策樹中會進行介紹

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

假設對於給定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]]

from sklearn.decomposition import

pcadef

pca_demo():

"""對資料進行pca降維

:return: none

"""data = [[2,8,4,5], [6,3,0,8], [5,4,9,1]]

#1、例項化pca, 小數——保留多少資訊

transfer = pca(n_components=0.9)

#2、呼叫fit_transform

data1 =transfer.fit_transform(data)

print("

保留90%的資訊,降維結果為:\n

", data1)

#1、例項化pca, 整數——指定降維到的維數

transfer2 = pca(n_components=3)

#2、呼叫fit_transform

data2 =transfer2.fit_transform(data)

print("

降維到3維的結果:\n

", data2)

return none

返回結果:

保留90%的資訊,降維結果為:

[[ -3.13587302e-16 3.82970843e+00]

[ -5.74456265e+00 -1.91485422e+00]

[ 5.74456265e+00 -1.91485422e+00]]

降維到3維的結果:

資料如下:

products.csv:商品資訊

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

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

1、獲取資料集

#·商品資訊- products.csv:

#fields:product_id, product_name, aisle_id, department_id

#·訂單與商品資訊- order_products__prior.csv:

#fields:order_id, product_id, add_to_cart_order, reordered

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

#fields:order_id, user_id,eval_set, order_number,order_dow, order_hour_of_day, days_since_prior_order

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

#fields:aisle_id, aisle

products = pd.read_csv("

./instacart/products.csv")

order_products = pd.read_csv("

./instacart/order_products__prior.csv")

orders = pd.read_csv("

./instacart/orders.csv")

aisles = pd.read_csv("

./instacart/aisles.csv")

#2、合併表,將user_id和aisle放在一張表上

#1)合併orders和order_products on=order_id tab1:order_id, product_id, user_id

tab1 = pd.merge(orders, order_products, on=["

order_id

", "

order_id"])

#2)合併tab1和products on=product_id tab2:aisle_id

tab2 = pd.merge(tab1, products, on=["

product_id

", "

product_id"])

#3)合併tab2和aisles on=aisle_id tab3:user_id, aisle

tab3 = pd.merge(tab2, aisles, on=["

aisle_id

", "

aisle_id"])

#3、交叉表處理,把user_id和aisle進行分組

table = pd.crosstab(tab3["

user_id

"], tab3["

aisle"])

#4、主成分分析的方法進行降維

#1)例項化乙個轉換器類pca

transfer = pca(n_components=0.95)

#2)fit_transform

data =transfer.fit_transform(table)

data.shape

返回結果:

(206209, 44)

機器學習 主成分分析

那麼更好的理解這個過程呢?我們來看一張圖 假設對於給定5個點,資料如下 要求 將這個二維的資料簡化成一維?並且損失少量的資訊 這個過程如何計算的呢?找到乙個合適的直線,通過乙個矩陣運算得出主成分分析的結果 不需要理解 pca.fit transform x x numpy array格式的資料 n ...

機器學習筆記 主成分分析

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

機器學習筆記 主成分分析

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