素朴なベイズは欠けている機能を想定して予測を生成する必要があります(scikit学習)


7

Naive Bayesが確率を使用して予測を行い、特徴を互いに条件付きで独立しているものとして扱うことを考えると、テストデータにいくつかの特徴が欠落している場合、モデルは依然として予測を行うことができます。

欠落しているデータを補完することは一般的な慣行であることは知っていますが、いくつかの欠落している機能があると仮定して、ナイーブベイズが予測を行うことができるはずなのに、なぜこれを行うのですか?

これはsci-kit学習に実装できますか?機能の少ないテストセットを試しましたが、形状が整列していないためValueErrorが発生しました。

理論的にはこれは可能ですが、scikit学習では可能ですか?

回答:


4

あなたの質問は賢明です。古典的な単純ベイズ分類器(sklearn内)で事後確率が計算される方法は、データセット内のすべての特徴の条件付き確率の合計に似ています。機能は条件付きで独立したものとして扱われますが、分類確率を学習するために、このセットアップでは常にすべての機能が使用されます。モデルが学習された後も、新しい観測の事後を計算するためのこれらすべての機能を使用できます。条件付きの独立性は、統計と数学がルールに従って動作するようにするための仮定にすぎません。

しかし、事後の計算方法を少し変更することで、ベイジアンアプローチを使用して、特定の特徴がない場合でも予測を行うことができます。ベイジアンアプローチを使用して、特定の機能がない場合に予測を行うことは、まだ進行中の作業です。欠損値を使用して分類を行うために天文学にベイジアンアプローチが適用されているこのペーパーをご覧になることをお勧めします。

Naive Bayesは簡単な計算なので、Pythonで簡単に実装できます。sklearn Naive Bayesは欠損値のある予測をサポートしていないため、考えていることを実装するのが難しい場合があります。多分あなた自身のコードを書く方が良いでしょう:)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.