MinMax Scaler в sklearn не нормализует значения столбца между 0 и 1

Я работаю над алгоритмом KNN на python и пытался нормализовать свои кадры данных с помощью MinMaxScaler, чтобы преобразовать данные в диапазоне от 0 до 1.

Однако, когда я возвращаю результат, я вижу, что в каком-то столбце min / max вывод превышает 1. Я использую его неправильно?

Ниже приведен фрагмент возвращенного минимального / максимального значения:  введите описание изображения здесь

Используемый код был:

kdd_data_10percent = pandas.read_csv("data/kdd_10pc", header=None, names = col_names)
features = kdd_data_10percent[num_features].astype(float)#num_features contain the specific column labels i wish to extract    
features.apply(lambda x: MinMaxScaler().fit_transform(x))

Функции содержат фрейм данных, содержащий столбцы (например, неправильный_фрагмент, срочно ...).

Если я правильно понимаю, после выполнения MinMaxScaler возвращенные результаты будут гарантировать, что значения каждого столбца будут нормализованы только до диапазона от 0 до 1. Я прав?


person misctp asdas    schedule 26.11.2016    source источник
comment
stackoverflow.com/a/21765852/356729 - это именно то, что вы ищете   -  person dukebody    schedule 26.11.2016


Ответы (1)


Вы правы, MinMaxScaler масштабирует ваши данные от 0 до 1. 0 будет минимальным значением вашего столбца, а 1 - максимальным.

Функция Apply на самом деле не преобразует ваши функции, она просто вернет фрейм данных с преобразованными столбцами. Итак, вам нужно повлиять на преобразование ваших функций:

features = features.apply(lambda x: MinMaxScaler().fit_transform(x))
person Mohamed AL ANI    schedule 26.11.2016
comment
этот код не работает, если вы ссылаетесь на мой фрагмент кода, это именно тот код, который я использовал. - person misctp asdas; 27.11.2016