R勉強会@ORACLEに行ってきた
ORACLEオフィスに入ってみたかったのと、家の近所ということもあり、(もちろんRや機械学習に興味があるのもあり)R言語勉強会に行ってきた。本記事はその備忘録。 oracleclouddevelopers.doorkeeper.jp
講演資料
1.Rのインストール
Rはcranさえみておけばどうにでもなる。cranに全ての情報が集まっている。 cranからダウンロード・インストール。Windows/Macともにこれは特に躓くことはないと思う。 ちなみにOracle社内ではWindows/Macのユーザ比率は半々行かないくらいらしい。
2.Rとは?
Rとはプログラミング言語であり、環境である。関数型言語件オブジェクト指向言語。GNUライセンスで無償で再配布可能。Rの強みは大量のライブラリ。金融業界でライブラリが充実。ブラック・ショールズ式が一行で書けたりする。保険業界、金融業界向けライブラリなど充実。 Java/C/C++/Python/C#につぐ順位。 OracleのDistributionもある。intel mklも使える!
3.Rの基本(変数と処理とデータ構造)
この辺りからハンズオン。 起動は普通にSpotlight検索でRと打てば起動できる。 =はパッケージの引数とかに使うので通常の代入は<-を使う。 使い方なので、slideshareを見ながら進めれば良い。 piは予約語。 ベクトルとして扱ってるが、要は配列。この辺は楽勝。なお、c(1:10)などとするのが正規の方法だが、単に1:10でも良い。 ベクトルは変数の型が1種類だったが、複数の型が使われている場合、データフレームを使う。データフレームを抽出する記法がいくつかあるけど、Rを知らない人には可読性ない感じ。なお、コマンドの途中で改行すると+と表示される。
> df <- data.frame(ID = c(1:3), Name =c("John","Bob","Mike"))
4.Rにcsvファイルを読み込む
ここからデータを取ってくる。UCI Machine Learning Repository というのはML系を使うのに便利。IoT系やりたいんだけど、、→検索するとセンサデータ出てくる。さらにそのデータを使ったMLの世界はまず論文を検索してやってみる世界。
Rに戻って、getwd()でRのカレントディレクトリを取得し、そこにファイルを置く。そして、
> df_default <- read.table("creditdefault.csv",skip = 1,header = T,sep = ",") > summary(df_default)
summary()関数で列データ等の集計を一瞬でできる。
5.Rでグラフ描写
グラフの描画はggplotがデファクトで、皆こっちを使ってるらしい。 各セッションごとに、各ライブラリを読み込まないといけない。 ggplotの描画はレイヤごとに行うイメージ。
> library(ggplot2) > base1 <- ggplot(df_default,aes(x = EDUCATION, y = MARRIAGE)) > base1 > points1 <- base1 + geom_bin2d() > points1
- アプリケーションの中に組み込みたい場合→Pythonが向いている
- 分析が主→Rが向いている
6.Rで機械学習を使って予測モデル作成
indexes <- sample(1:nrow(df_default),size=0.4*nrow(df_default))
上記コマンドはテスト用の30000行のデータのうち4割、学習用に6割を割り当てる。このような書き方は定番。 決定木用のライブラリはRがデフォルトで持っている。 ランダムフォレストでほぼDeepLearning並の精度が出ることもある。レコメンドエンジンなどもこれで動いていたりする。ランダムフォレストは決定木をデフォルトで500本作る。
7.Oracle R Enterpriseデモンストレーション
OracleデータベースにあるデータをそのままRで処理できる。時間が足りなくて、デモはスキップw。
まとめ
- 素晴らしいハンズオンであった。2時間と短時間ながら、予定した項目を網羅。置いてきぼりの人は殆どいなかったのではないか。
- WEB系の勉強会とは異なる参加者属性。金融系や保険系のプログラミング学習者が多くいる。
- ML系のデータセットの情報聞けたのは良かった。
おまけ
- ドリンクが無料だった。大手町のMSの研修センターといい外資系は気前がよいw