gocha124の日記

ごちゃごちゃ書きます

機械学習の勉強(Kaggle)#1

いろいろと調べたことや気になったことを残していきます。

今回は機械学習を身につけていこう、です。今回はKaggleで調べたことをメモして行きます。Kaggleとは、投稿されたデータの最適モデルを競いあう分析手法関連のプラットフォーム及びその運営会社(from Wikipedia)です。最近Googleに買収されたことでも有名になりました。

 

はじめに次のnotebookを参考にしました。このnotebookでは、これらデータを見ようとした時に、そもそもどんなデータなのかを調べる流れと手順がまとめてあります。Pythonを使って理解する流れを、手順な具体的で、コマンドベースで説明してくれていて大変わかりやすいです。

Comprehensive data exploration with Python | Kaggle

 

どんなデータなのかを調べる流れは以下の通りです。 

  1. 問題を理解する
  2. 単変量解析(univariable)データを理解する(この項目は何か)
  3. 多変量解析(multivariable)各変数は依存しているか独立しているか相関を把握
  4. 基本的なクリーニング
  5. テスト

 

具体的な手順を次に説明する。コマンドはリンク先を参照してほしい。

1、変数を把握する前に次のような列を持つ表を用意しておく(Excelとかで)

  • 変数名
  • 数字は数値かカテゴリ値か
  • 各項目のセグメント
  • 高・中・低のカテゴリを出すなど期待する出力
  • コメント

 

2、目的変数を把握する。

  • 平均(mean)
  • 標準偏差(std)
  • Skewness(歪度)
  • Kurtosis(尖度)、通常は3の値をとる。

私は、歪度、尖度はよくわからなかったので以下HatenaBlogを見て把握しました。

t-fund.hatenablog.com

 

目的変数が数値データとの相関があるのかを確認。

x軸、y軸のプロットで確認する。

目的変数がカテゴリカルデータと相関があるかを確認する。

箱ひげ図で確認する。

 

3、分析

超外観を把握する。

線形関係なのか?強い線形関係なのか?

  • 相関図(heatmapで全部?)
  • 目的変数に特化した相関図
  • シュガー?からの移動が心配

 

4、欠損値のあつかいを考える

説明変数間の相関を確認する。

  • ヒートマップ(heatmap)
  • 箱ひげ図(boxplot) 

外れ値を確認

  • Unvariate(単変量)で分析して外れ値を除外する。
  • Bivariate(二変量相関)で分析して外れ値を除外する。

 

5、さらにモデル

想定される分布

  • Normality(正規性)
  • Homoscedasticity(等分散性)
  • Linearity(線形性)
  • Absence of correlated errors

 

正規性なのかを確認、等分散性なのかの確認 

最悪はダミー値にする

 

 

A study on Regression applied to the Ames dataset | Kaggle

 

  • 線形回帰
  • 目的変数と説明変数のグラフにして外れ値を確認
  • NAをダミー値で埋める
  • 数値からカテゴリ値に変換
  • corr(相関係数)で寄与度を確認
  • 数値の特徴量の個数、カテゴリの特徴量の個数を確認
  • 数値の特徴量に含まれるNAの個数を確認
  • skewedな数値の特徴量はlogを取る
  • カテゴリ値の特徴量に含まれるNAの個数を確認

 

2、モデリング

  • 正規化無しの線形回帰
  • Ridge回帰付きの線形回帰
  • Lasso回帰付きの線形回帰
  • ElasticNet回帰付きの線形回帰

 

Stacked Regressions : Top 4% on LeaderBoard | Kaggle

  • xgboost
  • Box Cox Transformation of (highly) skewed features
  • Stacking models
  • Ensembling

 

 

機械学習を使うこと

いろいろと調べたことや気づいたことをメモしていこう。

機械学習を使って何かしたい、と思ってもいろいろと未知語ばかり出てきてうんざりしてしまう。私はうんざりです。調べたことを記録しておこうと思います。

 

次元圧縮

GPLVM

ロジスティック回帰

ベイジアンフィルタ

教師ありの分類

テキストの分類

 

ディープラーニング

deepage.net

weight、biasesの初期化

畳み込み(conv2d)、プーリング(max_pool)

最適化関数

ReLU

f:id:gocha124:20170808121253j:image

ステップ関数

f:id:gocha124:20170808115340p:image

シグモイド関数

f:id:gocha124:20170808115513p:image

http://kaeken.hatenablog.com/entry/2016/11/03/232414

 

gihyo.jp

kaeken.hatenablog.com

Stanford University CS231n: Convolutional Neural Networks for Visual Recognition

 

 

機械学習のための確率と統計

機械学習のための確率と統計を、パラ見しました。でも何も残ってない、また見ないと、、、

 

離散型確率変数

連続型確率変数

 

ディリクリ分布はベータ分布の多次元拡張

ウィシャート分布はガンマ分布の多次元拡張

 

雑誌(材料)

工業材料 日刊工業新聞社

化学 化学同人

現代化学 東京化学同人

化学装置 工業通信

ケミカルエンジニアリング 化学工業社

計装 工業技術社

化学工業 化学工業社

機能材料 シーエムシー出版

塗装技術 

化学経済

粉体材料 

プラスチックス

プラスチックエージ 

電子材料