![机器学习:Python实践](https://wfqqreader-1252317822.image.myqcloud.com/cover/476/23914476/b_23914476.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
6.6 数据属性的相关性
数据属性的相关性是指数据的两个属性是否互相影响,以及这种影响是什么方式的等。非常通用的计算两个属性的相关性的方法是皮尔逊相关系数,皮尔逊相关系数是度量两个变量间相关程度的方法。它是一个介于1和-1之间的值,其中,1表示变量完全正相关,0表示无关,-1表示完全负相关。在自然科学领域中,该系数广泛用于度量两个变量之间的相关程度。在机器学习中,当数据的关联性比较高时,有些算法(如linear、逻辑回归算法等)的性能会降低。所以在开始训练算法前,查看一下算法的关联性是一个很好的方法。当数据特征的相关性比较高时,应该考虑对特征进行降维处理。下面通过使用DataFrame的corr()方法来计算数据集中数据属性之间的关联关系矩阵。代码如下:
from pandas import read_csv from pandas import set_option # 显示数据的相关性 filename='pima_data.csv' names=['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class'] data=read_csv(filename, names=names) set_option('display.width', 100) # 设置数据的精确度 set_option('precision', 2) print(data.corr(method='pearson'))
执行之后会得到一个每个属性相互影响的矩阵。执行结果如图6-3所示。
![](https://epubservercos.yuewen.com/01DA04/12741016104674306/epubprivate/OEBPS/Images/Figure-0069-0013.jpg?sign=1739058896-e0KL7GndX8re3gjMSq279xePq996EOmK-0-057edc06f8fb257f8f3e5d0f301e001d)
图6-3