2017-10-19 13 views
1

私はY '値を予測する機械学習アルゴリズムを構築します。このために、データのスケーリングにYのLog値を使用しました。 予測されたY 'と実際のYの値を得たので、Yのログ値Y & Y'を指数値に変換する必要があります。ログ値から指数値まで、機械学習アルゴリズムの予測のための巨大な歪み

しかし、exp7(= ln1098)の値からは非常に大きな歪みがありました...それは多くのMSE(エラー)を作ります。

どのようにこの巨大な歪みを避けることができますか?(通常1000を超える値を取得する必要があります)

ありがとう!!

+0

従属変数のログを取ることは、乗法的なノイズ(つまり、ノイズが従属変数のサイズに比例する)がある場合に意味があります。そうでない場合は、それをしないでください。平均0と分散1(すなわち、平均を減算し、標準偏差で除算)に正規化することは、数値的問題を避けるのに役立ちます。おそらくそれを試すことができます。 stats.stackexchange.comまたはdatascience.stackexchangecomでもっと役に立つ回答が得られるかもしれません。 –

答えて

0

このため、データのスケーリングにはLog値Yを使用しました。 スケーリング用ではなく、ターゲット変数の分布を標準にする。

実際のターゲット値が発生したときにMSEが発生する場合、モデルが大きな値に十分にフィットできないことを意味します。通常、データの消去(異常値の除去)によって解決できます。または別のMLモデルを取る。

更新日 KFoldを実行し、各折りたたみのMSE/MAEを予測値と実数値との間で計算することができます。次に、大きなエラーを取って、このケースに含まれるパラメータ/機能を見てみましょう。

大きなエラーのあるケースは削除できますが、通常は危険です。

大きな値には一般的に適合しないということは、元のデータセットから異常値を削除しなかったことを意味します。ヒストグラムをプロットし、プロットを散らし、あなたがそれらを持っていないことを確認してください。

カテゴリ変数を確認してください:おそらく小さな値(< = 5%)があります。そうなら、それらをグループ化します。

または、小さい値のモデルと大きいモデルのモデルの2つを作成する必要があります。

+0

ありがとうございます。 MLモデルはLog値に適しています。もしそうなら、どのように歪みの原因となる大きな値の異常値を見つけることができますか? – Daeun

+0

答えを更新しました。 – avchauzov

関連する問題