決定木学習アルゴリズムは欠損値をどのように処理しますか(内部)


21

欠損値を処理するために決定木学習アルゴリズムが使用する方法は何ですか。

missingと呼ばれる値を使用して、単にスロットをいっぱいにしますか?

ありがとう。

回答:


24

さまざまな決定木で使用されるいくつかの方法があります。欠損値を単に無視する(ID3や他の古いアルゴリズムのように)か、欠損値を別のカテゴリとして扱う(名目上の特徴の場合)ことは、欠損値を実際に処理することではありません。ただし、これらのアプローチは、ディシジョンツリー開発の初期段階で使用されていました。

欠損データに対する実際の処理アプローチでは、分割の評価で欠損値を持つデータポイントを使用しません。ただし、子ノードが作成およびトレーニングされると、それらのインスタンスは何らかの形で分散されます。

欠損値インスタンスを子ノードに配布する次のアプローチについて知っています。

  • すべてがすでに最大数のインスタンスを持っているノードに移動します(CARTはプライマリルールではありません)
  • すべての子に配布しますが、各子ノード(C45およびその他)からのインスタンスの数に比例して重みを減らします
  • 最終的にカテゴリカル分布に従って、1つの単一の子ノードのみにランダムに分散します(C45およびCARTのさまざまな実装で、実行時間を短縮できることがわかりました)。
  • サロゲートをビルド、ソート、使用して子ノードにインスタンスを配布します。サロゲートは、テスト機能が左または右の子ノードにデータインスタンスを送信する方法に最も近い入力機能です(失敗した場合は多数決ルールが使用されます)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.