降维案例

Posted shenjianping

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了降维案例相关的知识,希望对你有一定的参考价值。

一、数据集介绍

 该案例描述的是一段时间内客户的订单,预测用户下一次将会买那些订单。

数据集的信息如下:

  • products.csv  商品信息
  • order_products__prior.csv 订单与商品关系信息
  • orders.csv 订单信息
  • aisles.csv 商品所属的具体类别

1、 products.csv

import pandas as pd
product_df = pd.read_csv(rI:machine_learnexample_products.csv)
product_df.head(10)

技术图片

该文件是产品数据,里面的字段有product_id(产品ID),product_name(产品名称),aisle_id(产品类型)等。

2、order_products__prior.csv

order_products__prior_df = pd.read_csv(rI:machine_learnexample_order_products__prior.csv)
order_products__prior_df.head(10)

技术图片

该文件是产品和订单数据,里面的字段有product_id(产品ID),order_id(订单ID)等。

 3、orders.csv

orders_df = pd.read_csv(rI:machine_learnexample_orders.csv)
orders_df .head(10)

技术图片

 该文件是订单数据,里面的字段有user_id(用户ID),order_id(订单ID)等。

4、aisles.csv

aisles_df = pd.read_csv(rI:machine_learnexample_aisles.csv)
aisles_df .head(10)

技术图片

 该文件是产品类型数据,里面的字段有aisle_id(产品数据类型ID),aisle(产品类型名称)。

二、预测

现在探究的是用户和物品类型的关系:

技术图片

1、读取四张表

import pandas as pd
from sklearn.depositions import PCA

product_df = pd.read_csv(rI:machine_learnexample_products.csv)
order_products__prior_df = pd.read_csv(rI:machine_learnexample_order_products__prior.csv)
orders_df = pd.read_csv(rI:machine_learnexample_orders.csv)
aisles_df = pd.read_csv(rI:machine_learnexample_aisles.csv)

2、合并四张表

_mg = pd.merge(order_products__prior_df,product_df,on=[product_id,product_id])
_mg = pd.merge(_mg,orders_df,on=[order_id,order_id])
_ma = pd.merge(_mg,aisles_df,on=[aisle_id,aisle_id])

_ma.head(10) #输出

技术图片

  上面就是用户(user_id)与产品类型(aisle)的关系,但是现在需要统计的每一个用户的产品类型,所以用到交叉表(特殊的分组表)。可以查出每一个用户aisle(产品类型)的个数。

crossTab_df = pd.crosstab(_ma["user_id"],_ma["aisle"])
crossTab_df #输出

技术图片

技术图片

3、主成分分析 

pca = PCA(n_components=0.9)
data = pca.fit_transform(crossTab_df)
data #输出

技术图片

可以看看输出的行列:

data.shape
"""
(206209, 27)
"""

 

以上是关于降维案例的主要内容,如果未能解决你的问题,请参考以下文章

降维案例

降维案例

Autoencoder降维可视化

Sklearn:如何在庞大的数据集上应用降维?

《Python机器学习及实践》----无监督学习之特征降维

《Python机器学习及实践》----无监督学习之特征降维