随机森林回归如何分析其性能?python,sklearn

2024-04-18 20:33:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力评估我的随机森林的性能-我已经查看了平均相对误差,但我不确定这是否是一个好的指标。有什么要检查的?在

另外,我应该如何优化我的超参数? 我使用了 rf.score(X_test,y_test) R2,但这真的是我在进行回归时唯一应该依赖的东西吗?我看了一眼袋外的分数,但不知道怎么解释。在

希望你的优化是全局的,你的超参数是优化的:)

from sklearn.ensemble import RandomForestRegressor

rf = RandomForestRegressor(n_estimators = 1000,max_depth=5,random_state = 0)
rf.fit(X_train, y_train);

predictions = rf.predict(X_test)


errors = abs((predictions - y_test)/y_test)
print('Mean Relative Error:', round(np.mean(errors), 2)) 

Tags: fromtest参数森林train性能全局指标
2条回答

对于回归模型(不要与分类器模型混淆),您可以从sklearn计算MAE、MSE、MAPE和RMSE:

import numpy as np
from sklearn import metrics

print('Mean Absolute Error (MAE):', metrics.mean_absolute_error(gt, pred))
print('Mean Squared Error (MSE):', metrics.mean_squared_error(gt, pred))
print('Root Mean Squared Error (RMSE):', np.sqrt(metrics.mean_squared_error(gt, pred)))
mape = np.mean(np.abs((gt - pred) / np.abs(gt)))
print('Mean Absolute Percentage Error (MAPE):', round(mape * 100, 2))
print('Accuracy:', round(100*(1 - mape), 2))

您还可以添加以下两个指标:

from sklearn.metrics import accuracy_score, confusion_matrix

准确度得分(my_class_列、my_forest_train_预测) 混淆矩阵(我的测试数据,我的预测测试森林)

此外,还可以添加每个预测的概率:

^{pr2}$

相关问题 更多 >