Rubyで単純ベイズ分類をしようとしています。
現在、http://ai4r.rubyforge.org/を使用しています。
浮動小数点値では機能せず、文字列値では精度が約 20% 低下しました。float/integer を使用すると、nil から integer への [] no 暗黙的な変換が得られます。float を to_s で変換します。
float 値を機能させる方法はありますか? そうでない場合、ルビーの ai4r に代わる宝石や、素朴なベイズの代替アルゴリズムは何ですか?
Rubyで単純ベイズ分類をしようとしています。
現在、http://ai4r.rubyforge.org/を使用しています。
浮動小数点値では機能せず、文字列値では精度が約 20% 低下しました。float/integer を使用すると、nil から integer への [] no 暗黙的な変換が得られます。float を to_s で変換します。
float 値を機能させる方法はありますか? そうでない場合、ルビーの ai4r に代わる宝石や、素朴なベイズの代替アルゴリズムは何ですか?
「...暗黙の変換...」エラーは、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.
これで問題が解決しないことはわかっていますが、分析をさらに進めるのに役立つかもしれません。
この質問は古いものであることは承知していますが、Naive Bayes 分類のためのより堅牢な Ruby gem を指摘したいと思います。