【書評】「データサイエンス100本ノック~構造化データ加工編ガイドブック」

2022.07.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

お久しぶりです。 アライアンス統括部プリセールススペシャリストの兼本です。

本日7月7日は我が家の保護猫兄妹の2歳の誕生日です。巷では弊社クラスメソッドの創立記念日と言われておりますが、私は猫たちの誕生日を祝いながらこのブログを書きます。 せっかくなので猫たちの近況をご覧ください。

保護猫なのに野性を失っているその姿は実にかわいいですね~まさにヤバ可愛いです。

内容

さて、みなさんはデータの前処理をするときにどのような言語やツールを使っていますか。私は自分が担当しているAlteryxを使用することが多いのですが、人によってはSQLやプログラミング言語、あるいはExcelを使うなんて方もいらっしゃるのではないでしょうか。

今回ご紹介するのはさまざまな前処理をSQL、R、Pythonの3つの言語で100本ノックできるガイドブックです。帯に「ヤバ面白い!」という安宅和人さんのコメントがありますが、本当にヤバ面白くて私はコードを斜め読みしながら一気読みしました。

あとでじっくりコードを読み返せば、周回プレイも楽しめます。

演習用のデータがGitHubリポジトリで公開されておりDocker環境を構築して簡単に実行することもできるため、これから前処理について学びたい方や力試しをしたい方にもお勧めできる内容です。

どんな前処理があるのか

カテゴリと演習の数は以下の通りで、★1から★3までの難易度に分けられています。

No. 大区分 設問数
1 列に対する操作 3
2 行に対する操作 6
3 あいまい検索 7
4 ソート 4
5 集計 13
6 副問合せ 2
7 結合 7
8 縦横変換 2
9 データ変換 14
10 数値変換 4
11 四則演算 7
12 日付型の計算 5
13 サンプリング 2
14 外れ値・異常値 2
15 欠損値 5
16 除算エラー対応 1
17 座標データ 2
18 名寄せ 2
19 データ分割 2
20 不均衡データ 1
21 正規化・非正規化 2
22 ファイル入出力 7
合計 100

中には統計的に外れ値を除外するような処理もあり、3つの言語での解がまとまっているので「これSQLでやるの?」とか「Rでやるとすっきりしてるな」みたいな比較をすることもできます。

最後に

最初に私は普段Alteryxを使って前処理をすると書いたので賢明な読者の方の中にはお気づきになった方もいらっしゃるかもしれませんが、当然、Alteryxでも100本ノックをやってみました。 その模様を2022年7月26日から開催されるDevelopersIO 2022のビデオセッションで「データサイエンス100本ノック ~Alteryx編」というセッションタイトルで公開させていただきます。

作成したワークフロー(の中で一番難しいかなと思ったやつ)のスクリーンショットをチラ見せしておきますので、続きが気になる方は是非イベントにご参加ください。

なお、本書のAmazonのリンクはこちらです。

以上、最後までお読みいただきありがとうございました。