数据归一化的2种方法以及计算相关系数矩阵

数据源 源码 在文章末尾

有些数据 没什么作用 或者影响不大 为了 增加训练迭代速度 就需要降维然后挑选出 其中的相关性比较高 得维度进行训练.

导入和读取数据, 简单方便快就好.




python计算相关系数r 如何用python做相关系数矩阵_计算单应性矩阵 python


对于缺失值,这里简单得用均值进行填充


python计算相关系数r 如何用python做相关系数矩阵_python计算相关系数r_02


可以看到 图中红色部分已经 用均值 填充好了,


python计算相关系数r 如何用python做相关系数矩阵_百度网盘_03


在看一下数据描述, 所有特征的计数统计量 count 都已经变成11017. 然后继续下面的归一化操作

方法一: 归一化的公式就是 (每个值-最小值)/(最大值-最小值+防止除数为的参数)


python计算相关系数r 如何用python做相关系数矩阵_计算单应性矩阵 python_04


方法二: 用z值归一化 公式 是 (特征值 - 特征均值)/(特征的标准差++防止除数为的参数)


python计算相关系数r 如何用python做相关系数矩阵_百度网盘_05


对比之后 两种归一化的方法 差距还是挺大的, 最后怎么量化效果 还是需要算一算结果.

继续计算特征与标签的相关性

用numpy自带的corr方法计算相关性 然后返回相关性的绝对值

再定义一个方法 按顺序返回 每个特征与标签的相关性


python计算相关系数r 如何用python做相关系数矩阵_计算单应性矩阵 python_06


python计算相关系数r 如何用python做相关系数矩阵_计算单应性矩阵 python_07


最后会得到一个列表 如上图:

简单浏览一下 发现 中等以上相关的特征 也没有几个. 这个时候就需要更多的特征 可以利用现有的特征构造更多的特征. 这里可以特征间的 加减乘除 乘方开方 对数函数等等.


python计算相关系数r 如何用python做相关系数矩阵_计算单应性矩阵 python_08


这里保留 特征相关性 大于 某个值的 col_corr_percentile 新特征,并输出 col_corr_percentile 这个值是开头自己定义的.

然后测试一下 同 特征的前5行 去构造新的特征.


python计算相关系数r 如何用python做相关系数矩阵_计算单应性矩阵 python_09


也可以用更多的特征的去构造,这里不在一一演示.


python计算相关系数r 如何用python做相关系数矩阵_python计算相关系数r_10


最后输出一下具体的特征的数量 和明细.



feather_engineering_aliyun_demo3.ipynb


70.4K

·

百度网盘



model_sample.csv


5.2M

·

百度网盘



参数表.xlsx


21.9K

·

百度网盘



字段解释.xlsx


18.4K

·

百度网盘