对不同的特征使用不同的特征缩放技术是不是正确?

Posted

技术标签:

【中文标题】对不同的特征使用不同的特征缩放技术是不是正确?【英文标题】:Is it right to use different feature scaling techniques to different features?对不同的特征使用不同的特征缩放技术是否正确? 【发布时间】:2020-08-15 05:03:21 【问题描述】:

我读过这篇关于特征缩放的文章: all-about-feature-scaling

两种主要的特征缩放技术是:

    min-max scaler - 对分布非高斯的特征反应良好。

    Standard scaler - 对具有高斯分布的特征响应良好。

我阅读了其他帖子和示例,似乎我们总是使用一个缩放方法(min-maxstandard所有功能。。 p>

我还没有看到建议的示例或论文:

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

    为什么我们不混合缩放方法?

    我的提案有什么问题或缺点?

【问题讨论】:

这里除了有点离题(不是编程问题),我认为你会在Cross Validated得到更可靠的答案,我建议你迁移这个. 【参考方案1】:

然后,您的特征将具有不同的比例,这是一个问题,因为具有较大比例的特征将支配其余特征(例如,KNN)。具有 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')

【讨论】:

以上是关于对不同的特征使用不同的特征缩放技术是不是正确?的主要内容,如果未能解决你的问题,请参考以下文章

特征缩放以相同比例转换列中的不同值

由于维度不同,无法对特征值进行逆转换

逻辑回归中是不是需要对特征进行缩放?

图像特征提取方法

机器学习特征工程之特征缩放+无量纲化:最小最大缩放(MinMaxScaler)

2.1对 特征归一化 的一些理解