一个 class class化 - 解释模型的准确性
One class classification - interpreting the models accuracy
我正在使用 LIBSVM class数据化。我主要是做一个ClassClass化.
我的训练集只包含一个 class 的数据,而我的测试数据包含两个 class 的数据(一个属于目标 class,另一个不属于目标 class不属于目标 class).
在训练和测试数据集上应用 svmtrain 和 svmpredict 后,训练集的准确率为 48%,测试集的准确率为 34.72%。
好看吗?我怎么知道 LIBSVM 是否 class 正确地验证了数据集?
说它好不好完全取决于你要分类的数据。您应该针对您的分类搜索 SVM 模型的最新准确度,然后您将能够知道您的模型是否好。
从您的结果中我可以说的是,测试准确度比训练准确度差,这是正常现象,因为分类器通常在使用它以前见过的数据时表现更好。
您现在可以尝试使用正则化参数(如果您使用的是线性内核,则为 C)并查看测试集上的性能是否有所提高。
您还可以跟踪学习曲线来查看您的分类器是否过拟合,这将帮助您选择是否需要增加或减少正则化。
对于您的情况,您可能希望对 类 应用加权,因为数据通常是稀疏的,有利于负面示例。
要了解 Libsvm 是否正确地对数据集进行了分类,您可以查看它预测正确的示例以及预测错误的示例。然后你可以尝试改变你的特征来改善它的结果。
如果您担心您的代码是否正确,您可以尝试编写一个玩具示例并使用它或者使用网络上某人的示例并复制他们的结果。
我正在使用 LIBSVM class数据化。我主要是做一个ClassClass化.
我的训练集只包含一个 class 的数据,而我的测试数据包含两个 class 的数据(一个属于目标 class,另一个不属于目标 class不属于目标 class).
在训练和测试数据集上应用 svmtrain 和 svmpredict 后,训练集的准确率为 48%,测试集的准确率为 34.72%。
好看吗?我怎么知道 LIBSVM 是否 class 正确地验证了数据集?
说它好不好完全取决于你要分类的数据。您应该针对您的分类搜索 SVM 模型的最新准确度,然后您将能够知道您的模型是否好。
从您的结果中我可以说的是,测试准确度比训练准确度差,这是正常现象,因为分类器通常在使用它以前见过的数据时表现更好。
您现在可以尝试使用正则化参数(如果您使用的是线性内核,则为 C)并查看测试集上的性能是否有所提高。
您还可以跟踪学习曲线来查看您的分类器是否过拟合,这将帮助您选择是否需要增加或减少正则化。
对于您的情况,您可能希望对 类 应用加权,因为数据通常是稀疏的,有利于负面示例。
要了解 Libsvm 是否正确地对数据集进行了分类,您可以查看它预测正确的示例以及预测错误的示例。然后你可以尝试改变你的特征来改善它的结果。
如果您担心您的代码是否正确,您可以尝试编写一个玩具示例并使用它或者使用网络上某人的示例并复制他们的结果。