我正在尝试使用随机森林回归来预测汽车的价格。我从cars.com获得数据,清理了数据,保留了一些特征(年份,里程,外观颜色等),而分类特征似乎不适用于该算法,因此我为分类特征设置了虚拟变量(因为仅数字特征)与发束一起使用??),我的分数很低。
最终数据如下:
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
我是机器学习的新手,我不知道哪种算法更适合哪种数据集,有人可以帮助我改善这种情况或可能发生的情况的原因吗?谢谢!