1

我遇到了一个 SVM 示例,但我不明白。如果有人能解释预测的工作原理,我将不胜感激。请看下面的解释:

该数据集有10,000 个观测值,具有5 个属性Sepal WidthSepal LengthPetal WidthPetal LengthLabel)。标签positive是否属于I.setosa该类,negative如果属于某个其他类。

6000 个结果已知的观察值(即它们属于I.setosa该类,因此它们的标签属性为正)。其余4000 个的标签未知,因此假定标签为负数。6000 个观察值和从剩余4000个中随机选择的2500个观察值形成了10 倍交叉验证的集合。然后使用 SVM(10 折交叉验证)对8500 个观测值进行机器学习,并绘制ROC 。

我们在这里预测哪里?该集合有6000 个观测值,其值是已知的。剩下的2500人是如何获得负面标签的?当使用 SVM 时,一些正面的观察得到负面的预测。这个预测对我来说没有任何意义。为什么排除这1500 个观察值。

我希望我的解释清楚。如果我没有清楚地解释任何事情,请告诉我。

4

2 回答 2

1

我认为这个问题是一个语义问题:您将 4000 个样本集称为“未知”和“否定”——其中哪一个适用是关键区别。

如果 4000 个样本的标签确实未知,那么我会使用 6000 个标签样本 [cf 验证] 来做一个 1 类 SVM。然后将通过测试 N=4000 集来评估它们是否属于 setosa 类来生成预测。

相反,如果我们有 6000 个 setosa 和 4000 个(已知的)非 setosa,我们可以根据这些数据构建一个二元分类器 [cf 验证如下],然后使用它来预测任何其他可用的非 setosa 与非-标记的数据。

验证:通常作为模型构建过程的一部分,您将只获取已标记训练数据的一个子集,并使用它来配置模型。对于未使用的子集,您将模型应用于数据(忽略标签),并将模型预测的内容与真实标签的内容进行比较,以评估错误率。这适用于上述 1 类和 2 类情况。

摘要:如果您的所有数据都被标记,那么作为模型验证过程的一部分,通常仍然会对其中的一个子集进行预测(忽略已知标签)。

于 2013-06-20T12:21:25.303 回答
0

您的 SVM 分类器经过训练,可以判断新(未知)实例是否是 I. Setosa 的实例。换句话说,您正在预测新的未标记实例是否为 I.Setosa。

您找到了错误分类的结果,可能是因为您的训练数据中正面案例的实例比负面案例多得多。此外,通常会有一些误差范围。

总结:您的 SVM 分类器学习了如何识别 I.Setosa 实例,但是,它提供的非 I.Setosa 实例的示例太少,这可能会让您得到一个有偏见的模型。

于 2013-12-06T15:01:38.773 回答