我遇到了一个二元分类问题,我确实有一些带有标签的实例(到目前为止,据我所知,这是“半监督”学习),但仅限于正类。所以我不能拿任何反面例子作为学习其他类的基础。这里的最佳做法是什么?我假设我应该找到一些离明确的正面最远的例子,并将它们视为负面;但如果是这样,在 Python 中(最好在 sklearn 中)有什么方便的方法?
此外,按照上面的方法,如果实例只能通过集群分离,我什么时候切换到监督模式(如果有的话)有点困惑?
我遇到了一个二元分类问题,我确实有一些带有标签的实例(到目前为止,据我所知,这是“半监督”学习),但仅限于正类。所以我不能拿任何反面例子作为学习其他类的基础。这里的最佳做法是什么?我假设我应该找到一些离明确的正面最远的例子,并将它们视为负面;但如果是这样,在 Python 中(最好在 sklearn 中)有什么方便的方法?
此外,按照上面的方法,如果实例只能通过集群分离,我什么时候切换到监督模式(如果有的话)有点困惑?
我看到两种方法:
要么您只使用正类来完成所有过程,因此基于一类分类方法,例如隔离森林、一类 SVM、自动编码器的重构错误(仅由您的正类训练)等等......所有这些分类器从一堂课中学习。
或者您可以分两步完成。首先尝试无监督方法(例如聚类)来提取负(和其他正)类样本。然后在正类和负类上使用二元分类器。在这种方法中,您要小心为您提供第二步的输入数据集的无监督拆分。你想避免贴错标签。