3/2のつめたい夕餉 Udemy キカガク 人工知能・機械学習 脱ブラックボックス講座 - 中級編 - (セクション7・8)
外科の予約を寝過ごし歯医者で昼寝、帰るやいなや3時間床で気を失う……もう寝ん
3/2の晩ご飯のおとも
キカガク 人工知能・機械学習 脱ブラックボックス講座 - 中級編 - (セクション7・8)
https://www.udemy.com/share/1000yeBEsYcFtTTXo=/
こないだ見終わったものの、演習部分手を動かしてなかったので復習&Corabolatoryの練習も兼ねて。
内容としては、重回帰分析によるデータ解析を、より詳解していくための手法(外れ値の処理・スケーリング)についてでした。
以下講義メモ(演習部分に関しては基本Corabolatoryへ、ちょっと細かい話のみこちらにメモ)。
3σ法
正規分布で表されると仮定されたデータにおいて、
平均値から±3σの範囲に含まれる値についてのみを捉え、
そこから外れた値を外れ値として検出するデータ処理手法。
σ: 標準偏差。値のばらつきの度合いを示す
※平均値ではなく中央値からの範囲をとったものはHampelの判別法という。
平均値や標準偏差が外れ値の影響を受けることを考慮した手法。
外れ値検出 (Outlier Detection) もしくは 外れサンプル検出 (Outlier Sample Detection) ~他の値・サンプルと大きく異なる値・サンプルを見つけよう!~
3σの範疇に入る値は、そのデータの99.7%程度になるとされる。
スケーリング
変数xの値がとるばらつきは、その変数が何を示しているものであるのかについても変わってくる。
例. 物件の家賃を決める要素 広さ: 0-50平米 駅からの距離: 0-1000m 治安: 0か1(良いか悪いか)
→これらのスケールを統一しなければ、どの変数の重みwが大きいのか、どの変数が重要なものなのか捉えづらくなる。
Standard Scaling(データの標準化)
変数xについてStandard Scalingを行う際には、
xからそのデータの変数全体の平均値を引き、それを標準偏差σで割って求める。
→平均0、標準偏差1の状態に、各変数xの値を調節している。
※σ = ±1の範囲に入る値はデータ全体の68%ほどであるため、1より大きくなる値が検出されることもある。
最大値1ではないことに注意。
外れ値除去・スケーリングを考慮した重回帰分析の演習
外れ値除去(3σ法の適用)においてサンプルが減りすぎてしまう場合の対処
サンプルが減りすぎてしまう場合、以下のような要因が考えられる。
3σ法は正規分布を仮定したものであり、それに従わないデータではうまくいかない
平均の数が多い
今回の場合では14個の変数について3σ法を適用している、つまりデータ全体においてカットされた範囲は0.03 * 14。
→見たいところを絞る必要が生じる場合もあると認識しておく。
.
具体的な対処方法は以下のように。
外れ値を取り除く(今回はこれ)
外れ値を平均もしくは中央値で補完
主成分分析を使用し、潜在変数に変換した後に3σ法を適用
主成分分析: 多次元のデータの共通となる要素を探り、合成して次元を落として行う分析手法?
主成分分析(1/4) :: 株式会社アイスタット|統計分析研究所
過学習
学習済みのモデルを構築し、訓練データと検証データとでそれぞれ決定係数(Xとyの相関)を測定すると、 検証データで値が下がることがある。
→過学習(オーバーフィッティング)が発生している恐れがある。
重回帰分析では過学習を避けることができないため、データのクレンジングで対応。
他の機械学習手法では、ハイパーパラメータというパラメータで人間側が調整をかけるため、その値を調整しながら過学習を避けるようにしていく。
Standard Scalingによるデータの前処理
今回の場合、scikit-learnのStandardScalerを使用し、訓練用のデータでスケーリングの学習(平均と標準偏差の計算)を行っている。
重回帰分析の場合、スケーリングで精度が変わるような手法ではないため、検証結果自体は変わらない。
→各変数の重みを確認するのに使う。
そのほかつまみぐい。
エンジリッシュ
https://e-lish.io/desk/user/detail/3231
150問。単語70/イディオム50/フレーズ30。
3/2の晩ご飯
AOSANのパン。シンプルなコッペパンが本当に美味しかった。