数据降维之特征选择——PCA(二)

kaggle案例分析

数据来源:kaggle网站
百度云分享:提取码:bt3t
说明:

  • products.csv 商品信息
  • order_products__prior.csv 订单与商品信息
  • orders.csv 用户的订单信息
  • aisles.csv 商品所属具体物品类别
import sklearn.decomposition import PCA
import pandas as pd

读取表格信息:

pd.read_csv('products.csv').head()

结果显示该表的前五条数据 据此可了解表头信息 并运用同样的方法了解其余三张表的具体存储内容
prior:product_id,order_id
products:product_id,aisle_id
orders:order_id,user_id
aisles:aisle_id,aisle

创建用户——商品表

  1. 读取所有的数据 并合并四张表到一张表
    _mg = pd.merge(prior,products,on=['product_id','product_id'])
    _mg = pd.merge(_mg,orders,on=['order_id','order_id'])
    mt = pd.merge(_mg,aisles,on=['aisle_id','aisle_id'])
    
    读取前五条信息:
     mt.head()
    
  2. 交叉表(特殊的分组工具)
     cross = pd.crosstab(mt['user_id'],mt['aisle'])
     cross.head(10)
    

主成分分析

pca = PCA(n_components=.9)
data = pca.fit_transform(cross)
data

输出:
array([[-2.42156587e+01, 2.42942720e+00, -2.46636975e+00, …,
6.86800336e-01, 1.69439402e+00, -2.34323022e+00],
[ 6.46320806e+00, 3.67511165e+01, 8.38255336e+00, …,
4.12121252e+00, 2.44689740e+00, -4.28348478e+00],
[-7.99030162e+00, 2.40438257e+00, -1.10300641e+01, …,
1.77534453e+00, -4.44194030e-01, 7.86665571e-01],
…,
[ 8.61143331e+00, 7.70129866e+00, 7.95240226e+00, …,
-2.74252456e+00, 1.07112531e+00, -6.31925661e-02],
[ 8.40862199e+01, 2.04187340e+01, 8.05410372e+00, …,
7.27554259e-01, 3.51339470e+00, -1.79079914e+01],
[-1.39534562e+01, 6.64621821e+00, -5.23030367e+00, …,
8.25329076e-01, 1.38230701e+00, -2.41942061e+00]])

data.shape

输出:
(206209, 27)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值