rb-libsvm 中的零概率
Zero probabilities in rb-libsvm
我正在使用 rb-libsvm 进行预测
x.each_with_index do |e, i|
predictions << model_w2v.predict_probability(e).to_i
end
其中returns一个数组,其中第一个元素是标签,第二个是所有标签的概率。例如。 [2.0, [0.0, 0.0, 0.0, 0.0, 0.0]]
。标签每次都不同,但概率始终为零。不知是不是因为c转ruby时数字太小四舍五入为0.0。这里是 the relevant c code:
estimates = rb_ary_new();
for (i = 0; i < model->nr_class; i++)
rb_ary_push(estimates, rx_from_double(c_estimates[i]));
我该如何缓解这种情况?
rb-libsvm
gem 和基础 libsvm
需要将概率参数设置为真。因此,我只需要添加这一行并重新训练模型:
parameter.probability = 1
其中 parameter
之前定义为
parameter = Libsvm::SvmParameter.new
我正在使用 rb-libsvm 进行预测
x.each_with_index do |e, i|
predictions << model_w2v.predict_probability(e).to_i
end
其中returns一个数组,其中第一个元素是标签,第二个是所有标签的概率。例如。 [2.0, [0.0, 0.0, 0.0, 0.0, 0.0]]
。标签每次都不同,但概率始终为零。不知是不是因为c转ruby时数字太小四舍五入为0.0。这里是 the relevant c code:
estimates = rb_ary_new();
for (i = 0; i < model->nr_class; i++)
rb_ary_push(estimates, rx_from_double(c_estimates[i]));
我该如何缓解这种情况?
rb-libsvm
gem 和基础 libsvm
需要将概率参数设置为真。因此,我只需要添加这一行并重新训练模型:
parameter.probability = 1
其中 parameter
之前定义为
parameter = Libsvm::SvmParameter.new