量化机器学习方法的性能

问题描述 投票:-1回答:2

我是机器学习的新手,我刚刚完成了我的第一个方法(随机森林)。现在我想分析一下这种方法的准确程度。我使用的第一个性能指标是使用以下公式计算正确预测的数量:

accuracy = correct predictions / total predictions * 100

现在,我想预测一个值为10的变量。我的大部分预测属于10 (0.85, 0.45, 0.95 etc..)之间的范围,因此这些不被认为是正确的预测 - 使用上述公式得到0.42%的准确性。我知道我做的事情非常愚蠢和错误。我应该将预测值舍入到最接近的整数,然后计算指标吗?

此外,我运行了AUC测试,它导致了81%的准确性。

python performance machine-learning random-forest
2个回答
1
投票

验证模型准确性的一个好方法是运行验证集方法(如您似乎正在做的那样)或交叉验证(K-Folds),更多内容如下:

https://en.wikipedia.org/wiki/Cross-validation_(statistics) https://en.wikipedia.org/wiki/Training,_test,_and_validation_sets

至于变量,这似乎是一个分类问题(您的输出变量可以是0或1)。

因此,一个好的方法是使用返回0或1(而不是中间的东西)的分类器。如果您将其设置为分类,则随机森林不应该给您这样的结果。

但是,您也可以根据需要设置不同值(0.5?0.8?)的阈值(您可以使用ROC曲线来帮助您确定最佳分类器)。


0
投票

是的,对于accurcay,你应该在0.5的门槛。即任何> = 0.5的预测变为1,任何<0.5的预测变为0.当然,您也可以选择任何其他阈值。例如。这可能是numpy

class_predictions = np.where(prob_predictions >= 0.5, 1, 0)

这将返回整数1或0的数组。

© www.soinside.com 2019 - 2024. All rights reserved.