对不同的特征使用不同的特征缩放技术是否正确?
Is it right to use different feature scaling techniques to different features?
我阅读了这篇关于特征缩放的 post:
all-about-feature-scaling
两种主要的特征缩放技术是:
min-max scaler
- 对于 非高斯 .
分布的特征响应良好
Standard scaler
- 对于具有 Gaussian 分布的特征响应良好。
我看了其他的post和例子,似乎我们总是使用一个缩放方法(min-max
或standard
) 所有功能。
我还没有看到建议的示例或论文:
1. go over all the features, and for each feature:
1.1 check feature distribution
1.2 if the feature distribution is Gaussian:
1.2.1 use Standard scaler for this feature
1.3 otherwise:
1.3.1 use min-max scaler for this feature
为什么我们不混合缩放方法?
我的建议有什么问题或缺点?
然后,您的特征将具有不同的尺度,这是一个问题,因为具有较大尺度的特征将支配其余特征(例如,在 中)。具有 min-max 归一化的特征将被重新缩放到 [0,1] 范围内,而具有标准化的特征将被转换为从负到正的范围(例如 [-2,+2] 甚至更宽的范围)小标准差)。
import pandas as pd
from sklearn.preprocessing import MinMaxScaler, StandardScaler
dfTest = pd.DataFrame({'A':[14,90,80,90,70],
'B':[10,107,110,114,113]})
scaler = MinMaxScaler()
dfTest['A'] = scaler.fit_transform(dfTest[['A']])
scaler = StandardScaler()
dfTest['B'] = scaler.fit_transform(dfTest[['B']])
ax = dfTest.plot.scatter('A', 'B')
ax.set_aspect('equal')
我阅读了这篇关于特征缩放的 post: all-about-feature-scaling
两种主要的特征缩放技术是:
min-max scaler
- 对于 非高斯 . 分布的特征响应良好
Standard scaler
- 对于具有 Gaussian 分布的特征响应良好。
我看了其他的post和例子,似乎我们总是使用一个缩放方法(min-max
或standard
) 所有功能。
我还没有看到建议的示例或论文:
1. go over all the features, and for each feature:
1.1 check feature distribution
1.2 if the feature distribution is Gaussian:
1.2.1 use Standard scaler for this feature
1.3 otherwise:
1.3.1 use min-max scaler for this feature
为什么我们不混合缩放方法?
我的建议有什么问题或缺点?
然后,您的特征将具有不同的尺度,这是一个问题,因为具有较大尺度的特征将支配其余特征(例如,在
import pandas as pd
from sklearn.preprocessing import MinMaxScaler, StandardScaler
dfTest = pd.DataFrame({'A':[14,90,80,90,70],
'B':[10,107,110,114,113]})
scaler = MinMaxScaler()
dfTest['A'] = scaler.fit_transform(dfTest[['A']])
scaler = StandardScaler()
dfTest['B'] = scaler.fit_transform(dfTest[['B']])
ax = dfTest.plot.scatter('A', 'B')
ax.set_aspect('equal')