SE(しがないエンジニア)

20代しがないエンジニアの雑記。

【機械学習】環境構築(Python / Anaconda)してみた。

機械学習のスタートラインに立つために、まず環境構築してみた話。
Python にて実施していこうと思うので、Anacondaを入れます。

「なんで機械学習Pythonなん?Anacondaって何なん?アンタ爬虫類なん?」とか色々あると思うので順を追って書かせてください。

というわけで目次を用意してみました。


Pythonとは何ぞや

私、生まれてこの方26年、触れたことすらありませんでした。
付け焼刃程度ですが、あくまで参考に。

名前の意味

すごく気になってました。
Pythonのロゴがこれなんですわ。↓↓
f:id:daze097:20180503194252p:plain

最初みたとき、蛇っぽいなと思ってたんです。
単語の意味を調べたら、やっぱ蛇(ニシキヘビ)だそうで。
ただ、調べたら由来は蛇とは関係ないらしいです。

Pythonは、オランダ人のグイド・ヴァンロッサムが開発した。名前の由来は、イギリスのテレビ局 BBC が製作したコメディ番組『空飛ぶモンティ・パイソン』である。Pythonという英単語が意味する爬虫類のニシキヘビがPython言語のマスコットやアイコンとして使われている。
https://ja.wikipedia.org/wiki/Python

蛇のエピソードは後付けっぽい。
本編とは全く関係無いのですが、そういう蘊蓄を調べるのワクワクします。それだけです。

特徴
  • 文法がシンプル(簡素)
     「読みやすく、効率の良いコードを簡潔に書け!」という思想らしい。
     誰が書いても大体は同じようなコードになり、可読性・保守性が高いのだとか。
     「効率が良い = コスト削減」ということからか、Google等が主要言語にしているそうで。

  • インタプリタ言語である
     ざっくりいうと、都度、翻訳して実行していく言語。
     (だいぶ長くなる&詳しく分かってないので割愛しますが!) 
     こちらのサイトがとても分かり易く、お勧めです。有難や。(http://wa3.i-3-i.info/word188.html)

  • ライブラリが豊富(数万個以上)
     思想としては「ユーザがいつも必要とする最小限の機能のみ提供する」というもの。
     そのため、拡張機能などはインターネット上のライブラリとして提供している。
     今回、機械学習関連のライブラリも充実しているということを聞いて、Pythonを選定しました。

  • いろんなアプリがPythonで出来ている
     Webアプリは勿論のこと、ゲームや組み込みアプリ、機械学習も出来ます、と。
     特に、データの扱いが上手いみたいなので、分析・統計に向いているのだそう。
     確かに、統計学・学術計算のライブラリが充実しているような印象を素人目にも受けました。
     実は、我々が良く利用するサイトのいくつかもPythonで出来ているそう。

全てお勉強してたら日が暮れてしまいそうなので、今日の所はこれで勘弁してくだせえ。
では、Pythonの表層を物凄くザックリと踏まえたうえで。。。


Anaconda とは何ぞや

Pythonの「ディストリビューション

単語の意味がよくわからんので調べた。
ディストリビューション(distribution)とは、流通・配布を意味する単語。
IT業界では、ライブラリ・ソフトウェアを纏めたパッケージを指すことが多い。

先に書いたとおり、Pythonは基本的に「必要なものは自分で入れろォ!オラァ!」という思想なので、
ユーザが使いやすいように予め使うライブラリをセットで纏めてくれたキットが存在します。
それがAnacondaです。
Anacondaでは機械学習で使う種々のライブラリも最低限プリセットしてくれています。


Anacondaをインストールしていくぞォオオオ!

前提として、今回の環境はWindows(8.1)です。
Windows,Mac,Linux用がそれぞれあるみたい。

  • インストーラを入手しに、公式にGo!
     →https://www.anaconda.com/download/


  • バージョンを選択し、ダウンロードする
    f:id:daze097:20180503202903j:plain
    今回はPython3.6のものを落とします。
    bit指定あるみたいなので一応ご注意を。


  • インストーラに従い、進めていく
    f:id:daze097:20180503203151p:plain

    こんなん出てきます。ちょっと出るまでに時間かかるかも。


  • いろいろ押して、インストール完了
    f:id:daze097:20180503203220j:plain

    ごめんなさい、インストール間のキャプチャがうまくとれておりません。。。
    とはいえ特段難しい選択肢はありませんでした。
    英語と格闘しながら、なんとかインストールしました。
    所要時間としては40分程度でした。
    結構掛かるので、お茶でもしばきながら放置しておいてください。


  • Finishする
    f:id:daze097:20180503203347j:plain

    Anaconda Cloud、および使い方を教えてくれるチェックがある。不要なら外して「Finish」
    私はOnにしてました。ブラウザが立ち上がって英語のページが出ました。
    内容見ても英語でよく分からないので閉じましたが(笑)


いざ動作確認と参ろう

  • メニューバーから「Anaconda Navigator」を選択
    f:id:daze097:20180503204221j:plain

    「Widowsメニュー > すべてのプログラム> Anaconda3(xx bit) > Anaconda Navigator」
     で立ち上げてください。


  • 「Jupyter Notebook」 の「Launch」をクリック
     f:id:daze097:20180503204536j:plain

     JupyterNotebookとは、プログラムの実行結果をすぐ見れるようにするためのツールです。
     今回はこれを動作確認用に使用します。
     特に機械学習は実行して結果を記録する方式なので今後ガシガシ使っていく予定です。


  • 「New」から「Python3」のノートブックをクリック
     f:id:daze097:20180503205140j:plain

     Python動作確認用にブックを新たに作ります。


  • 動作確認用のコードを入力
     f:id:daze097:20180503205456j:plain
     とりあえず一端のエンジニアっぽく Hello,World しとくか。


  • 動作確認終了!
     f:id:daze097:20180503205540j:plain
     お疲れさまでした~。


環境構築終了を終えて

 次回からガシガシ使って機械学習とお友達になっていきます。
 デイタイムは働いてて土日しか時間無いので、ゴールデンウィークでどこまで出来るかですが。
 月並みながら、顔認識やパターン認識をしたいなぁーと思っています。。。