副題は「達人データサイエンティストによる理論と実践」。 第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刷 |
発行元 | インプレス |
定 価 | 円(本体) |
サイズ | ページ |
ISBN | 978-4-8443-8060-3 |
その他 | 越谷市立図書館南部図書室で借りて読む |
まりんきょ学問所 > コンピュータの部屋 > コンピュータの本 > プログラミング > Sebastian Raschka:Python 機械学習プログラミング