我有 25 个类,第 0 类包含所有 24 个其他类的所有负样本,因此该类中的样本数量比其他类大得多(例如,大 10 倍,因为它应该包括 24 个中的所有负样本其他类)
现在我的问题是当我想训练这个数据集时应该怎么做?
我是否必须使用 libsvm 提供的不平衡训练选项?-w0 1 -w1 ....
我的意思是是否必须使用此选项?
因为当我在没有这个选项的情况下训练数据时,它为分离类提供了 99.8% 的准确率,当我测试这个准确的模型时!!!对于某些课程,我得到 100% 的准确率,而对于其他一些课程,我得到 0.0% !!!
我的意思是对于某些课程,它不会错过任何样本,但对于另一个课程,它将始终返回 0 !!!这意味着它是一个负样本!
我想使用这个选项,但我不知道它的规则。我的意思是我应该如何使用这个选项为一个类设置一个值?
假设每个类中的样本数为:
0级-> 3433
1 级 -> 745
2 级 -> 232
3 级 -> 53
. . . 23 级 -> 975
我应该如何为每个班级设置 wi 我应该在 [0,1] 或 [-1 1] 或 (-inf +inf) 之间缩放它们还是什么?
总结 >
1)。是否必须为我的数据集使用 -wi 选项?
2)。我应该如何设置这个值
谢谢