一般に、ナイーブベイズ分類器をトレーニングするときに欠損値を処理するときに選択肢があります。あなたはどちらかを選ぶことができます
- 欠損値のあるレコードを除外し、
- 欠落している属性のみを省略します。
上記にリンクされた例を使用して、これらの2つのアプローチを示します。その例にさらに1つのトレーニングレコードを追加するとします。
Outlook Temperature Humidity Windy Play
------- ----------- -------- ----- ----
rainy cool normal TRUE no
rainy mild high TRUE no
sunny hot high FALSE no
sunny hot high TRUE no
sunny mild high FALSE no
overcast cool normal TRUE yes
overcast hot high FALSE yes
overcast hot normal FALSE yes
overcast mild high TRUE yes
rainy cool normal FALSE yes
rainy mild high FALSE yes
rainy mild normal FALSE yes
sunny cool normal FALSE yes
sunny mild normal TRUE yes
NA hot normal FALSE yes
欠損outlook
値のために最後のレコードを省略することにした場合、リンクで説明されているトレーニング済みモデルとまったく同じになります。
このレコードから入手できるすべての情報を使用することもできます。outlook
このレコードから属性を単に除外することもできます。これにより、次の更新されたテーブルが生成されます。
見通し湿度
==================== ================= ============= ====
はいいいえはいいいえはいいいえ
サニー2 3ホット3 2ハイ3 4
曇り4 0穏やか4 2普通7 1
雨3 2涼しい3 1
----------- --------- ----------
晴れ2/9 3/5暑い3/10 2/5最高3/10 4/5
くもり4/9 0/5穏やか4/10 2/5普通7/10 1/5
雨3/9 2/5涼しい3/10 1/5
風の強いプレイ
================= ========
はいいいえはいいいえ
誤り7 2 10 5
真3 3
---------- ----------
誤り7/10 2/5 10/15 5/15
真3/10 3/5
を除く 各属性には15の観測値があることに注意してください。観測Outlook
値は14のみです。これは、その値が最後のレコードでは利用できなかったためです。リンク先の記事で説明されているように、今後の開発はすべて継続されます。
たとえば、Rパッケージのe1071
naiveBayes実装には、na.action
na.omitまたはna.passに設定できるオプションがあります。