0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Pythonではじめる機械学習 個人的備忘録 Part1

Last updated at Posted at 2020-02-26

はじめに

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 

とするとうまくいきました。
多分バージョンが違うからだと思います。

アイリスのクラス分類

Iris_virginica.jpg

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-最近接法でアイリスの分類を行ったがモデルの詳しい部分は触れられていない。
パラメータがいろいろとあるが変更するパラメータはこの後の章で紹介していくと記述があった。
いまのところ、パラメータいっぱいでわけわからん状態ですがこつこつ続けていきたいと思っております。

次回からは本格的に機械学習の内容、教師あり学習について学んでいく。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?