機械学習

外れ値を調節して精度を上げたい! MLC 第6回

こんにちは、チズチズです!

早速ですが、タイトルにMLCってありますが…

何の略だと思いますか?

M…Machine

L…Learning

C…Chizuchizu

簡略化と格好つけた結果こうなりました。

読み方は仮ですが(マレック)です。( `・∀・´)ノヨロシク

前回の振り返り

  • 単回帰分析が性能良かった
  • 多項式回帰は単回帰分析とそこまで変わらない
  • でもやっぱ下位層…

前回の反省は

前処理です

無理やり標準偏差?!

基本的にデータは標準偏差内に入ってるのが望ましいです。

つまり、標準偏差外だったら… 消すor変える

一旦標準偏差と平均求める

標準偏差外はどうする?

消そうか、変えようか…考えた末に思いついたのが

yからxを求めて赤い線(回帰された線

の上になるようにする(プラマイ0

無理矢理感が凄いですが、yとXを反転させるみたいなもんです。

モデルを作って…

標準偏差外はyからXを予測させてぶち込みます。

これまでの処理はあくまでもX_2の標準偏差外を標準偏差内に無理やり押し込むだけのコードなので、X_3をまた予測させます。

…精度は

0.28783→0.28960

微妙に低くなりました。

えっと…色々事故りました。

もう一度って実行したら何もかもエラーになりました。

グラフ作ったんですが、線と違う方向にX_3が向かっていました。

次は、標準偏差外は消してみます。

標準偏差外を削除

https://qiita.com/mizutaku17/items/6bd8e778b6e9ec7b162d

このサイトを参考にさせていただきました。

外れ値を欠損値にさせる関数です。

さっきのサイトにあった関数を置いといて…

これで完璧。

どんなグラフになるか見てみます。

だいぶデータが減ってます。

モデル作り

一旦Numpyの配列に変えます。

もちろんテストデータもね!

予測させました。

グラフ鑑賞

何もいじってないやつです。

分散多い…

2番目のやつです。

上の方の外れが目立つ…

3番目のやつです。

フォ…

結果

そのまんま(何もいじってない…0.30250

2番目            …0.30889

3番目            …0.30250

全然良くないじゃん!

他の人のコードを見てきます。

ただ、発想は悪くないと思いました。

反省

きっと外れ値の判定を間違えたのだと思います。

というか、このままじゃ一方に進まない気がするので上位の人のコードを見てきて明日(多分)最後のリベンジ戦に挑みます。

目標は0.1台です。

Kaggleやると結構知らないことを発見できるので興味持ったらやってみてください!

(実際に外れ値の除去についてググったりエラー処理して3時間以上時間取られた

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です