补一下上次文章的坑,有关标准化和归一化的问题.
标准化:(X-E(x))/D(x)
归一化: (X-min)/(max-min)
两个的具体差别我的感受不是特别深刻,用的比较多的是归一化.
from sklearn.preprocessing import MinMaxScaler
mm = MinMaxScaler()
mm_data = mm.fit_transform(X)
origin_data = mm.inverse_transform(mm_data)
X=mm_data
from sklearn.preprocessing import StandardScaler
ss = StandardScaler()
std_data = ss.fit_transform(X)
origin_data = ss.inverse_transform(std_data)
X = std_data
用这两个方法就可以分别得到归一化和标准化的数据,网上提到这两个好像很混乱,那就根据api和公式区分叭,minmax和最小最大值相关,standard和标准差有关.
我感受到的是,归一化受到最最大值影响较大,所以或许最小值最大值太奇葩时少用?
接下来是熵权法.参考文章:知乎,熵权法
虽然我用了好几次,不过不是很了解具体原理.只有一些零碎的关键词,信息熵,信息含量.
具体的应用是给了好几个影响因子,然后直接求出权重,加权得到几个影响因子的综合结果.