Я пытаюсь использовать случайную лесную регрессию для прогнозирования цены автомобиля. Я получил данные с cars.com, очистил данные, сохранил некоторые функции (год, пробег, экстерьерColor и т. Д. 1010 *), в то время как категориальные функции, похоже, не работают с алгоритмом, поэтому я установил фиктивные переменные для категориальных функций (потому что только числовая функция работает с tress ??), я получил низкий балл.
Окончательные данные выглядят так:
Year Model Price Mileage Engine CityFuelEconomy HighwayFuelEconomy ExteriorColor
2013 2 6900 37100 3.0 20 30 1
Я выполнил случайный лес по умолчанию, а также с настройкой параметров по GridSearch, оба результата не идеальны.
#by default
In: from sklearn.metrics import explained_variance_score
explained_variance_score(train_y, model.predict(train_x))
Out: 0.5569482176630063
In: model.score(test_x, test_y)
Out: 0.5299303064708601
Train MAE: 993.199536787152
Test MAE: 1094.8346295258416
#GridSearch
Best Score is: 0.5305298726822617
Best Parameters are: {'criterion': 'mse', 'max_depth': 15, 'max_features': 3,
'min_samples_leaf': 3, 'min_samples_split': 7, 'n_estimators': 500}
forest.score(X_val, y_val)
Score: 0.56
Я новичок в машинном обучении, я не знаю, какой алгоритм лучше подходит для какого набора данных, может кто-нибудь помочь мне с улучшением этой или возможных причин что могло случиться? спасибо!