​【机器学习入门笔记】第四篇-PCA降维

案例:探究用户对物品类别的喜好细节
用户             物品类别
user_id          aisle

步骤:
1)需要将user_id和aisle放在同一表中--合并
2)找到user_id和aisle --交叉和透视表
3)特征冗余过多 -- PCA降维

import pandas as pd
aisles =pd.read_csv("./in/aisles.csv")
products = pd.read_csv("./in/products.csv");
orders = pd.read_csv("./in/orders.csv");
order_products = pd.read_csv("./in/order_products__prior.csv")

# 2、合并表
# order_products_prior.csv  订单与商品信息
#字段:order_id,product_id,add_to_cart_order,reordered

#products 商品信息
#字段:product_id,product_name,aisle_id,department_id

#orders订单信息
#字段:order_id,user_id,eval_set,order_number,order_dow,order_hour_of_day,days_since_prior_order

#aisles 商品所属类别
#字段:aisle_id,aisle

#合并aisles和products==》aisle_id

tab1 = pd.merge(aisles,products,on=["aisle_id","aisle_id"])
tab2 = pd.merge(tab1,order_products,on=["product_id","product_id"])
tab3 = pd.merge(tab2,orders,on=["order_id","order_id"])
tab3.head()
table = pd.crosstab(tab3["user_id"],tab3["aisle"])

运行结果:

#数据太多,只要10000行
data = table[:10000]
data
#很多0降维

 

#pca降维
from sklearn.decomposition import PCA

#1实例化一个转换器类
transfer = PCA(n_components = 0.95)

#2.调用fitt_ransform
data_new = transfer.fit_transform(data)
data_new.shape


data_new

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值