Pythonを使って,Irisデータをパーセプトロンで分類してみた

実はこれまでpythonは全く使用したことがないので,今回はAnacondaのインストールから始まって,パーセプトロンでIrisデータを分類するまでの様子を備忘録がわりに書いていきます.方法は,以下の本を参考にしました.

amazonでも評判がいい本なので,こちらを参考に動かしてみます.

先ずはpythonのインストール.Anacondaをインストールすると,ライブラリも含めてpython本体も一緒にインストールされるらしいので,とりあえずインストーラをダウンロード.バージョン3.6でグラフィカルインストーラを選択.

インストールは通常どおり何も難しいことはありませんでした.

ターミナルを起動し,pythonを起動するとこんな感じ.pythonのプロンプトは>>>なんですね.

ついでに,

$ conda update numpy

でNumPyをアップデートしようとしたら,依存ファイルも含めてこれだけのライブラリが一緒にアップデートされました.たぶん,これでいいのでしょう.

CotEdiorで,本に載っていたパーセプトロンのプログラムをそのまま入力.今日の段階では環境構築が目的なので,コードの意味は全く考えません.

とはいえ,本に載っていたプログラムリストには,#ではなく”””から始まる謎のコメントがたくさんあったので少々混乱.調べたところ,ダブルクォートを3つ重ねるとエコー出力になることが判明したので,エコー出力は入力を省略し,ファイル名をPerceptron.pyとして保存.

さらに,Irisのデータを本に書いてある通りのコマンドを入力してダウンロードし,データX, yを作成.このあたりは本に書いてあるとおりなので省略.

で,パーセプトロンのオブジェクト作成する

>>> pen = Perceptron(eta=0.1, n_iter=10)

を実行するとエラーが発生.あれ?

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

TypeError: 'module' object is not callable

との表示が出て怒られる.よくわからないけど,こちらのページ(http://www.yukun.info/blog/2016/07/python-typeerror-module-object-is-not-callable.html)に書いてあった対処方法にしたがって,

>>> pen = Perceptron.Perceptron(eta=0.1, n_iter=10)

と書いたらうまくいった.後は本に書いてあるとおり実行すると,グラフが表示された.

うむ,本に載ってる結果と全く同じ.まだ慣れないけど,ここまで簡単に出来たのでいい感じ.これから先,pythonでいろいろ遊んでみたいと思います.