對於資訊一詞,在決策樹中會進行介紹那麼更好的理解這個過程呢?我們來看一張圖
假設對於給定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舉乙個自然點的例子,有無線電...