読書感想文「R ユーザのための tidymodels 実践入門」
2022 年も終わりですが,2023 年の 1 月に出版されます
「R ユーザのための tidymodels 実践入門」
を著者の一人である 瓜生氏 及び 技術評論社様 から献本いただきました.
本記事はその読書感想を徒然なるままに述べたものとなります.
宜しければ少しの間お付き合いいただけると嬉しく思います.
1. 本書の特徴
皆さんは R 言語の package である tidymodels はご存知でしょうか?
ご存知ない方も R ユーザーであれば,tidyverse はご存知なのではないでしょうか.
tidyverse は多くの R ユーザーが使用しているであろう dplyr を含む,データ前処理等の package をまとめたものです.
そして,tidymodels は tidyverse のエコシステム(dplyr のパイプ演算子による記法などを想像すると良いかもしれません)を機械学習モデリング領域にも拡張したものとなっています.
本書の冒頭でも紹介されていますが,R における機械学習モデリングというと,一昔前は Max Kuhn 氏らによる caret package が主流でした.
しかし,dplyr をはじめとした tidy なエコシステムの浸透にともない,tidy な機械学習モデリングの package の登場が望まれるようになったのは自然なことでした.
満を持して登場した tidymodels は,その名の通り R 界隈のニーズに答えてくれた package であり,今後は tidymodels が主流になっていくと思います(既に主流な気もします).
本書はその tidymodels を使用したモデリングの仕方を end to end で解説した書であり,日本ではいち早くかつ本格的に tidymodels を解説した貴重な 和書 です.
そして,本書は「どのようにコーディングして機械学習モデリングしていけばいいのか」という実践的な問いに答えることにフォーカスしていますが,著者陣は R の OSS 開発や Tokyo.R などで活躍されている方々です.
そのため,本書内のコーディングは簡潔・容易さを前提としつつも,同時にヘビー R ユーザーとしての洗練された拘りも感じられ,owesome な coding を学べるという安心感がありました.
これから R で機械学習モデリングを行ってみたい方や,業務などでその必要性がでてきた方に非常にお薦めできる書であり,辞書のような形で手元におきつつ参照すると良いと思います.
2. 本書の構成と補完となる書
本書のテーマである機械学習モデリングですが
モデリングプロセスは,大雑把には
データ読み込み
特徴量エンジニアリング(本来は EDA の後に行う)
データ分割
モデルの構築
ハイパーパラメータの調整
学習および評価
といった形で進めていくことが多いと思います.
本書は上記の流れをおおよそ章順(全 6 章)に解説していく形をとっています.そのため,読者は最初から最後まで順序よく読み進めることができるでしょう.
また最終章では,より実践的な内容として,自然言語処理を扱っています.MeCab を使った分析事例は,普段は python で自然言語処理を取り扱う私にとっても非常に参考になるものでした.
一方で,(おそらく)ページ上限などの関係で EDA に関する内容は殆どありません.
EDA に関しても参考となるものが欲しい方は,著者の一人である 瓜生氏 も翻訳に携わっている「データ分析のためのデータ可視化入門」を参考にすると良いと思います.
以前 note でレビューをご紹介していますので,よろしければご一読ください.
また,もう一つ注意すべき点として
本書は tidymodels を使用した coding にフォーカスしているため,Random Forest や Boosting Tree 等の機械学習モデルのアルゴリズムに関する解説はありません.
ですので,理論面を追及したい方は別書籍で補完すると良いかと思います.
ざっくりとした解説でも宜しければ,私が著者の一人として出版させていただいている以下の本も良いかもしれません.
・・・いきなり宣伝してすみません(ちゃんと学習したい方はカステラ本や該当論文を精読する方が良いと思います).
では最後に,本書内で紹介されている R の package の一覧をもって終わりにしたいと思います.
3. 解説されていた R の package 一覧
rsample
ハイパーパラメータ調整やモデル評価のためのデータ分割
https://github.com/tidymodels/rsampleparsnip
モデルの指定・学習・予測
https://github.com/tidymodels/parsnipyardstick
モデルの評価
https://github.com/tidymodels/yardstick/recipes
特徴量エンジニアリングのための前処理
https://github.com/tidymodels/yardstick/themis
不均衡データへの対応(up/down sampling など)
https://github.com/tidymodels/themisworkflows
各モデリングプロセスをパイプ演算子で sequential に記述可能にする
https://github.com/tidymodels/workflowstune
ハイパーパラメータの探索
https://github.com/tidymodels/tuneRMeCab
自然言語における形態素解析
https://github.com/IshidaMotohiro/RMeCabbroom
前処理や実行結果を tidy data へ整形
https://github.com/tidymodels/broom/infer
主に統計的仮説検定で威力を発揮
https://github.com/tidymodels/infer
どうでも良い話ですが,私は recipes package のロゴの変なマスコットが好きです.
本記事では簡単な紹介のみでしたが,興味を覚えた方は是非,書店などで中身をご覧になることをお薦めいたします.
また,本書は紙媒体だけでなく電子書籍(Gihyo Direct Publishing, Amazon Kindle)でも出版されていまして既に発売中です(2022/12/28).
それでは,ここまでお付き合いいただきありがとうございました.
また次の読書感想文でお会いできたらと思います.
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?