Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
qeMLパッケージの紹介
Search
bob3bob3
December 15, 2023
Science
0
2.2k
qeMLパッケージの紹介
caretやtidymodelsと同じような機械学習のラッパーqeMLパッケージの紹介
bob3bob3
December 15, 2023
Tweet
Share
More Decks by bob3bob3
See All by bob3bob3
RとLLMで自然言語処理
bob3bob3
3
730
RでPSM分析
bob3bob3
1
330
Rでコンジョイント分析 2024年版
bob3bob3
0
1.8k
『改訂新版前処理大全』の話と Apache Parquet の話 #TokyoR
bob3bob3
0
1.3k
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
610
『データ可視化学入門』をPythonからRに翻訳した話(増強版)
bob3bob3
0
540
『データ可視化学入門』を PythonからRに翻訳した話
bob3bob3
1
610
「国と音楽」 ~spotifyrを用いて~ #muana
bob3bob3
2
610
パーマーステーションのペンギンたち#3 探索的データ分析(EDA)編
bob3bob3
1
780
Other Decks in Science
See All in Science
知能とはなにかーヒトとAIのあいだー
tagtag
0
150
データマイニング - グラフデータと経路
trycycle
PRO
1
240
データベース10: 拡張実体関連モデル
trycycle
PRO
0
1k
動的トリートメント・レジームを推定するDynTxRegimeパッケージ
saltcooky12
0
220
機械学習 - K近傍法 & 機械学習のお作法
trycycle
PRO
0
1.3k
生成AIと学ぶPythonデータ分析再入門-Pythonによるクラスタリング・可視化をサクサク実施-
datascientistsociety
PRO
4
1.9k
AI(人工知能)の過去・現在・未来 —AIは人間を超えるのか—
tagtag
0
120
タンパク質間相互作⽤を利⽤した⼈⼯知能による新しい薬剤遺伝⼦-疾患相互作⽤の同定
tagtag
0
110
データベース15: ビッグデータ時代のデータベース
trycycle
PRO
0
390
データベース11: 正規化(1/2) - 望ましくない関係スキーマ
trycycle
PRO
0
990
データベース14: B+木 & ハッシュ索引
trycycle
PRO
0
530
機械学習 - K-means & 階層的クラスタリング
trycycle
PRO
0
1.1k
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
Become a Pro
speakerdeck
PRO
30
5.6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
For a Future-Friendly Web
brad_frost
180
10k
Agile that works and the tools we love
rasmusluckow
331
21k
Building Adaptive Systems
keathley
44
2.8k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.1k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Transcript
qeMLパッケージの紹介 R研究集会2023 (2023/12/16) @bob3bob3
qeMLパッケージとは? • caret、mlr3、tidymodelsと同じような、機械 学習に統一的なインターフェイスを提供する ラッパー。 • 「qe」は「quick and easy」。 •
とにかくシンプルで「 one liner」で機械学習を 事項できるのが売り。
作者 Norman Matloff The Art of R Programming (2011) の著者。
実行例 library(qeML) # メジャーリーガーのデータセット。ポジション、身長、体重、年齢 data(mlb1) # 体重を推定するモデル # 決定木、ランダムフォレスト、勾配ブースティング mlb1_rpart
<- mlb1 |> qeRpart("Weight") mlb1_rf <- mlb1 |> qeRFranger("Weight") mlb1_gb <- mlb1 |> qeGBoost("Weight")
実行例 # 推定 new_data <- data.frame(Position='Catcher', Height=73, Age=28) mlb1_rpart |>
predict(new_data) mlb1_rf |> predict(new_data) mlb1_gb |> predict(new_data) # これだけ! # 簡単だね!
Enjoy?
いやいや、まてまて • バリデーションは? • ハイパーパラメーターのチューニングは?
バリデーションは勝手にやってくれる # testデータでのMAE mlb1_rpart$testAcc mlb1_rf$testAcc mlb1_gb$testAcc data.frame( name = c("rpart",
"rf", "gb"), MAE = list(mlb1_rpart, mlb1_rf, mlb1_gb) |> map_dbl(\(x) pluck(x, "testAcc")) ) |> arrange(MAE) # name MAE # 1 rf 13.23741 # 2 gb 13.74169 # 3 rpart 14.24358
チューニングもできる # ランダムフォレストのグリッドサーチ例 qs_ft_rf <- mlb1 |> qeFT( "Weight", "qeRFranger",
pars = list(nTree= seq(100, 1000, 250), minNodeSize= seq(10, 30, 10)), nTst = 100, nXval = 10, showProgress=TRUE ) qs_ft_rf$outdf |> slice_min(meanAcc) # nTree minNodeSize meanAcc CI bonfCI # 1 350 10 8.326976 8.531146 8.653432
その他の機能 • 次元縮約、次元削減 • 並列化 • 欠損補完 • モデルの比較 •
Quick Start, ML Overviewなど親切なビネットがたくさん! • データセットも山盛り
……ただし • まだまだ開発中で発展途上。 • ドキュメントも書きかけという感じ。 • 実装されている手法がcaret、tidymodelsと比べるとまだ少ない。 • 実装が不完全な手法もある(xgboost, lightgbmなど)
• バリデーションの評価指標を変更ができない • Macだとインストールできないらしい(誰か検証して!)
Enjoy!