Sebastian Raschka:Python 機械学習プログラミング

作成日: 2020-09-03
最終更新日:

概要

副題は「達人データサイエンティストによる理論と実践」。 第2版(邦訳あり)、第3版(邦訳なし)も出ているが、私は見ていない。 本書では下記のモジュールとバージョンを使うことを前提としている。

感想

この分野は進展が著しく、最新の第2版を読んだほうがよいと思う(といっても第2版は読んでいない)。 私は1990年ごろのニューラルネットワーク流行時にこの分野を学び始めた者であり、 また各種の統計手法も独学で一通り知ってはいるので、本書の前半では書いてあることはわかった。 しかし後半は難しかった。

本書のサンプルコードは下記にある:
https://github.com/rasbt/python-machine-learning-book
原書の第2版、第3版も著者の github にある。

気になることなど

日本語の参考文献が監訳者によって列挙されているのはいいのだが、 著者名が書かれていない。これは、文献を探すときに大きな負担となるだろう。

第3章では、本書に書かれていることをそのままやろうとするとエラーになる。

>>> from sklearn.cross_validation import train_test_split
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'sklearn.cross_validation'

この原因は、本書では scikit-learn 0.15.2 を用いているのに対し、 私の検証環境では scikit-learn 0.23.1 を使っていたためである。正しくはこうだ。

    >>> from sklearn.model_selection import train_test_split

なお、ついでながら、Python のモジュールのバージョンを確認したい場合は、 pip3 list を使う。Python

第4章でも同様の現象が起きる。p.96, from sklearn.preprocessing import Imputer の行がエラーになる。
File "isnun.py", line 12, in <module>
from sklearn.preprocessing import Imputer
ImportError: cannot import name 'Imputer' from 'sklearn.preprocessing' (/home/username/anaconda3/lib/python3.8/site-packag es/sklearn/preprocessing/__init__.py)
かわりに、次のように修正する
from sklearn.preprocessing import Imputer
呼び出す関数は Imputer ではなく、SimpleImputer となり、引数も変わる。
imr = SimpleImputer(strategy='mean')
結果は同じである。

書誌情報

書 名Python 機械学習プログラミング
著 者Sebastian Raschka
発行日2016年7月11日第1版第2刷
発行元インプレス
定 価円(本体)
サイズ ページ
ISBN978-4-8443-8060-3
その他越谷市立図書館南部図書室で借りて読む

まりんきょ学問所コンピュータの部屋コンピュータの本プログラミング > Sebastian Raschka:Python 機械学習プログラミング


MARUYAMA Satosi