特征锦囊:如何根据变量相关性画出热力图?

  • 2020 年 2 月 17 日
  • 笔记

今日锦囊

特征锦囊:如何根据变量相关性画出热力图?

上次的锦囊有提及到如何使用sklearn来实现多项式的扩展来衍生更多的变量,但是我们也知道其实这样子出来的变量之间的相关性是很强的,我们怎么可以可视化一下呢?这里介绍一个热力图的方式,调用corr来实现变量相关性的计算,同时热力图,颜色越深的话,代表相关性越强!

# 人体胸部加速度数据集,标签activity的数值为1-7  '''  1-在电脑前工作  2-站立、走路和上下楼梯  3-站立  4-走路  5-上下楼梯  6-与人边走边聊  7-站立着说话    '''  import pandas as pd  from sklearn.preprocessing import PolynomialFeatures    df = pd.read_csv('./data/activity_recognizer/1.csv', header=None)  df.columns = ['index','x','y','z','activity']    x = df[['x','y','z']]  y = df['activity']    # 多项式扩充数值变量  poly = PolynomialFeatures(degree=2, include_bias=False, interaction_only=False)    x_poly = poly.fit_transform(x)  pd.DataFrame(x_poly, columns=poly.get_feature_names()).head()    # 查看热力图(颜色越深代表相关性越强)  %matplotlib inline  import seaborn as sns    sns.heatmap(pd.DataFrame(x_poly, columns=poly.get_feature_names()).corr())  

大家对今天的知识,有什么疑问吗?欢迎进行留言咨询哈~