我们正在尝试用Ruby进行朴素贝叶斯分类。
目前我们使用的是http://ai4r.rubyforge.org/
我们不能让它在浮点值上工作,而且字符串值的精度降低了大约20%。对于浮点数/整型数,我们得到一个[],没有从nil到整数的隐式转换。我们用to_s转换浮点数。
有没有办法让浮点值正常工作?如果不是,那么ai4r的ruby的替代宝石是什么,或者朴素贝叶斯的替代算法是什么?
发布于 2011-07-18 12:56:52
"...implicit转换...“在需要Integer但找到nil的上下文中,错误来自于Ruby解释器。
要得到这个错误有点困难,但一种查看它的方法是:
Array.new(nil)...so,这可能就是发生在你身上的事情。
事实上,gems/ai4r-1.9/lib/ai4r/classifiers/naive_bayes.rb确实使用了非常少见的Array.new(...)结构。
传递给Array.new()的值取决于Ai4r::Data::DataSet从#build_domains.返回的内容
我知道这不能解决您的问题,但它可能会帮助您进一步进行分析。
发布于 2012-06-27 11:20:48
我知道这个问题比较老,但我想为朴素贝叶斯分类指出一个更健壮的Ruby gem:
https://stackoverflow.com/questions/6728569
复制相似问题