Conceptos básicos del aprendizaje automático: "Ingeniería de funciones (5) - Reducción de dimensionalidad de funciones - Caso"

1. Explore las preferencias del usuario para categorías de artículos

1. Encuentre la relación entre los usuarios y las categorías de artículos.
Los datos son los siguientes: (1) order_products__prior.csv: campos
de información de pedido y producto : order_id, product_id, add_to_cart_order, reordered (2) productos.csv: campos de información del producto: product_id, nombre_producto, id_pasillo, id_departamento (3) pedidos.csv: campos de información del pedido del usuario : id_pedido, id_usuario, conjunto_eval, número_pedido,... (4) pasillos.csv: la categoría de artículo específica a la que pertenece el producto Campos: id_pasillo, pasillo ( 5) pasillo significa pasillo. ¿Por qué los pasillos pueden representar categorías de artículos? Porque un pasillo en un supermercado contiene básicamente el mismo tipo de productos.








2. Categoría de elemento de usuario de campo
user_id pasillo
(1) User_id y pasillo deben colocarse en la misma tabla - fusionar
(2) Buscar user_id y pasillo - tabla cruzada y tabla dinámica en pandas
(3) Hay demasiadas funciones redundantes, que necesitan para reducir Dimensión: reducción de dimensionalidad de PCA
(4) Estos datos deben descargarse usted mismo desde Kaggle

2. Instale el cuaderno Jupyter

1、安装
yum install make gcc gcc-c++
python3 -m pip install --upgrade pip
pip install notebook

2. Inicie
el cuaderno jupyter --allow-root --ip 192.168.1.100

3. Siga las indicaciones para acceder a
http://192.168.1.100:8888/?token=04c3869ea51b908486ae5e3c4d4fd5a7b1021904a57e78ff

3. Jupyter crea day01_instacart_pca

# 1、获取数据
# 2、合并表
# 3、找到user_id和aisles之间的关系
# 4、PCA降维

import pandas as pd

# 1、获取数据
order_products = pd.read_csv("./order_products__prior.csv")
products = pd.read_csv("./products.csv")
orders = pd.read_csv("./orders.csv")
aisles = pd.read_csv("./aisles.csv")

# 2、合并表
# 合并aisles.csv和products.csv表
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"])

#head()是获取dataframe的前5行数据
tab3.head()

# 3、找到user_id和aisles之间的关系
table = pd.crosstab(tab3["user_id"], tab3["aisle"])

table.head()

# 4、PCA降维
from sklearn.decomposition import PCA

# 1)实例化一个转换器类
transfer = PCA(n_components=0.95)
# 2)调用fit_transform
table_new = transfer.fit_transform(table)

table_new.shape

# 降维留下了44个特征,同时保留了95%的信息

table_new

Supongo que te gusta

Origin blog.csdn.net/csj50/article/details/132231480
Recomendado
Clasificación