WEIRD

ゲーム、映画、ときどき文学

プログラマーじゃない人が始める人工知能: 対話型シェルと統合開発環境Spyder

実践 機械学習システム


まだ機械学習してません。


「プログラマーじゃない人が始める人工知能」の各記事はこちら

【目次】

対話型シェルって何だ


前回、Python(x,y)をインストールして、Numpy、Scipy、Matplotlib等の数値計算用のライブラリ(とそのほかの大量のライブラリ)を導入した。


ライブラリを駆使して、早速データを分析していこうと思ったのだが、オライリー先生の説明で行き詰る。


Pythonにはインタラクティブシェルが用意されており、それを使ってコードを書いていくようだ。


インタラクティブシェル、または対話型シェルとは、会話するように1行ずつプログラムを書いていく環境のこと。シェルというのは、OSに対してユーザーが指示を出せるソフトのこと。Pythonの他にも、Rubyで指示を飛ばすIRBというシェルもある。


例えば、対話型シェルでリスト作る場合、以下のようなコードを書く。

>>>list = [(0,1,2,3,4,5)]
>>>list
Out[1]: [(0, 1, 2, 3, 4, 5)]


1行目でリストlistを作り、2行目でlistの中身を出力している。


なぜ行き詰ったかというと、対話型シェルでコードを打っていくと、コードを保存できない。


間違って対話型シェルを閉じてしまった場合、データを取り込んだり、配列をつくったり、色んな作業が全部水の泡になる。


書いてすぐに実行できるメリットはあるが、初心者にとってはデメリットのほうが辛い。

統合開発環境Spyderを使おう


筆者は統合開発環境のNetBeansを使っていたので、それでPythonを書こうと思っていたのだが、各種ライブラリがうまく読み込めない。それにエンコーディングの処理も全然うまくいかない。


諦めて、Python(x,y)をインストールした際に勝手についてきたSpyder(the scientific python development environment)という統合開発環境を使うことにする。


開発画面はこんな感じだ。


f:id:ktadaki:20151027091807p:plain


左側の画面にコードを打って、実行すると、右側のIPython consoleに実行結果が表示される。


さらに、Matplotlibを使ってグラフを表示したい場合は、こんな感じで文字の出力結果と一緒に表示できる。


f:id:ktadaki:20151027092738p:plain


めっちゃかっこええやん! 統合開発環境なので、文法チェックや、定義されている変数の確認も楽々。


IPython Consoleというのは先ほどの対話型シェルの拡張版だ。保存されたプログラムの実行内容も表示できるし、Console部分に直接コードを打ち込んでも動く。凄く便利。


次回は、Spyderを使ってようやく機械学習に取り掛かりたい。


↓応援して頂ける方はクリックをお願いします!!

社長ブログ ブログランキングへ