Я сталкиваюсь с разным поведением между MinMaxScaler и минимизацией.
Хотя я знаю, что не следует ни нормализовать, ни стандартизировать данных, я попробовал (в целях тестирования).
С помощью MinMaxScaler:
Код: Выделить всё
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=43)
scaler = MinMaxScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
rf = RandomForestClassifier(random_state=43)
rf.fit(X_train, y_train)
y_pred = rf.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
Затем, если я хочу попробовать тот же эксперимент с нормализацией, например это:
Код: Выделить всё
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=43)
X_train = normalize(X_train)
X_test = normalize(X_test)
rf = RandomForestClassifier(random_state=43)
rf.fit(X_train, y_train)
y_pred = rf.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
Я не могу понять почему это происходит так.
Мне бы хотелось прочитать объяснение разницы в поведении между нормализацией и MinMax.
Или даже некоторые идеи, некоторые вещи, которые мне следует проверить по порядку чтобы увидеть, что происходит.
Подробнее здесь: https://stackoverflow.com/questions/792 ... is-dataset