我如何显示ROC曲线以用于分类目的?我知道ROC曲线是基于输出是二进制的这一基本前提绘制的,但我听说有解决方法可以绕过这个警告.

到目前为止我的代码如下:

models = []
svc = LinearSVC(C=10, loss = 'hinge', random_state=1, max_iter=1000000)
models.append(('Linear SVC', svc))
models.append(('Kernel SVC', SVC(kernel = 'rbf', degree = 2, C=1.0, random_state=1, max_iter = 1000000)))
models.append(('AdaBoost', AdaBoostClassifier(DecisionTreeClassifier(max_depth=2), 
                                              n_estimators=200,
                                              algorithm="SAMME.R", 
                                              learning_rate=0.5, 
                                              random_state=42)))
models.append(('RandomForest', RandomForestClassifier(max_depth=2, 
                                                      n_estimators=500,
                                                      m
ax_leaf_nodes=16, 
                                                      n_jobs=-1,
                                                      random_state=42)))

推荐答案

OvR — One vs Rest个 OVR代表"One vs Rest",顾名思义,它是一种通过同时将每个类与所有其他类进行比较来判断多类模型的方法.在这个场景中,我们 Select 一个类,并将其视为"积极"类,而所有其他类(其余类)被视为"消极"类.

通过这样做,我们将多类分类输出简化为二分类输出,因此可以使用所有已知的二分类度量来判断该场景.

OvO — One vs One个 现在,正如您可能想象的那样,OVO代表"一对一",实际上类似于OVR,但我们不是将每一类与其他类进行比较,而是比较数据集的所有可能的两类组合.

假设我们有一个3类场景,并且我们 Select 了组合"Class1 vs Class2"作为第一个.第一步是获取只包含这两个类的数据集的副本,并丢弃所有其他类.然后,我们将实类为"Class1"的观察定义为正类,将实类为"Class1"的观察定义为负类.既然问题是二进制的,我们还可以使用我们用于二进制分类的相同度量.

请注意,"Class1 vs Class1"与"Class1 vs Class1"不同,因此这两种情况都应该考虑在内.因此,在3类数据集中,我们得到6个OVO分数,而在4类数据集中,我们得到12个OVO分数.

Python相关问答推荐

如果索引不存在,pandas系列将通过索引获取值,并填充值

如何在Deliveryter笔记本中从同步上下文正确地安排和等待Delivercio代码中的结果?

根据不同列的值在收件箱中移动数据

如何使用pandasDataFrames和scipy高度优化相关性计算

Gekko:Spring-Mass系统的参数识别

非常奇怪:tzLocal.get_Localzone()基于python3别名的不同输出?

不理解Value错误:在Python中使用迭代对象设置时必须具有相等的len键和值

使用@ guardlasses. guardlass和注释的Python继承

基于字符串匹配条件合并两个帧

无法使用DBFS File API路径附加到CSV In Datricks(OSError Errno 95操作不支持)

如何从pandas的rame类继承并使用filepath实例化

当点击tkinter菜单而不是菜单选项时,如何执行命令?

当我try 在django中更新模型时,模型表单数据不可见

CommandeError:模块numba没有属性generated_jit''''

处理具有多个独立头的CSV文件

在输入行运行时停止代码

Python如何导入类的实例

浏览超过10k页获取数据,解析:欧洲搜索服务:从欧盟站点收集机会的微小刮刀&

正在try 让Python读取特定的CSV文件

Match-Case构造中的对象可调用性测试