-1

我是 Sci-kit learn 的新用户,我正在研究一个分类问题,其中我有两个主要类,Class_1:良性程序和 Class_2:恶意软件(恶意程序)第二类(恶意软件)由不同的子类:蠕虫、病毒、特洛伊木马等。

在我的数据集中,我有良性程序、蠕虫、病毒等的样本

因此,由于我在分类两个主要类别(良性与恶意软件)方面具有相当高的准确性,因此我不希望一开始就将我的问题直接翻译为多类问题(良性 VS 木马 VS 病毒 VS 蠕虫 .. ..)。我想要的是通过 sci-kit 构建一个组合分类器,该分类器首先将我的数据集分类为主类(恶意软件,良性),然后如果样本被归类为恶意软件,则继续进行多类问题(蠕虫 VS 病毒 VS 木马,...)。

我不知道如何直接通过 sci-kit learn 的功能来做到这一点。我听说过多标签和多输出分类,我不知道我的问题是否可以在 scikit learn 中解释和实现为多输出问题:我的意思是,两个主要类(恶意软件,begnin),具有多个-恶意软件类的输出(多个子类:蠕虫、木马、....)?

提前感谢您的宝贵帮助

4

1 回答 1

0

您正在做的是多类分类,您可以通过指定自己的损失函数来实现它,例如:

loss(benign, trojan) = loss(benign, virus) = ... = 10

loss(trojan, virus) = loss(trojan, worm) = ... = 1

这将使您的分类器“了解”将蠕虫错误分类为病毒并不像将恶意软件错误分类为良性程序那么重要。

于 2018-02-28T11:43:45.437 回答