问题标签 [one-class-classification]

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 投票
1 回答
319 浏览

computer-vision - 图像的一类分类

假设您有成千上万张猫的图像,如下所示:(https://web.archive.org/web/20150703060412/http://137.189.35.203/WebUI/CatDatabase/catData.html)。您希望构建一个可以查看图像并说出图像的系统 - 图像是否是猫的图像。

PS1:这个问题的关键挑战是看到“不是猫的东西”是一个巨大的宇宙——这个世界上每一个不是猫的图像都符合它的资格。将此问题表述为二进制分类并不好,因为几乎不可能收集“什么不是猫”的“综合”数据集。(如果你这样做,你的模型将和你的“什么不是猫”的数据集一样好)

PS2:这样的设置叫做“一类分类”

0 投票
1 回答
354 浏览

python - 在 Python sklearn.svm.OneClassSvm 中,如何仅使用预测标签和真实标签计算 ROC 和 AUC?

我正在使用 Python 3.6,sklearn.svm.OneClassSVM 来练习 OSVM,我想

计算 ROC、AUC。

我已经使用 decision_function() 来计算 ROC 和 AUC ,代码如下。

我想评估我通过决策函数计算的值。

只能使用预测标签和真实标签来获取ROC、AUC值吗?

0 投票
0 回答
290 浏览

c++ - Opencv SVM 一类预测总是返回 0

我正在处理 SVM 和一类分类问题。数据是一个 nx3 矩阵,其中每一行都是一个样本,所以我在数据矩阵中有 n 个样本:

我为训练数据编写的代码如下:

当我通过以下方式进行预测时:

它总是返回一个为零的 nx1 向量作为响应。

0 投票
1 回答
406 浏览

scikit-learn - 将目标/标签数据传递给 Scikit-learn GridSearchCV 的 OneClassSVM 拟合方法

据我了解,一类 SVM 是在没有目标/标签数据的情况下进行训练的。

Use of OneClassSVM with GridSearchCV 的一个答案建议当分类器是OneClassSVM.

该方法如何GridSearchCV处理这些数据?

它实际上是否在OneClassSVM没有目标/标签数据的情况下进行训练,并且只使用目标/标签数据进行评估?

我尝试遵循GridSearchCV 源代码,但找不到答案。

0 投票
1 回答
190 浏览

r - R 使用哪种算法来计算一类 SVM?(包 e1071)

R 使用哪种算法来计算一类 SVM?这是功能

我发现了这个非常不错的博客,作者在其中写了关于一类 SVM 的两种算法。提到的功能使用哪一个?

0 投票
1 回答
260 浏览

python - 如何使 one_class svm 用于多类分类?

我正在尝试使用一类 svm 进行分类。但我想知道如何使它适用于多类分类?

0 投票
0 回答
19 浏览

classification - 方差很大的一维数据的最佳判别方法

我有一个问题,我试图使用支持向量机 (SVM) 来区分两个类之间的一维数据系列。其中一个类具有非常特定的特征,从人类的角度很容易区分,唯一的缺点是另一个类的数据在数据样本之间有很大的变化,看起来使用它是不可行的作为一个班级。我只对区分来自感兴趣类别的数据(见下图)和所有其他“无趣”数据感兴趣。然后我尝试实现一个类 SVM (OC-SVM),它看起来工作正常,但没有我希望的那么好。因此,我开始寻找替代方案,并遇到了一类神经网络和生成对抗网络 (GAN) 作为一种可能的解决方案。想法是,由于我要检测的数据点具有一定的特征(见下图),因此对抗网络可以很好地执行。我对神经网络和深度学习领域非常陌生,所以我想在深入研究之前询问社区我是否正在做某事。也可以随意提出替代方法。

Ps:由于数据的巨大变化,无监督方法和聚类并不能很好地解决这个问题。

感兴趣数据的图像

0 投票
2 回答
2270 浏览

machine-learning - 用于新奇检测的一类 SVM 和隔离森林

我的问题是关于新奇检测算法 - 隔离森林和一类 SVM。我有一个训练数据集(具有 4-5 个特征),其中所有样本点都是内点,我需要将任何新数据分类为内点或异常点,并相应地摄取另一个数据帧。

在尝试使用隔离森林或一类 SVM 时,我必须在训练阶段输入污染百分比(nu)。但是,由于训练数据集没有任何污染,我是否需要将异常值添加到训练数据框中并将该异常值部分作为 nu.

同样在使用隔离森林时,我注意到每次我预测时异常值百分比都会发生变化,即使我没有更改模型。除了进入扩展隔离森林算法之外,有没有办法解决这个问题。

提前致谢。

0 投票
1 回答
211 浏览

image - 使用单类数据的图像分类的训练和验证准确率是错误的,想要解决这个问题

我已经建立了一个图像分类程序,使用 32 张图像用于训练,16 张图像用于验证,批量大小为 16 和 10 个 epoch。

我已将 ImageDataGenerator(rescale=1./255).flow_from_directory(image path and other parameters) 用于训练和验证图像。

我想对 1 个类别或单个类别的图像进行分类。

但是,当我为 keras 序列()模型使用 model.fit_generator(具有铰链损失,并使用优化器 - 'rmsprop' 和 'Adam')编译程序时,我得到的输出是训练和验证精度在第一个时期接近 1,对于剩余的时期,训练和验证与 1 完全相同。

请发送答案,我如何将训练准确度和验证准确度的输出固定为从 0.63 或类似开始,并在每个时期逐渐增加 6% 到 10%。

顺便提一下,我想训练和验证 1 类或单类的图像。

如果您需要有关此程序的更多详细信息,请发表评论。

0 投票
1 回答
341 浏览

machine-learning - sklearn oneclass svm KeyError

我的数据集是一组针对恶意软件和良性的系统调用,我对其进行了预处理,现在看起来像这样

现在我tfidf用来提取特征,然后ngram用来制作它们的序列

输出是:

现在对于我正在尝试使用的学习部分sklearn OneClassSVM

这是输出到fraud_predmain_corpus_target

但是当我尝试计算时TP,TN,FP,FN

我收到此错误:

1)我知道错误是因为它试图访问一个不在字典中的键,但我不能只在其中插入一些数字fraud_pred来处理这个问题,有什么建议吗?
2)我做错了什么,他们不匹配?
3)我想将结果与其他一类分类算法进行比较,由于我的方法,我可以使用的最好的算法是什么?