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

我在项目中使用了一个二元(好/坏)分类器,试图为其绘制ROC曲线。这个分类器使用遗传算法进行预测。

例如,如果给定的测试染色体[1.0,0.5,0.4,0.7]与另一个染色体[0.8,0.5,0.3,0.6]匹配,则认为它是好的。匹配的意思是与另一个染色体的欧几里得距离值低于某个特定值。

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

我已经阅读了关于ROC曲线的文档,接收者操作特征机器学习性能评估工具:Python中的ROC曲线。我该如何继续获取ROC曲线?

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

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


回答:

无论你是如何创建你的分类器的。最终,你的模型只是在||x - x_i|| < T时给出正标签,其中T是某个预定义的阈值。ROC曲线正是用这种类型的参数化——标量值,你可以改变它,使分类更偏向于正类或负类。因此,简单地通过多个T值,计算每个值的指标,这将创建你的ROC曲线。就是这样!

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注