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

时间:2016-04-20 19:17:04

标签: python machine-learning scikit-learn genetic-algorithm roc

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

E.g。如果[1.0,0.5,0.4,0.7]给出的测试染色体与另一条染色体相匹配,据说是好的,比如[0.8,0.5,0.3,0.6]。通过匹配,我的意思是Euclidean distance值(来自另一条染色体)低于特定值。

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

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

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

免责声明:我是ROC绘图的新手,我用Python编写代码 - 因此,我附上了与Python相关的ROC文档。

1 个答案:

答案 0 :(得分:0)

如何创建分类器并不重要。最后,您的模型只是给出一个正面标签iff ||x - x_i|| < T,其中T是某个预定义的阈值。 ROC曲线的参数化正是这类事物 - 标量值,你可以改变它以使事物更偏向于分类为正面或负面。因此,只需经历多个T值,计算每个值的指标,这将创建您的ROC曲线。这就是全部!