pandas相关系数矩阵
相关矩阵也叫相关系数矩阵,是由矩阵各列间的相关系数构成的。也就是说,相关矩阵第i行第j列的元素是原矩阵第i列和第j列的相关系数。
定义:
设(X1,X2,X3...Xn)是一个n维随机变量,任意Xi与Xj的相关系数ρij(i,j=1,2,...n)存在,则以ρij为元素的n阶矩阵称为该维随机向量的相关矩阵.记作R,即
<https://gss0.baidu.com/9vo3dSag_xI4khGko9WTAnF6hhy/zhidao/pic/item/a08b87d6277f9e2f9ea251381a30e924b899f36f.jpg>
性质:相关矩阵的对角元素是1。相关矩阵是对称矩阵。
在python中,可以利用pandas的corr获取相关系数矩阵,代码如下:
corrdf = full.corr() corrdf
输出(只截取一部分):
默认地,系统返回每个行-列对中的 Pearson 相关系数。通过传递方法的参数,还可以切换到 Kendall's tau 或 Spearman's
秩相关系数(例如,.corr(method="spearman")或.corr(method="kendall"))
还可以对相关系数矩阵进行降序排列,ascending=False表示降序
corrdf['Survived'].sort_values(ascending=False)
输出:
Survived 1.000000 Title_Mrs 0.344935 Title_Miss 0.332795 Pclass_1 0.285904
familydf_Small 0.279855 Fare 0.257307 Cabin_B 0.175095 Embarked_C 0.168240
Cabin_D 0.150716 Cabin_E 0.145321 Cabin_C 0.114652 Pclass_2 0.093349
Title_Master 0.085221 Parch 0.081629 Cabin_F 0.057935 Title_Royalty 0.033391
Cabin_A 0.022287 familydfSize 0.016639 Cabin_G 0.016040 Embarked_Q 0.003650
PassengerId -0.005007 Cabin_T -0.026456 Title_Officer -0.031316 SibSp -0.035322
Age -0.070323 familydf_Large -0.125147 Embarked_S -0.149683 familydf_Single
-0.203367 Cabin_U -0.316912 Pclass_3 -0.322308 Sex -0.543351 Title_Mr -0.549199
Name: Survived, dtype: float64
在建模时候,需要考察相关性特征,正数为正相关,负数为负相关,通常可以选取绝对值在0.1以上的特征进行建模。若需建立强相关模型,就选取更强的相关性特征。