- 森 純一郎, 2024: Python データ解析入門。東京大学出版会, 251 pp. ISBN 978-4-13-062466-4.
2024年5月にでたA5判 横書きのペーパーバック。
プログラムを書いてデータ解析ができるようになるための入門教科書である。プログラミング言語は Python (version 3) がつかわれている。実行環境としては Google Colab または Jupyter Notebook が想定されているが、それに依存する記述は多くないようだ。Python 言語の入門は短くすませている。そして、pandas ライブラリでの「データフレーム」型変数のあつかい、Numpy ライブラリでの配列のあつかい、matplotlib でのグラフの作図のしかたが導入されている。
データ解析手法としては、第7章で機械学習が導入され、第11章以降も機械学習が想定されているようである (機械学習でなくても統計モデルの選択の問題はあるのだが)。しかし、第10章の線形回帰、第9章の主成分分析、第8章のクラスタリングなどは、機械学習の導入以前からつかわれてきた数値データの統計的データ解析手法だ。第5章のテキストデータのとりあつかい (とくに、テキストをベクトルとみなしてコサイン類似度を計算すること) や、第6章のネットワークデータ (ノードどうしがそれぞれちがった強さで連結している形のデータ) のあつかいなども、わたしは教材のよしあしを論じられるほど知らないのだが、それぞれの分野の基礎的なことがらであり、機械学習にふみこまない学習者にもまなんでおく価値のある材料だとおもう。
折りかえしのあとに目次をつける。
===== 目次 =====
まえがき
目次
第1章 データ解析を学ぶ
– 1.1 はじめに
– 1.2 本書の構成
– 1.3 データサイエンス教育に関するスキルセットとの対応
– 1.4 学習の進め方
– 1.5 記号表
第2章 Python の基礎
– 2.1 Python プログラミング言語
– 2.2 算術演算
– 2.3 変数
– 2.4 関数
– 2.5 if文と条件分岐
– 2.6 リスト
– 2.7 文字列
– 2.8 for文と繰り返し
– 2.9 辞書
– 2.10 プログラムの作成
第3章 Python のモジュール
– 3.1 モジュール
– 3.2 pandas ライブラリ
– 3.3 NumPy ライブラリ
– 3.4 Matplotlib ライブラリ
第4章 データ分析の基礎
– 4.1 データとは
– 4.2 データの収集
– 4.3 データの観察と理解
– 4.4 データの整形と加工
第5章 テキストデータの分析
– 5.1 テキストデータ
– 5.2 テキストの分かち書きと形態素解析
– 5.3 テキストのベクトル表現
– 5.4 テキストの類似度
– 5.5 プログラミング
第6章 ネットワークデータの分析
– 6.1 ネットワーク分析
– 6.2 ネットワークの行列表現
– 6.3 最短経路
– 6.4 中心性
– 6.5 固有ベクトル中心性
– 6.6 ページランク
– 6.7 プログラミング
第7章 機械学習の基礎
– 7.1 データの表現
– 7.2 教師あり学習
– 7.3 汎化性能
– 7.4 教師なし学習
– 7.5 機械学習のモデル
– 7.6 プログラミング
第8章 クラスタリング
– 8.1 クラスタリング
– 8.2 階層化クラスタリング
– 8.3 K-means 法
– 8.4 [発展] 確率分布モデルによる K-means 法の解釈
– 8.5 プログラミング
第9章 主成分分析
– 9.1 主成分分析による次元削減
– 9.2 主成分分析の考え方
– 9.3 主成分分析の詳細
– 9.4 プログラミング
第10章 線形回帰
– 10.1 線形回帰
– 10.2 最小二乗法
– 10.3 勾配降下法
– 10.4 勾配降下法の一般化
– 10.5 正規方程式の一般化
– 10.6 モデルの評価
– 10.7 [発展] 最尤法によるパラメータ推定
– 10.8 プログラミング
第11章 モデル選択
– 11.1 過学習
– 11.2 モデル選択
– 11.3 交差検証
– 11.4 交差検証によるモデル選択の例
第12章 ロジスティック回帰
– 12.1 ロジスティック回帰モデルによる分類
– 12.2 ロジスティック回帰モデルのパラメータ推定
– 12.3 ロジスティック回帰モデルのパラメータ推定の一般化
– 12.4 [発展] 多クラス分類
– 12.5 分類結果の評価
– 12.6 プログラミング
第13章 ニューラルネットワークの基礎
– 13.1 ニューロンとニューラルネットワーク
– 13.2 多層ニューラルネットワーク
– 13.3 [発展] ニューラルネットワークによる関数の表現
– 13.4 [発展] ニューラルネットワークの学習
– 12.5 確率的勾配降下法
– 12.6 深層ニューラルネットワーク
付録 Python のプログラミング環境
– 付.1 Colaboratory
– 付.2 Anaconda
さらに勉強するために
索引
==========