MacでPythonを使って『機械学習』を学ぶための環境構築¶
はじめに¶
『機械学習や人工知能を勉強したいけれども、プログラミングを学ぶ前の環境構築で躓いてしまう』との声を多くいただき、絶対に環境構築で失敗しないための記事を執筆することになりました。 Pythonで機械学習の環境構築をする方法は1通りではなく、HomebrewやAnaconda、その他諸々の方法でインストールを試みることができます。 方法が複数あることは失敗しても他の方法で試せるためありがたいことですが、初心者にとってはどの方法で環境構築をすれば良いか迷ってしまう原因にもなってしまいます。
そこで、本記事では次のような方をターゲットに書いています。
Pythonを初めて使う方
Pythonはプロジェクトでなく自分用で使う方(要するに、仮想環境は不要な人)
失敗しない環境構築を行うためにも、ぜひこちらの記事を参考にしてみてください。
ローカル環境(Mac)¶
環境の違いにより、設定がうまくいく場合があります。 現在、私の手元のPCはMacの最新版OSが入っています。
・macOS Sierra 10.12.3
うまくいかない場合はこちらに合わせてみてください。

Homebrewのインストール¶
Homebrewというパッケージマネージャーを導入します。 日頃プログラミングをしない方は聞き慣れないかもしれませんが、プログラミングの世界では「Webで検索→インストール用のファイルをダウンロード→手元でインストールの実行」と人間が行っていた作業を自動的にコマンド1つでできるような仕組みがあります。 それが「パッケージマネージャー」です。
これがあれば百人力。 プログラミングの世界に必要なソフトウェアをダウンロードからインストールまでコマンド1つで行ってくれます。
Macでは「Homebrew」と呼ばれるパッケージマネージャーが有名であり、他にも「MacPorts」というものもありますが、最近のWeb情報はだいたいHomebrewで書いてあるので、Homebrewの方がおすすめです。
ターミナルを開く¶
プログラミングをする人にとっては当たり前の存在である「ターミナル」を使います。 「黒い画面」のあれです。
spotlightをお使いの方は「ターミナル」と検索すると、以下のような画面がでてくるので、これでEnterを押すと、ターミナルが立ち上がります。

よくわからない場合は、macのFinderの左上の「移動」から「アプリケーション」を開いてください。



「ユーティリティ」の中に「ターミナル」があると思います。
開くとこのようにターミナルが立ち上がりました。

ターミナルからHomebrewのインストール¶
それでは、先程のHomebrewをインストールしていきます。 インストールといっても、ターミナルに先程のHomebrewでコピーしたスクリプトを貼り付けて、Enterを押すだけです。

いかがでしょうか。非常に簡単ではないでしょうか。
途中で、このような画面になります。

処理を続けるなら「Return」と書いてあるので、Enter(Return)を押します。

つぎに、パスワードの入力を求められるので、Macで設定しているパスワードを入力してください。 このとき、ターミナルが初めての方は「文字を入力しても反映されない」とエラーと間違われる方が多いのですが、ちゃんと文字が入力されているので、騙されたと思って文字を入力してEnterを押してみてください。 問題なければ、その次の処理に進むと思います。

5分ほど待つと、このようにインストールが完了します。
HomeBrewが正しくインストールされているか確認¶
ターミナルで使用するコマンドは基本的にLinuxと同じです。 ※ Linuxはサーバーなどで多く使用されているOS(WindowsやMacの仲間)です。
そして、Homebrewを使ったコマンドは brew
を使用します。
例えば、何かをインストールしたい場合はターミナルに以下のように入力します。
$ brew install ソフトウェア名
いかがでしょうか。 非常に直感的ではないでしょうか。
Homebrewさえ正しくインストールされていれば、上記のようなコマンドでソフトウェアを管理できます。 それでは、本題のHomebrewが正しくインストールされているか確認してみましょう。
$ which brew
これだけです。
この which
というコマンドは、使用するコマンドの元となるプログラムがどこに保存されているかを調べるためのコマンドですが、これにより、インストールされていなければ何も保存されていないので、空白の文字が返ってきて、ちゃんとインストールされていれば、保存されている場所が返ってきます。

このように、/usr/local/bin/brew
という場所に保存されているよと返ってきたので、無事インストールできていることがわかります。
これで何も返ってこなかった方は正しくインストールできていないので、上記の手順をもう一度繰り返してみてください。
Python3のインストール¶
Macの方はPythonが最初からインストールされているのですが、最初からインストールされているPythonは2系という日本語を扱うには多少面倒くさいバージョンですので、今回はPythonの3系をインストールしていきます(わからなければ特に気にされなくて大丈夫です)。
Python3がインストールされていないことの確認¶
Python3がすでにインストールされている方はこの章の手順が不要です。 そのため、まずPython3がインストールされているかどうかを確認してみましょう。
先程、Homebrewで正しくインストールされているかの確認に使用した which
コマンドを使います。
$ which python3

何も返ってこないため、インストールがされていないことが確認できます。 それでは、Python3をインストールしていきましょう。
HomebrewでPython3をインストール¶
Homebrewを使えば、以下のコマンドひとつでインストールが完了します。
$ brew install python3
これでEnterを押すと、以下の画像のように続々とインストール用のコマンドが実行されていきます。

