見出し画像

非エンジニアがR言語を始めるときの手引き|Kaggle Masterによるデータ分析技術者養成講座【R言語版】Day1メモ

以下の研修を受講しました。全5回のうちの1回目(Day1)の講義および復習時のメモです。

◆受講の動機

・自社のデータ分析への適用
・データ分析技術の自社研修の検討
・データ分析に関する自社ソリューション化検討に向けた知見獲得
・単純な好奇心から(Kaggleに挑戦してみたい)

◆Day1のテーマ

・R/RStudio環境設定
・モデルの精度評価
・対象データの読み込み(dplyr)

◆データ分析(数理モデル)のメリット(価値)

・新しい知見を得られる可能性がある
「偏見」を取り除ける

○質的データ (質的変数)
分類や種類を区別するためのデータ。そのままでは足したり引いたり演算のできない変数。(例:性別、血液型、好きな食べもの など)

○量的データ (量的変数)
数値として意味のあるデータ。足したり引いたり演算ができる変数。(例:人数、金額、身長など)

◆モデルの精度評価

・モデルの精度 = 既知データでの予測精度 × 乖離幅
※既知データでの予測精度だけでは不十分
※実際の未来データの結果が出た時に
※その予測精度とどれぐらい乖離があるかも含めて評価する必要あり

◆精度評価方法

・モデルの予測対象は個数、分類、順序などがある
・今回は2群分類を対象としAUCを用いる

◆モデルの評価精度(RMSE)

・予測値と実績値との差の2乗のルート

◆モデルの評価精度(AUC)

・分類の精度をモデルの「重なり具合」から評価
・AUCとは、ROC曲線下の面積
・AUCはデータに依存しない評価ができる。例えば医療データの場合はそもそも健康でないデータが少ないため、正解率だけで測るのは良くない。

○誤分類(正答)率の限界
・重なり具合の評価指標として、誤分類率(=予測対象のうち、誤って分類した割合)がある。
・ただ極端なデータ分布の場合、誤分類率だけでは精度評価には使えない
(ある分類の分布が極端に多い場合、予測しない方が誤りが少ないとなり、予測しないモデルの精度が高いという評価になってしまう)

○混合行列の適用

真陽性率:犬の中で、犬と正しく分類できた割合     TP/P
偽陽性率:猫の中で、犬と間違われた(誤分類した)割合 FP/N

スコア(=クラス分類の閾値)を大きい値から下げていくと、偽陽性率と真陽性率がともに大きくなっていることがわかります。
閾値を下げるということは、なんでもかんでもとりあえずaと予測することを指しているので、陽性と判定される割合は大きくなる(真陽性率が大きくなる)と同時に、間違って陽性と判定する割合(偽陽性率が大きくなる)も高くなります。
ここで目指したいのは、間違って陽性と判定する割合を小さくして(偽陽性率が小さい)、なおかつ正解データの陽性であるものをできるだけ多く陽性と判定(真陽性率が大きい)できるモデルを作ることです。
偽陽性率(正解がクラスbのデータをクラスaと識別してしまった割合)が大きくなるように閾値を設定すれば、それはつまりクラスaに分類する判定を甘くすることを意味するため、真陽性率(正解がクラスaのデータをクラスaと識別できた割合)も自動的に上がります。つまり、このグラフは右下に下がることは決してなく、右に行くほど(偽陽性率が上がるほど)上に伸びる形をとります(真陽性率が上がる)。
極端に言えば、偽陽性率が1に近づくということは、なんでもかんでもクラスaに分類しているようなものなので、それは必然的に真陽性率も1に近づきますよね。
このようなことを考えると、良いモデルとは偽陽性率が低い時点で既に真陽性率が高い数値がでることという考えが直観的に理解できるのではと思います。

参考:

◆dplyrの使い方

・大規模データに対する抽出、要約、ソートなどの各種処理を高速に行ってくれるパッケージ
・%>%の活用(ソースの可読性を高める)

◆その他復習時に参考にしたサイト/書籍

○全般
» R自学自習の基礎知識 - Heavy Watal https://heavywatal.github.io/rstats/intro.html
 →自然科学系研究者の方の個人サイトのようだが、Rに関して情報も新しく、適切な粒度で初心者にも激しくお勧め。

【書籍】RユーザのためのRStudio[実践]入門 −tidyverseによるモダンな分析フローの世界
 →RのIDEであるRStudioを元に、環境構築から分析業務全般の流れをより実践的に紹介されていて、初心者にもわかりやすかった。

○環境設定(R/RStdio)
» WindowsにRをインストールする手順 | トライフィールズ https://www.trifields.jp/how-to-install-r-on-windows-2369

» RStudioインストール(2018年 Windows) - Qiita https://qiita.com/FukuharaYohei/items/3468bd2a6b2f07b8963e

» 【R】RStudioでパッケージをインストールする方法と読み込みまでの流れ|さぎのみや家の事情 https://momokogumi.com/r-packages

○RStudio利用Tips
» Rで現在のディレクトリ確認と変更 - Qiita https://qiita.com/d-cassette/items/59bb6e4b9bbf8e53d2a9
 →getwd()で作業フォルダを確認できる!
 → 右下の画面の「Files」で任意のフォルダに移動
  「move」ボタンをクリックし、「set as working directory」をクリック

» R Studio のコンソールをクリアするショートカット : まだプログラマーですが何か? http://dotnsf.blog.jp/archives/1062157808.html
 →Ctrl + L できれいになる!

» 自分がよく使うRStudio キーボード・ショートカットを紹介 - Qiita https://qiita.com/kazutan/items/f69ed2b606bfb8e938ca
 Source/Consoleにフォーカス
  Ctrl+1:Sourceにフォーカス
  Ctrl+2:Consoleにフォーカス

○dplyr
» dplyrの使い方 http://delta0726.web.fc2.com/packages/data/00_dplyr.html#%E6%A6%82%E8%A6%81
 →かなり詳しい

» dplyrを使いこなす!基礎編 - Qiita https://qiita.com/matsuou1/items/e995da273e3108e2338e

◆所感

目的が実際のコンペ課題に投稿するというゴール設定なので、お勉強という感じではないのでとてもいい感じです。講師の@yukari17さんも丁寧でわかりやすく、これからが楽しみ。dplyrはまだ完全に掴みきれていないですが、これは実ビジネスでも絶対に便利だと実感。
統計や各種モデルなどを適用するレベルでなくても、EXCELでVLOOKUPなどを駆使しながらクロス集計的な「高度な単純作業」に追われている方は、全国にたくさんいるはずです。スクリプト化して作業の再現性を確保できることも魅力かなと。1ヶ月と短期決戦なのでいい機会にしたいと思います。

この記事が気に入ったらサポートをしてみませんか?