web-dev-qa-db-ja.com

Pythonの単純ベイズ分類器はありますか?

単純ベイズ分類のためのオレンジフレームワークを試しました。方法は非常に直感的ではなく、ドキュメントは非常に整理されていません。ここの誰かが推奨する別のフレームワークを持っていますか?

今のところ、主にNaiveBayesianを使用しています。 nltkのNaiveClassificationを使用することを考えていましたが、連続変数を処理できるとは考えていません。

私のオプションは何ですか?

21
disappearedng

scikit-learn には、ガウス単純ベイズ分類器の 実装 があります。一般に、このライブラリの目標は、読みやすく使いやすいコードと効率の間の適切なトレードオフを提供することです。うまくいけば、アルゴリズムが機能することを学ぶのに良いライブラリになるはずです。

25
Gael Varoquaux

This 開始するのに適した場所かもしれません。これは、単純ベイズ分類器のpython実装の完全なソースコード(テキストパーサー、データストレージ、および分類器)です。完全ですが、1回のセッションで消化できるほど小さいです。コードはかなりよく書かれていて、よくコメントされていると思います。これは、本のソースコードファイルの一部です集合知プログラミング

ソースを取得するには、リンクdlをクリックして、メインフォルダー「PCI_Code」からZipを解凍し、pythonソースファイル 'docclass.pyがあるフォルダー'第6章 'に移動します。これがベイジアンスパムフィルターの完全なソースコードです。トレーニングデータ(電子メール)は、同じフォルダー( 'test.db')にも含まれているsqliteデータベースに保持されます。必要な外部ライブラリは、sqlite(pysqlite)へのpythonバインディングのみです。まだインストールしていない場合は、sqlite自体も必要です)。

13
doug

自然言語を処理している場合は、 Natural Language Toolkit を確認してください。

あなたが何か他のものを探しているなら、ここに簡単な PyPIで検索 があります。

pebl は連続変数を処理しているようです。

9
Hank Gay

Divmod Reverend が最も簡単で使いやすいPythonベイズ分類器)であることがわかりました。

3
Cerin

Paul GrahamのLISPのものを取り、Python http://www.paulgraham.com/spam.html に変換しました。

2
Ryan Nowakowski

SpamBayes もあります。これは、スパムだけでなく、一般的な単純ベイズ分類器として使用できると思います。

0
Paul D. Waite