2

Rubyで単純ベイズ分類をしようとしています。

現在、http://ai4r.rubyforge.org/を使用しています。

浮動小数点値では機能せず、文字列値では精度が約 20% 低下しました。float/integer を使用すると、nil から integer への [] no 暗黙的な変換が得られます。float を to_s で変換します。

float 値を機能させる方法はありますか? そうでない場合、ルビーの ai4r に代わる宝石や、素朴なベイズの代替アルゴリズムは何ですか?

4

2 に答える 2

2

...暗黙の変換...」エラーは、Ruby インタープリター内で、Integerが必要であるがnilが見つかったコンテキストで発生しています。

このエラーを取得するのは少し難しいですが、それを確認する 1 つの方法は次のとおりです。

Array.new(nil)

...それがおそらくあなたの場合に起こっていることです。

実際、gems/ai4r-1.9/lib/ai4r/classifiers/naive_bayes.rbはかなりまれな構造の を実際に使用していArray.new(...)ます。

Array.new() に渡される値は、戻り値によって異なりAi4r::Data::DataSetます#build_domains.

これで問題が解決しないことはわかっていますが、分析をさらに進めるのに役立つかもしれません。

于 2011-07-18T04:56:51.737 に答える
1

この質問は古いものであることは承知していますが、Naive Bayes 分類のためのより堅牢な Ruby gem を指摘したいと思います。

https://github.com/oasic/nbayes

于 2012-06-27T03:20:48.033 に答える