PCA降维小项目

本文通过Python的pandas库合并多个数据表,并利用sklearn库中的PCA进行数据降维处理,展示了一个完整的从数据整合到降维分析的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

话不多说,直接上代码

'''
1、获取数据
2、合并表
3、找出user_id和aisle之间的关系
4、PCA降维
'''
import pandas as pd
from sklearn.decomposition import PCA

order_products = pd.read_csv("./instacart/order_products__prior.csv")
products = pd.read_csv("./instacart/products.csv")
orders = pd.read_csv("./instacart/orders.csv")
aisles = pd.read_csv("./instacart/aisles.csv")

table1 = pd.merge(aisles, products, on=["aisle_id", "aisle_id"])
table2 = pd.merge(table1, order_products, on=["product_id", "product_id"])
table3 = pd.merge(table2, orders, on=["order_id", "order_id"])

table = pd.crosstab(table3["user_id"], table3["aisle"])

data = table[:10000]  # 数据太大,简单起见
# PCA降维
transfer = PCA(n_components=0.95)
data_new = transfer.fit_transform(data)
print("data_new: \n", data_new)
print("data_new shape: \n", data_new.shape)  # data.shape为特征量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值