MinMaxScaler дал гораздо худший результат (R2 ниже) в линейной регрессииPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 MinMaxScaler дал гораздо худший результат (R2 ниже) в линейной регрессии

Сообщение Гость »

Я пытался применить линейную регрессию к набору автомобильных данных, где некоторые переменные являются категориальными, а целью является цена. Я хотел масштабировать переменные, но использование масштабатора значительно ухудшает результат (оценка RMSE и R2).
Это мой код:

Код: Выделить всё

y_target = data['price']
X_data = data.drop(['price'], axis=1)
X_dummies = pd.get_dummies(X_data, dtype=int)
Если я использую любой масштабатор и выполняю линейную регрессию, в результате он дает RMSE больше 1e15 и оценку R2 меньше -1e20:

Код: Выделить всё

from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler
from time import time

X_train, X_test, y_train, y_test = train_test_split(
X_dummies, y_target, test_size=0.3, random_state=int(time()))
X_scaler = MinMaxScaler().fit(X_train)
X_train_scaled = X_scaler.transform(X_train)
X_test_scaled = X_scaler.transform(X_test)

lr_model = LinearRegression()
lr_model.fit(X_train_scaled, y_train)
y_pred = lr_model.predict(X_test_scaled)
print("RMSE:", np.sqrt(mean_squared_error(y_test, y_pred)))
print("R2 Score:", lr_model.score(X_test_scaled, y_test))
А если я просто реализую линейную регрессию без масштабирования, RMSE составит около 2700, а оценка R2 — около 0,9. Почему это происходит?
Набор данных: https://www.kaggle.com/datasets/toramky ... le-dataset

Подробнее здесь: https://stackoverflow.com/questions/781 ... regression
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Невозможно импортировать Minmaxscaler "из Sklearn.preprocessing Import Minmaxscaler"
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Рассчитайте худший случай этого алгоритма [дублировать]
    Anonymous » » в форуме C++
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Вычислите smin в линейной регрессии chinquared
    Anonymous » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Ошибка расчета коэффициента линейной регрессии с учетом ошибок y
    Anonymous » » в форуме Python
    0 Ответы
    42 Просмотры
    Последнее сообщение Anonymous
  • Интеграция линейной регрессии в стек-приложение MERN: Python или JavaScript? [закрыто]
    Гость » » в форуме Python
    0 Ответы
    34 Просмотры
    Последнее сообщение Гость

Вернуться в «Python»