机器学习实操1
创始人
2024-04-06 05:52:54
0

目录

分析用户的购物习惯,预测消费者将购买哪些产品,探究用户对物品类别的喜好细分降维

大致操作 

 具体操作

 完整代码

运行期间出现的错误   invalid argument


分析用户的购物习惯,预测消费者将购买哪些产品,探究用户对物品类别的喜好细分降维

有下面四张表

  • order_ products_ prior. csv:订单与商品信息

字段: order_ id, product_ id, add_ to cart_ order, reordered

  • products . csv:商品信息

字段: product_ id, product_ name, aisle_ id, department_ id

  • orders .csv:用户的订单信息

字段: order_ id, user_ id,eval_ set, order_ number, ...

  • aisles. csv:商品所属具体物品类别

字段: aisle_ id, aisle

大致操作 

1.  将这几张表合并,得到同时含有user_id和aisle这两个变量的表。这里用到了pandas.merge()函数,merge函数的详情可参看右方链接------->>http://t.csdn.cn/cA4YQ

 2.  找到user_id和aisle之间的关系,这里用到了pandas.crosstab()函数

 3.PCA降维,因为有很多冗余的数据,这时候可以进行降维处理。

 具体操作

先导入要用到的pandas

import pandas as pd

1.获取数据 

order_products=pd.read_csv("D:\order_products__prior.csv")
products=pd.read_csv("D:\products.csv")
orders=pd.read_csv("D:\orders.csv")
aisles=pd.read_csv("D:/aisles.csv")

2. 合并表,将user_id和aisle合并在一个表中

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"])

结果为下表

 3.找到user_id和aisle之间的关系,合并为一张表,user_id做行索引,aisle做列索引

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

结果为下表 

 4.由上面的数据看出,存在很多的冗余数据,现在进行PCA降维处理

data=table[:]
#4.PCA降维
from sklearn.decomposition import PCA
#1.实例化转换器
transfer=PCA(n_components=0.95)
#2.调用fit_transform
data_new=transfer.fit_transform(data)

 最终可看到,经过PCA降维处理后,原来的数据shape为(206209,134),现在变成了(206209,44)

 

 完整代码

import pandas as pd
#1.获取数据
order_products=pd.read_csv("D:\order_products__prior.csv")
products=pd.read_csv("D:\products.csv")
orders=pd.read_csv("D:\orders.csv")
aisles=pd.read_csv("D:/aisles.csv")# 2、合并表
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"])#3. 找到user_id和aisle之间的关系
table=pd.crosstab(tab3["user_id"],tab3["aisle"]
data=table[:]#4.PCA降维
from sklearn.decomposition import PCA#实例化转换器
transfer=PCA(n_components=0.95)#调用fit_transform
data_new=transfer.fit_transform(data)#5.输出处理完毕得到的最终数据
print("data_new.shape:",data_new.shape)
data_new

运行期间出现的错误   invalid argument

当我运行下面这句代码的时候报了错误   invalid argument

aisles=pd.read_csv("D:\aisles.csv)

解决方法:把\改为/就可以了

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...