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
1k
qeMLパッケージの紹介
caretやtidymodelsと同じような機械学習のラッパーqeMLパッケージの紹介
bob3bob3
December 15, 2023
Tweet
Share
More Decks by bob3bob3
See All by bob3bob3
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
300
『データ可視化学入門』をPythonからRに翻訳した話(増強版)
bob3bob3
0
320
『データ可視化学入門』を PythonからRに翻訳した話
bob3bob3
1
380
「国と音楽」 ~spotifyrを用いて~ #muana
bob3bob3
2
350
パーマーステーションのペンギンたち#3 探索的データ分析(EDA)編
bob3bob3
1
450
Redditで遊ぼう #TokyoR 106
bob3bob3
0
540
シン・初心者のためのR-Tips
bob3bob3
0
360
応用セッション発表のすすめ
bob3bob3
0
700
LT発表のすすめ
bob3bob3
0
550
Other Decks in Science
See All in Science
汎用原子シミュレータMatlantis のご紹介
matlantis
0
170
How we developed a data exchange format: Lessons learned from Camtrap DP
peterdesmet
1
160
LCG20
lcolladotor
0
230
研究・教育・産学連携の循環の実践
sshimizu2006
0
240
Microbiology Labs.
maleehafatima
0
140
SIGDIAL論文読み会: PGTask: Introducing the Task of Profile Generation from Dialogues
kaiyo3
0
110
FIBA W杯の日本代表って組み合わせ次第で2次ラウンド行けたんじゃね?をデータで検証
saltcooky12
0
210
名古屋市立大学データサイエンス学部 夏のオープンキャンパス模擬授業20230818
ncu_ds
0
1.6k
Introduction to Graph Neural Networks
joisino
4
1.5k
Pandas 2 vs Polars vs Dask (PyDataGlobal 2023 December)
ianozsvald
0
490
The Universe, How it works
arafkarsh
0
110
WeMeet Group - 採用資料
wemeet
0
260
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Being A Developer After 40
akosma
67
580k
4 Signs Your Business is Dying
shpigford
176
21k
Six Lessons from altMBA
skipperchong
22
3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
26
2.3k
How to train your dragon (web standard)
notwaldorf
75
5.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
67
14k
Learning to Love Humans: Emotional Interface Design
aarron
267
39k
The Invisible Customer
myddelton
114
12k
We Have a Design System, Now What?
morganepeng
43
6.8k
Facilitating Awesome Meetings
lara
43
5.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
649
58k
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!