はじめに
Pythonで機械学習を学ぼうと思い立ち、
まず手に取った本「Pythonではじめる機械学習」を読んでいくときの個人的備忘録として書いています。
IT企業には所属しておりませんが、これからいろいろと学んで仕事をしていけるよう精進してまいります。
初学者の方に少しでも力になればと思い、ログを残しています。
scikit-learnのインストール
scikit-learn(サイキット・ラーン)と読みます。
下のリンクに取扱い説明書があります。
一部の人だけかもしれませんが、リンク先の図を見ているとgnuplotを思い出しますね。
・scikit-learnのドキュメント
・scikit-learnのユーザーガイド
Jupyter Notebookをインストールするかどうか悩んだのですが、最初なので本に従うことにしました。
使ってみれば便利かもしれないですしね。
Jupyter NotebookをインストールするためにはAnacondaをインストールします。
・Anaconda公式サイトのダウンロードページ
Anacondaをインストールするとこの本で用いるパッケージはすべて使うことができます。
既にPythonを使っている人はターミナルで
pip install numpy scipy matplotlib ipython scikit-learn pandas pillow
と打てばこの本で利用するライブラリをインストールすることができます。
Jupyter Notebookの使い方は下のリンク先に書いてあります。
【Jupyter Notebook】効果的な使い方を知ろう[Python/機械学習]
NumpyとSciPyの違い
NumPy(ナンパイorナムパイ)とSciPy(サイパイ)です。
SciPyは各種ソフトの集合のことで、NumPyの機能はSciPyで全部使えます。
・SciPyとその仲間たち(NumPy, IPython など)の違いと関係
・NumpyとScipy
私のような初学者からすると、大した違いもまだ分からないので気にせずいきます。
### CSR
CSRはCompressed Sparse Rowの略で疎行列を圧縮した形になっています。
行列計算ってだいたいの成分が0の行列を扱うことが多いので、
無駄にデータが増えないような便利な形にしているんだと思います。
COO形式はCoordinate Formatの略で普通に行列の番号を指定してあげるやり方です。
pandas
本には
from IPython import display
と書かれているのですが、その後
display(data_pandas)
の箇所で
TypeError: 'module' object is not callable
とエラーが出てしまいます。
僕の環境では、
from IPython.display import display
とするとうまくいきました。
多分バージョンが違うからだと思います。
アイリスのクラス分類
scatter_matrix関数を使うときに本では
grr = pd.scatter_matrix(iris_dataframe, c=y_train, figsize=(15,15), marker='o', hist_kwds={'bins': 20}, s=60, alpha=.8, cmap=mglearn.cm3)
と記述があるが、僕のバージョンだと
grr = pd.plotting.scatter_matrix(iris_dataframe, c=y_train, figsize=(15,15), marker='o', hist_kwds={'bins': 20}, s=60, alpha=.8, cmap=mglearn.cm3)
で動いた。
感想
今回は第1章はじめにを読んでわからなかったところを書いた。
環境の整備がほとんどであったが、最後に少しだけ機械学習についても触れた。
k-最近接法でアイリスの分類を行ったがモデルの詳しい部分は触れられていない。
パラメータがいろいろとあるが変更するパラメータはこの後の章で紹介していくと記述があった。
いまのところ、パラメータいっぱいでわけわからん状態ですがこつこつ続けていきたいと思っております。
次回からは本格的に機械学習の内容、教師あり学習について学んでいく。