欠落データを処理する機械学習アルゴリズム


25

私は、検査値を含む高次元の臨床データを使用して予測モデルを開発しようとしています。データ空間は、5kサンプルと200変数でまばらです。アイデアは、機能選択方法(IG、RFなど)を使用して変数をランク付けし、予測モデルの開発にトップランクの機能を使用することです。

素朴なベイズのアプローチでは機能の選択はうまくいきますが、変数空間のデータが欠落している(NA)ために予測モデルの実装で問題に直面しています。欠落データのあるサンプルを慎重に処理できる機械学習アルゴリズムはありますか?


1
賛成の答えが存在するということは、この質問が広すぎて答えられないことを意味します。私は開いたままにすることを投票しています。
GUNG -復活モニカ

回答:


15

使用するモデルによって異なります。生成モデルを使用している場合、欠損値を処理する原則的な方法があります()。たとえば、Naive BayesやGaussian Processesなどのモデルでは、欠落している変数を統合し、残りの変数で最適なオプションを選択します。

判別モデルの場合、それは不可能なので、より複雑です。多くのアプローチがあります。GharamaniとJordanは、欠損値が隠れ変数のように扱われ、EMアルゴリズムのバリアントがそれらを推定するために使用される原則的なアプローチを説明します。同様に、スモーラ等。問題を明示的に解決するSVMアルゴリズムの変形を説明します。

多くの場合、欠損値を変数の平均値で置き換えることをお勧めします。最初の論文で説明したように、これには問題があります。時々、変数の回帰を行って欠損値を推定する論文に出くわしましたが、それがあなたのケースに当てはまるかどうかはわかりません。


2
多くの場合、欠損値を変数の平均値で置き換えることが推奨されます。ソースを指摘していただけますか?
セルゲイブッシュマノフ

1
@juampaなぜ識別モデルの欠損変数を統合することはできないと主張しますか ロジスティック回帰では常にこれを行います。実際、複数の代入に等しいことが示されます。
AdamO

1
@SergeyBushmanovここであなたの混乱にあなたと一緒にいます。(単一の)平均代入を使用することは、推奨されない場合があります。これは、場合によってはバイアスになり、その他の場合には反保守的な検証メトリックにつながるためです。
AdamO


2

欠損データを取り除くために、最近傍を使用した代入を試してください。

さらに、Caretパッケージにはさまざまなアルゴリズムへのインターフェイスがあり、すべてRの予測メソッドが付属しており、これを使用して新規データを予測できます。パフォーマンスメトリックは、同じパッケージを使用したk倍交差検証を使用して推定することもできます。


2

分類ツリーや回帰ツリーなど、予測モデルを構築するときに、欠損値を一意の異なる値として使用できるアルゴリズムもあります。xgboostなど


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