如何在Vowpal Wabbit中使用SVM进行bagging或boosting?
我当前的结果是90%的召回率和10%的精确率。
vw -d train.dat -c compressed --passes 10 --oaa 3 -f train.model --loss_function hinge
我想使用bagging/boosting来提高精确率
回答:
对于boosting,使用--boosting N
(最近添加的,所以请使用GitHub上的VW)。对于bagging,使用--bootstrap M
。参见Vowpal Wabbit上的梯度提升。
我不明白如何为分类成3个类别定义召回率和精确率。假设现在你有一个标准的二元分类(有两个类别:正类和负类),你想优化F1分数(精确率和召回率的调和平均值),并且你的精确率为10%,召回率为90%。因此,只有10%的被预测为正的例子是真正正的。(这可能是由数据不平衡或测试数据中正例的比例与训练数据不同引起的。)在这种情况下,我建议增加负例的重要性权重(参见VW wiki中的[Importance]),或者降低正例的重要性。