そして、最終的に以下のような画面になるとインストール完了です。

インストールができているか確認しましょう。
$ which python3

このように、python3が保存されている場所が返ってきたため、インストールが完了できています。
また、python3
をHomebrew経由でインストールした際に pip3
というコマンドも一緒にインストールされていると思います。
$ which pip3

この pip3
とは、pythonの中で使用する ライブラリ と呼ばれる便利なツールを管理してくれるためのツールです。
よくある質問:Homebrewとpipって何が違うの?¶
brew
も pip3
も何かをインストールするために使うものですが、どうやって使い分けるのでしょうか?
答えは『Macの中のソフトウェアのインストールがHomeBrew』、『Pythonの中のライブラリのインストールがpip』です。
HomebrewがMac内で使用する python3
や pip3
などのソフトウェアを管理し、pip3
がそのpython3
で使用するためのライブラリを管理するといった構造になっています。
Homebrew
|- python3
|- pip3
|- python3で使用するライブラリ...
|- etc...
Pythonのバージョンを確認¶
Python3をインストールしたのですが、その時々によって、インストールされるバージョンが変わります(基本的には最新のバージョンをインストールするため)。
ここで、私がインストールしたバージョンを確認しておきましょう。 ※ これと全く同じでなくてもおそらく大丈夫です。
$ python3 --version

私のバージョンは3.6.0
でした。
最初の数字が3
から始まっていれば、基本的には大丈夫です。
Pythonでよく使うライブラリをインストール¶
numpy
(線形代数) や scipy
(数式処理)、 matplotlib
(プロット)、pandas
(データベース) は、基本的に何をするにも必須のライブラリですので、インストールしておきましょう。
$ pip3 install numpy # 線形代数
$ pip3 install scipy # 数式処理
$ pip3 install matplotlib # 描画
$ pip3 install pandas # データ操作
数分程度でインストールが完了します。
機械学習で使用するライブラリのインストール¶
scikit-learn¶
分類や予測のためのモデルが詰まった機械学習用パッケージです。 Pythonでのデータ分析ではほぼデファクトと言っても良い地位を得ています。
$ pip3 install scikit-learn
Chainer¶
ディープラーニング(ニューラルネットワーク)を実装する上で有名な国産のライブラリです。 日本語のリファレンスも豊富で、GoogleのTensorflowと並んで人気です。
$ pip3 install chainer
Jupyter notebook¶
お手軽にPythonを実行できる環境です。 初心者がプログラムの動作確認をするときは、このJupyter notebookを使うことをおすすめしています。
$ pip3 install jupyter
これで『機械学習』を学ぶための環境構築は完了です。
Atomのインストール(おまけ)¶
必要なソフトウェアのインストールは完了しましたが、もう少しスムーズにプログラミングをするために「Atom」と呼ばれる「エディター」をインストールします。 「エディター」とはよく見慣れたメモ帳と基本機能的には同じで、文字を書いて保存するためのものです。 しかし、近年のエディターは非常に進化しており、プログラミングが見やすくなるように色付けがされたり、ターミナルをエディター内に内蔵して、スムーズにプログラムを実行できたりします。
そのエディターの中でも、筆者の吉崎が最近推しているのが「Atom」です。 GitHub社が作っているということもあり、非常に扱いやすい上に安定しています。
Atomのインストールは公式ページより、インストールファイルをダウンロードします。

ダウンロードしたファイルを展開(ダブルクリックすれば展開されます)し、展開できれば完了です。 このファイルを一番はじめにターミナルで説明したアプリケーションフォルダにコピーしておいてください。

これでAtom自体のインストールは完了です。
Atomのアプリケーションを開くと、このような画面になります。

Atomでオススメの設定¶
Atom内部の設定を簡単にしていきましょう。
開いて直後の右画面に出ている「Install a Package」を選択しましょう。
Welcome Guideを閉じてしまった方は、上部のツールバーから 「Atom」→「Preferences」→左下の「Install」 でも同じ画面にたどり着けます。

こちらの検索画面で「terminal」と検索してください。
検索結果から「platformio-ide-terminal」をインストールしてください。 ※ Xcodeをインストールしていない人はエラーがでるため、「AppStore」からXcodeをインストールして、再度Atom内でのインストールをお試しください。

これのインストールが完了すると、Atomのエディター内でターミナルを立ち上げることができ、プログラムを書く場所と実行する場所を一緒にできるため、開発が非常に楽になります。 『生産性』という言葉が大好きな方にはぜひおすすめしたい設定です。


おわりに¶
Macでの環境構築、お疲れ様でした。 スムーズに環境構築を行うことができたでしょうか。
Homebrewを使用して、非常にスッキリした状態でインストールを行ったため、今後他のライブラリが必要になった際も pip3
のコマンドを使えば、だいたいうまくいくので今後もご安心ください。
みなさまがこれから機械学習を学ばれ、色々な産業で革命を起こしていただけることを非常に楽しみにしており、この記事がその一助となっていれば嬉しく思います。