2

今まで、機械学習アルゴリズム (gbm、ランダム フォレスト、xgboost など) がデータに存在する悪い機能 (変数) を処理できるという印象を受けていました。

私の問題の 1 つでは、約 150 の機能があり、xgboost を使用すると、すべての機能を使用すると約 1 の対数損失が発生します。しかし、約 10 個の悪い機能 (何らかの手法を使用して見つかったもの) を削除すると、対数損失が 0.45 になります。それは大きな改善です。

私の質問は、悪い機能が本当にそんなに大きな違いを生むのでしょうか?

4

2 に答える 2

0

悪いデータ表現を完全に処理できるアルゴリズムはありません。アルゴリズムによっては (ディープ ラーニングのように) 優れているものもあれば、このように悪いものもありますが、すべてのML は悪いデータ表現に悩まされます。これが、最新のディープ ラーニングの理由の 1 つであり、手作業で作成された機能ではなく、生データに直接取り組むべきであるという前提があります (これは素晴らしいことであると同時に、非常に誤解を招く可能性があります)。

于 2016-02-27T16:00:11.483 に答える
-1

いいえ -

あなたは何か間違ったことをしています。ほとんどの場合、評価しているデータはトレーニング データと統計的に異なります。

あなたが話している機能がトレーニング データに対して予測できない場合、それらは xgboost によって無視されるため、それらを削除しても何の影響もありません。(線形モデルにはこの余裕はありません)

再現可能なコードをいくつか用意すれば、さらに深く掘り下げることができます。

于 2016-02-28T18:33:17.040 に答える