特征锦囊:如何根据变量相关性画出热力图?
- 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())

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