我在做二进制分类..。我有一个不平衡的数据,我用svm的权重来缓解这种情况.如您所见,我计算并绘制了每个类的roc曲线,并得到了以下图:
看上去这两个班有的甚至是一个..。我不确定我做的对不对,因为这是我第一次画我自己的机器人曲线.我在用Scikit学情节..。把每一班都单独画出来是对的吗。分类器是否未能对蓝色类进行分类?
这是我用来获得情节的代码:
y_pred = clf.predict_proba(X_test)[:,0] # for calculating the probability of the first class
y_pred2 = clf.predict_proba(X
我想考10个班的ROC。我使用了CNN模型(keras)。我可以得到一条vs rest曲线,但我想要一对一。以下是我的代码片段。 model.compile(optimizer=keras.optimizers.Adam(0.001),
loss='categorical_crossentropy',
metrics=['acc'])
from keras.callbacks import History
history = History()
model.fit_generator(generator=tr
我正在尝试将sklearn 的思想应用到我的数据集中。我的每类ROC曲线看起来都是一条直线,不符合sklearn的例子,显示曲线的波动。
我在下面给出一个MWE来说明我的意思:
# all imports
import numpy as np
import matplotlib.pyplot as plt
from itertools import cycle
from sklearn import svm, datasets
from sklearn.metrics import roc_curve, auc
from sklearn.model_selection import train
我在这方面是新手,但我想为活性化合物与诱饵的一个小数据集绘制一条ROC曲线。我基于这个链接:ROC curve for binary classification in python在这种情况下,这个小数据集是一个虚拟筛选的结果,它从实验数据(IC50)中对具有已知活性或不活性的化合物进行排名和评分。 我不确定图和AUC是否正确。我注意到,即使测试(真)预测值之间只有一个值的差异,AUC也只有0.5。对于我在下面插入的代码中的真实值和预测值,它只有0.49左右。也许模型没有正确地识别这些化合物。然而,我注意到,除了一些其他位置的化合物外,它还正确地识别了排名中的前十个化合物。也许它比消极的更
我用R的pROC软件包可视化了两个模型的ROC曲线和精确回忆曲线,第一个任务可以很容易地用软件包的plot.roc()函数来完成,然后在第一个模型之后用基R的lines()函数对第二个模型的ROC曲线进行叠加。
然而,第二项任务涉及的范围更大一些。根据,需要使用其coords()函数将ROC对象转换为包含“精度”和“召回”度量的东西,然后将对象提供给plot()函数。但后来我无法在现有的P曲线上覆盖另一条精确召回曲线。
我在下面列出了我的工作数据和代码。希望有人能对这件事有所了解。
# require pROC
library(pROC)
# example data from two