Правильно ли использовать разные методы масштабирования для разных функций? - PullRequest
1 голос
/ 30 апреля 2020

Я читал этот пост о масштабировании функций: все-о-функциях масштабирования

Два основных метода масштабирования функций:

  1. min-max scaler - который хорошо отвечает за особенности с распределениями, которые не являются гауссовыми .

  2. Standard scaler - что хорошо отвечает за особенности с Гауссовыми распределения.

Я читаю другие посты и примеры, и кажется, что мы всегда используем один метод масштабирования (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
  1. Почему мы не смешиваем методы масштабирования?

  2. Что не так или недостатки в моем предложении?

1 Ответ

1 голос
/ 02 мая 2020

Тогда ваши функции будут иметь разные масштабы, что является проблемой, поскольку функции с большим масштабом будут доминировать над остальными (например, в 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')

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...