数据归一化的2种方法以及计算相关系数矩阵
数据源 源码 在文章末尾
有些数据 没什么作用 或者影响不大 为了 增加训练迭代速度 就需要降维然后挑选出 其中的相关性比较高 得维度进行训练.
导入和读取数据, 简单方便快就好.
对于缺失值,这里简单得用均值进行填充
可以看到 图中红色部分已经 用均值 填充好了,
在看一下数据描述, 所有特征的计数统计量 count 都已经变成11017. 然后继续下面的归一化操作
方法一: 归一化的公式就是 (每个值-最小值)/(最大值-最小值+防止除数为的参数)
方法二: 用z值归一化 公式 是 (特征值 - 特征均值)/(特征的标准差++防止除数为的参数)
对比之后 两种归一化的方法 差距还是挺大的, 最后怎么量化效果 还是需要算一算结果.
继续计算特征与标签的相关性
用numpy自带的corr方法计算相关性 然后返回相关性的绝对值
再定义一个方法 按顺序返回 每个特征与标签的相关性
最后会得到一个列表 如上图:
简单浏览一下 发现 中等以上相关的特征 也没有几个. 这个时候就需要更多的特征 可以利用现有的特征构造更多的特征. 这里可以特征间的 加减乘除 乘方开方 对数函数等等.
这里保留 特征相关性 大于 某个值的 col_corr_percentile 新特征,并输出 col_corr_percentile 这个值是开头自己定义的.
然后测试一下 同 特征的前5行 去构造新的特征.
也可以用更多的特征的去构造,这里不在一一演示.
最后输出一下具体的特征的数量 和明细.
feather_engineering_aliyun_demo3.ipynb
70.4K
·
百度网盘
model_sample.csv
5.2M
·
百度网盘
参数表.xlsx
21.9K
·
百度网盘
字段解释.xlsx
18.4K
·
百度网盘