如何获得为遗传算法分类器绘制 ROC 曲线的分数?

How do I get the score for plotting the ROC curve for a genetic algorithm classifier?

我正在尝试获取用于项目的二进制 (good/bad) 分类器的 ROC 曲线。该分类器使用遗传算法进行预测。

例如如果 [1.0,0.5,0.4,0.7] 给出的测试染色体与另一个染色体 [0.8,0.5,0.3,0.6] 相匹配,则被认为是好的。通过匹配,我的意思是 Euclidean distance 值(来自另一条染色体)低于特定值。

我已经完成了 600 个实例的分类,我有最终的混淆矩阵(这个矩阵我的意思是四值 table 我们可以从中计算最终的 TPR 和 FPR),每个实例的正确分类标签,以及每个实例的所有预测。

我已阅读有关 ROC 曲线的文档,Receiver operating characteristic and Tools for Machine Learning Performance Evaluation: ROC Curves in Python。如何获取 ROC 曲线?

用我最后的四值 table 我想我只能在曲线上绘制一个点。上面的附加链接不断提到我需要一个分数(即概率分数),但我不知道如何为遗传算法分类器获得这个分数。但是我如何利用每个实例的预测知识来创建一种连续的 ROC 曲线?

免责声明:我是 ROC 绘图的新手,我在 Python 中对此进行编码 - 因此,我附上了 Python 相关的 ROC 文档。

不管你是如何创建分类器的。最后,您的模型只是给出一个正标签当且仅当 ||x - x_i|| < T,其中 T 是某个预定义的阈值。 ROC 曲线正是用这种东西进行参数化的——标量值,你可以改变它,使事情更倾向于分类为正或负。因此,只需遍历 T 的多个值,计算每个值的指标,这将创建您的 ROC 曲线。就这些!