我在使用训练好的模型对数据进行分类,发现结果会随着数据集大小的变化而变化。例如,假设我最初有n行数据,对其进行分类后得到一组结果X。现在如果我在原数据集中增加m行数据,使得总行数变为n+m,然后再进行分类,那么前n行的结果也会有所不同。而且这种变化并不微小。如果有人能对此提供一些见解,请告诉我。如果我的问题不够清楚,请告诉我。我使用的是R语言,分类器是SVM。
回答:
如果我理解正确的话,原因在于SVM模型是将所有样本表示为空间中的点。
根据维基百科的说法:
这意味着所有数据都被映射,以便不同类别的示例之间有一个尽可能宽的清晰间隔。
所有示例都被映射到同一空间中,并根据它们落在间隔的哪一侧来预测它们属于哪个类别。
由于所有数据都被映射,新数据集可能意味着新的划分,从而影响你的最终结果。