目录
主成分分析 decompostion.PCA(n_components)
降维
1.概念:降低特征的个数
2.效果:使特征与特征之间不相关
3.方法:特征选择,主成分分析
特征选择
方差选择法 VarianceThreshold :
1.作用: 过滤低方差特征
2.代码:
#实例化转换器类
transfer=VarianceThreshold(threshold=10) #指定阈值方差
#调用fit_transform
data_new=transfer.fit_transform(data)
3.相关系数(pearsonr):
概念:
特征与特征之间的相关程度
计算:
代码:
pearsonr(data["a"],data["b"]) #计算a和b的相关系数
主成分分析 decompostion.PCA(n_components)
1.定义:高维数据转化为低位数据
2.作用:压缩数据维,降低数维
3.代码实现:
data=[[2,8,4,5],[6,3,0,8],[5,4,9,1]]
transfer=PCA(n_components=2)
transfer1=PCA(n_components=0.9)
data_new=transfer.fit_transform(data)
data_new1=transfer1.fit_transform(data)
print("减少到2维的特征:\n",data_new)
print("保留90%的信息:\n",data_new1)
instarcart降维案例
order_products=pd.read_csv("order_products__prior.csv")
products=products=pd.read_csv("products.csv")
orders=pd.read_csv("orders.csv")
aisles=pd.read_csv("aisles.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"])
#print(tab3)
#找到user_id和aisle之间的关系
table=pd.crosstab(tab3["user_id"],tab3["aisle"])
data=table[:10000]
#进行pca降维
transfer=PCA(n_components=0.95)
data_new=transfer.fit_transform(data)
print(data_new)