Реализация RMSE
Ваша реализация RMSE
верна, что легко проверить, если взять квадратный корень из mean_squared_error
.
от sklearn. Я думаю, что вам не хватает закрывающих скобок,здесь, чтобы быть точным:
rmse = np.sqrt(mean_squared_error(y_test,pred)) # the last one was missing
Высокая проблема ошибки
Ваш MSE высокий из-за того, что модель не в состоянии моделировать отношения между вашими переменными и целью очень хорошо.Имейте в виду, что каждая ошибка принимается до степени 2, поэтому, если цена на 1000
будет снижена, вы получите значение 100000
.
Вы можете изменить цену с помощью натурального логарифма (numpy.log
) и преобразовать его в лог-масштаб, это обычная практика, особенно для этой проблемы (я предполагаю, что вы делаете Цены на дома: передовые методы регрессии ), см. руководство по доступным ядрам.При таком подходе вы не получите такие большие значения.
Последнее, но не менее важное: отметьте Средняя абсолютная ошибка , чтобы увидеть, что ваши прогнозы не так ужасны, как кажутся.