问题标签 [roc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
977 浏览

r - 使用 ROC 作为优化指标的插入符号中使用 randomForest 时的问题

使用插入符号构建随机森林模型时遇到问题。我有一个大约 46k 行和 10 列的数据集(其中之一是优化目标)。从这个数据集中,我试图比较不同的分类器。我做了以下事情:

然后,model.glm 和 model.nb 看起来都不错。我可以查看 25 个引导复制,每个案例的 ROC 约为 0.7。但是,model.rf 似乎有问题,因为报告的 ROC 分数都在 0.3 左右。这向我表明,某些东西的指定不正确,因为我可以将我的预测从 rf 模型从 p 切换到 1-p,然后我的 ROC 将是 0.7,对吗?

很抱歉我不能提供数据(因为上传的数据很大而且是专有的)。另一个奇怪的是,当我模拟数据时,我不再有这个问题。知道这可能是什么吗???谢谢你的帮助!

0 投票
1 回答
1569 浏览

python - 可以使用 scikit-learn 中的预计算内核从 SVM 制作 ROC 图吗?

我正在使用此示例从 SVM 分类结果创建 ROC 图:http: //scikit-learn.org/0.13/auto_examples/plot_roc.html

然而,每个数据点实际上由 4 个长度为 d 的特征向量组成,使用不符合特定 K(X, X) 范式的自定义核函数组合。因此,我必须为 scikit-learn 提供一个预先计算好的内核来进行分类。它看起来像这样:

生成 ROC 图(来自上面的链接)的主要障碍似乎是将数据分成两组,然后调用predict_proba()测试集的过程。是否可以使用预先计算的内核在 scikit-learn 中执行此操作?

0 投票
1 回答
1505 浏览

classification - Adaboost weka 真阳性与假阳性识别问题

我在 Weka 实验环境中使用默认设置的 Adaboost M1 算法:

  1. 运行 (1-10) -> 10 次运行以提供更具统计意义的结果
  2. 随机拆分结果生成器
  3. 我使用训练百分比将训练与评估数据分开

现在,问题在于加权平均 TP 和 FP 结果。我明白了:

TP:0.8
FP:0.47

但据我所知,如果 TP 率为 0.8,FP 率应该高达 0.2?我假设这与 10 次运行有关,但无论如何,如果从这次运行中获取平均值,那么这个 FP 率应该会低得多吗?

抱歉,如果这是一个太简单的问题,但从我的逻辑来看,这似乎是 Weka 工具包中的错误,还是我错了?谢谢

编辑:

为了避免提出新问题并且因为这与同一个问题有关,任何人都可以回答 Weka 中显示的加权平均值是什么?

我在下面包含了 Atilla 的示例:可以看出加权平均值不是平均值,例如 AVG(0.933,0.422) != 0.77 等。

有人可以回答这些值实际上是什么吗?

=== 按等级划分的详细准确度 ===

加权平均 0.77 0.416 0.766 0.77 0.749 0.429 0.844 0.847

0 投票
1 回答
1603 浏览

r - 使用knn在r中选择变量

我有一个包含 72 个观察值和 592 个变量的数据框(df),其中一个因子类变量(总共 593 个变量,即 dim(df) = 72 593)。我正在寻找一种方法来使用接收器操作特性 (ROC) 选择 7 个变量(包括类变量)来选择最佳 k 值。我想使用这七个变量使用图形模型进行分析,但我不想随机选择变量。我希望我的选择在统计上是合理的。

我希望看到的结果类似于:

根据 ROC 的最大值选择变量 V23、V120、V230、V333、V496、V585、V593。

即我想对高精度的“最佳”预测变量进行分类和选择,以便我可以将这些变量用于图形建模。

我曾尝试使用 caret 包,但我不知道如何操作它来选择可用于其他分析的高精度变量(列)。

多谢你们。相信有人理解我。

谢谢。

库特克斯。

0 投票
0 回答
1193 浏览

knn - 如何为 1 个最近邻分类器绘制 ROC 曲线

我想根据支持向量机分类器等评估我的 KNN,其中 K = 1 分类器,但我不确定我计算 ROC 图的方式是否正确。分类器是为两类问题(正类和负类)构建的。

如果我理解正确,要计算 K=20 的 KNN 的 ROC,要获得图上的第一个点,我们将获得测试样本的真阳性和假阳性值,其中 20 个最近邻中的 1 个或多个是积极的阶级。为了获得第二点,我们评估测试样本的真阳性和假阳性值,其中 20 个最近邻中的 2 个或更多是阳性类。重复此操作,直到阈值达到 20 个最近邻居中的 20 个。

对于 K=1 的情况,ROC 曲线是否只是在图上只有 1 个点?有没有更好的方法来计算 1NN 案例的 ROC?我们如何才能公平地评估 1NN 分类器对 SVM 分类器的性能?我们只能在 1NN 分类器的单个误报值上比较分类器的性能吗?

0 投票
1 回答
688 浏览

r - 贝叶斯逻辑回归的 roc 曲线

有没有人可以帮我实现贝叶斯逻辑回归的 ROC 曲线?一直在尝试 DPpackage 但它是我还是它不起作用。

我想使用 ROC 曲线比较的两个模型如下所示:

Default ~ ACTIVITY + CIF + MAN + STA + PIA + COL + CurrLiq + DebtCov + GDPgr我的论点在哪里?mydata 是数据库;mylogit.reduced 是在贝叶斯之前估计的逻辑回归,B0是协变矩阵,subset=c是消除的观测值。

0 投票
2 回答
338 浏览

scikit-learn - scikit-learn 0.14 中的 auc_score

我正在scikit-learn 中针对二进制分类问题训练RandomForestClassifier 。我想最大化模型的 auc 分数。我知道这在 0.13 稳定版本中是不可能的,但在 0.14 前沿版本中是可能的。

我试过这个,但我似乎得到了更糟糕的结果:

这是作为模型的参数还是仅在 gridsearchCV 中起作用?

如果我在 gridsearchCV 中使用它,它会使模型更适合数据auc_score吗?我也想尝试最大化recall_score

0 投票
2 回答
12272 浏览

r - Plotting an ROC curve in glmnet

EDIT: As Dwin pointed out in the comments, the code below is not for an ROC curve. An ROC curve must be indexed in variation in t and not in lambda (as I do below). I will edit the code below when I get the chance.

Below is my attempt to create an ROC curve of glmnet predicting a binary outcome. I've simulated a matrix that approximates glmnet results in the code below. As some of you know, given an n x p matrix of inputs, glmnet outputs an n x 100 matrix of predicted probabilities [$\Pr(y_i = 1)$] for 100 different values of lambda. The output will be narrower than 100 if further changes in lambda stop increasing predictive power. The simulated matrix of glmnet predicted probabilities below is a 250x69 matrix.

First, is there an easier way to plot a glmnet ROC curve? Second, if not, does the below approach seem correct? Third, do I care about plotting (1) the probability of false/true positives OR (2) simply the observed rate of false/true positives?

There's one question on this on SO, but the answer was rough and not quite right: glmnet lasso ROC charts

0 投票
1 回答
5000 浏览

r - 如何在 R 中使用留一法交叉验证获得 AUC?

我有一个包含 100 个样本(行)和 10000 个独立特征(列)的矩阵 (x)。观察结果是二元的,样本是好的还是坏的 {0,1}(存储在向量 y 中)。我想执行遗漏交叉验证并分别确定每个功能的曲线下面积(AUC)(类似于 CAtools 包中的 colAUC)。我尝试使用 glmnet,但它不起作用。正如手册中所说,我尝试将 nfold 参数设置为等于观察次数(100)。

我收到了这些警告:

任何想法我做错了什么?是否有任何其他方式或 R 包来获得每个特征的 LOO 平衡 AUC 值?

我会非常感谢任何帮助。谢谢!

0 投票
2 回答
28942 浏览

python - ValueError:数据不是二进制且未指定 pos_label

我正在尝试计算roc_auc_score,但出现以下错误。

我的代码片段如下:

请告诉我它有什么问题。