我想获得我用于项目的二元(好/坏)分类器的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文档。
ROC曲线是为二元分类定义的 - 结果可以取两个值。你有一个最小化问题,这不是ROC曲线的任务。 – Calimo
@Calimo,我没有做最小化问题。它是一个二元分类。也就是说,如果一个实例与一个项目相匹配,那么它就是正数。否则,它的消极。这不是二元分类吗?我认为你误解了我所谈论的内容:“如果距离低于某个程度......这只是一个匹配的标准,以确定何时说出否定或肯定的答案。我的模型非常利用GA的一种修改形式来执行一个任务(如分类),并没有真正使用遗传算法来执行最小化或最大化问题 – obiigbe91
否这不是二元分类的定义,二元分类是当你给两个组中的一个或另一个分配一个观察时,那么你检查分配是否正确在这里,你有两个以上的染色体,因此它不是二元分类 – Calimo