我想在我的 SVM 分类中有一个无效的类别。例如考虑水果分类,我想要 APPLE、ORANGE、BANANA 和“NOT FRUIT”(无效)。我想知道是否最好为每个类别创建一个二进制 SVM 分类器(一个用于 APPLE,一个用于 ORANGE 等),或者创建一个将无效类别作为类别之一的 SVM 分类器,并为其提供无效的训练数据。
更具体地说,我有一个分类时间序列数据的分类器。我需要将一些美联储时间序列分类为无效类别(或基本上不是所需类别)。
我想在我的 SVM 分类中有一个无效的类别。例如考虑水果分类,我想要 APPLE、ORANGE、BANANA 和“NOT FRUIT”(无效)。我想知道是否最好为每个类别创建一个二进制 SVM 分类器(一个用于 APPLE,一个用于 ORANGE 等),或者创建一个将无效类别作为类别之一的 SVM 分类器,并为其提供无效的训练数据。
更具体地说,我有一个分类时间序列数据的分类器。我需要将一些美联储时间序列分类为无效类别(或基本上不是所需类别)。
这取决于您的 SVM 包。如果您使用的是 libsvm,则可以有几个“正”类。只需将“无效”类称为 0,将 apple 称为 1,将 orange 称为 2,依此类推。
no_fruit 只是另一个类。你需要的是多类分类。SVM 通过超平面分离类,因此您需要在顶部使用另一种算法。现在大多数包都提供这样的多类分类,但性能上存在差异。
无论你先做什么,你都会有多个结果(石头剪刀布)
我建议使用一个也可以进行投票的库。
尽管您说的是“时间序列数据”。听起来不像水果,可能还有其他要求