我目前正在使用随机森林分类器开发一个疾病预测的机器学习模型。我输入症状,然后程序会预测疾病。预测本身没有问题,但我希望“逐一”计算每个预测值的准确性。例如,程序预测“结核病”为疾病。然后,我希望计算此预测的准确率。(仅计算结核病预测的准确性。)我该如何逐一计算每个预测值的准确性呢?
回答:
对于随机森林来说,这可能比较困难。随机森林分类器将特征空间划分为区域,然后根据点的位置分配值。显然,点的大小为0,不可能60%在一个区域,40%在另一个区域,因此在疾病的情况下,预测的标签只能是“结核病”或“无结核病”。
另一方面,其他方法在这方面提供了更多选择。例如,二元神经网络分类器将有两个输出神经元(每个类别一个),每个预测的标签来自与之关联的权重较高的神经元。但你实际上可以报告输出神经元的权重以及基于这些权重的预测的置信度。在这个图像中有3个输出类别,但你明白这里的想法 – 你可以说记录有60%的可能性属于第二类,30%的可能性属于第三类,10%的可能性属于第一类:
最后,另一种方法是逻辑回归,其中预测是logit的值,本质上是点属于正类(在你的例子中是某人有结核病的概率)的概率。