当前位置: 首页 > 图灵资讯 > 技术篇> 特征工程案例--(python合并表,交叉表,主成分分析)

特征工程案例--(python合并表,交叉表,主成分分析)

来源:图灵教育
时间:2023-06-02 09:21:41

本文目的:

①如何关联表?②如何构建交叉表?③APA是如何实现主成分分析的?

1 数据源

特征工程案例--(python合并表,交叉表,主成分分析)_python

import numpy as npimport pandas as pd#获取数据import numpy as npimport pandas as pd#获取数据aisleses = pd.read_csv(r"D:\Case_data特征工程案例数据aisles.csv",sep=",",encoding="utf-8",engine = 'python')orders = pd.read_csv(r"D:\Case_data特征工程案例数据orders.csv",sep=",",encoding="utf-8",engine = 'python')products = pd.read_csv(r"D:\Case_data特征工程案例数据products.csv",sep=",",encoding="utf-8",engine = 'python')order_products_prior = pd.read_csv(r"D:\Case_data特征工程案例数据order_products__prior.csv",sep=",",encoding="utf-8",engine = 'python#检查数据display(aisles.head(3))display(orders.head(3))display(products.head(3))display(order_products_prior.head(3))

特征工程案例--(python合并表,交叉表,主成分分析)_数据_02

问题:

①关联表:user_id---->aisle

②结构交叉表user_id---->aisle

③分析主要成分,保留80%的信息

2 关联表 pd.merge()

import time#关联表:user_id---->aisledata01 = pd.merge(orders,order_products_prior,how='inner',on=["order_id","order_id"])time.sleep(5)data02 = pd.merge(data01,products,on=["product_id","product_id)data03 = pd.merge(data02,aisles,on=["aisle_id","aisle_id"])time.sleep(3)display(data03.shape,data03.loc[0:3,["user_id","aisle"]])

特征工程案例--(python合并表,交叉表,主成分分析)_数据_03

交叉表 pd.crosstab()

#结构交叉表user_id---->aisledata04 = pd.crosstab(data03[”user_id",data03["aisle"])display(data04.shape,data04.head(10))

特征工程案例--(python合并表,交叉表,主成分分析)_数据_04

主成分分析 PCA

# 主要成分分析,保留n.n% 信息from sklearn.decomposition import PCAimport pandas as pdimport numpy as np # 1、数据:使用上述代码生成的data04data = data04#2.实例化转换器transfer = PCA(n_components=0.8) #实例化一个转换器类# n_components: ·小数:表示保留了多少信息 ·整数:减少多少特征#3.#调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_transform()xi = transfer.fit_transform(data) #调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_调用fit_transform()#查看构成新的几个变量,查看单个变量的方差贡献率print(xi.shape,transfer.explained_variance_ratio_)  #4.输出新结构的主成分变量Fi=[ ]for i in range(1,xi.shape[1]+1):    F="F" + str(i)    Fi.append(F)data02 = pd.DataFrame(xi,columns=Fi)display(data02.head(3))

特征工程案例--(python合并表,交叉表,主成分分析)_主成分分析_05

扫描下面二维码的相关内容更多

特征工程案例--(python合并表,交叉表,主成分分析)_主成分分析_06

更多的数据分析数据操作数据操作

在这里,随时学习干货!