数据科学 第 5 章 主成分分析(降维)、相关性
这两天用学了主成分分析,用的是PCA。主成分分析就是降维,通过线性组合,把多个原始变量合并成若干个主成分,这样每个主成分都变成原始变量的线性组合。所以你想看具体哪个特征对结果的影响大,通过PCA是看不到的。但PCA能把原来的10+数据特征转变为几个,实现过程如下:
导入数据:
import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt inputfile = 'C:/Users/xiaom/Desktop/data/online_shoppers_intention.csv' df = pd.read_csv(inputfile)
这是后面的几列
1、数据处理
只要购买客户数据,对VisitorType、weekend数据做处理,转换为0,1;再删除不要的字段
#只要购买客户的数据 df = df[df['Revenue'] == True] df['VisitorType'] = np.where(df['VisitorType'] == 'Returning_Visitor',1,0) df['workday'] = np.where(df['Weekend']==True,0,1) df.drop(['Weekend','Revenue','Month'], axis=1, inplace=True)
2、相关性检测
对df表进行相关性检测,看每个字段的相关度,删除相关度高的字段,减少计算量。如果自变量属于中度以上线性相关的(>0.6)多个变量,只保留一个即可。
1、2相关系数0.61;3、4系数为0.63;5、6为0.91;7、8为0.74。相关度一般在0.64以上就认为是比较相关的关系,所以删除5
#求各字段的相关性,用corr()函数,并保留2位小数
df.corr().round(2)
#结果:1,2相关系数0.61;3,4系数为0.63;5,6为0.91;7,8为0.74。所以对相关性高的保留1个字段
df.drop(['Administrative_Duration', 'Informational_Duration',
         'ProductRelated_Duration',
         'BounceRates'],axis=1, inplace=True)
print(df)3、标准化处理
x = df #对PageValues相差太大,对其进行标准化 from sklearn import preprocessing x = preprocessing.scale(x)
4、PCA
#用PCA(主成分分析法),来查看对购买影响最大的特征
from sklearn.decomposition import PCA
model = PCA(n_components=7)   #把数据降到6维
model.fit(x)
print('降到6维后,这6维的代表性为:')
print(model.explained_variance_ratio_)
print(model.components_) #返回具有最大方差的成分
print('返回参数的值')
print(model.get_params)  #返回各个参数的值
#print(model.get_precision())
#下面是画图的
x2 = model.transform(x)
df['pca1'] = x2[:,0]
df['pca2'] = x2[:,1]
#print(df.head( ))
sns.lmplot("pca1","pca2", data=df, fit_reg=False)
plt.show()左边是降维后的结果,68%左右,数据从原来的10维下降到了6维。从结果看,这个数据可能不太适合用pca来分析,因为降到6维后的代笔性不足70%。
右边是降维后的图。
相关推荐
  xclxcl    2020-06-07  
   卖小孩的咖啡    2020-05-01  
   sxyhetao    2020-05-01  
   PeterHuang0    2019-11-07  
   Orangeminger    2015-12-18  
   CYJ0go    2019-01-29  
   cckchina    2018-12-12  
   小王    2018-05-31  
   pandazjd    2018-09-15  
   MisterJiaJia    2018-03-30  
   woshigzp    2018-06-06  
   BETTINA    2018-03-13  
   影像志    2018-05-13  
 