# MacでPythonを使って『機械学習』を学ぶための環境構築 ## はじめに [![logo_horizontal.png](https://qiita-image-store.s3.amazonaws.com/0/130181/be63b003-0dfa-e1c1-9282-ca12b02f00a4.png)](http://www.kikagaku.co.jp/) 『**機械学習や人工知能を勉強したいけれども、プログラミングを学ぶ前の環境構築で躓いてしまう**』との声を多くいただき、**絶対に環境構築で失敗しないための記事**を執筆することになりました。 Pythonで機械学習の環境構築をする方法は1通りではなく、HomebrewやAnaconda、その他諸々の方法でインストールを試みることができます。 方法が複数あることは失敗しても他の方法で試せるためありがたいことですが、**初心者にとってはどの方法で環境構築をすれば良いか迷ってしまう原因**にもなってしまいます。 そこで、本記事では次のような方をターゲットに書いています。 * **Pythonを初めて使う方** * Pythonはプロジェクトでなく**自分用で使う方**(要するに、仮想環境は不要な人) 失敗しない環境構築を行うためにも、ぜひこちらの記事を参考にしてみてください。 ### ローカル環境(Mac) 環境の違いにより、設定がうまくいく場合があります。 現在、私の手元のPCはMacの最新版OSが入っています。 ・macOS Sierra 10.12.3 うまくいかない場合はこちらに合わせてみてください。 スクリーンショット 2017-02-10 10.31.51.png ## Homebrewのインストール **Homebrew**というパッケージマネージャーを導入します。 日頃プログラミングをしない方は聞き慣れないかもしれませんが、プログラミングの世界では「**Webで検索→インストール用のファイルをダウンロード→手元でインストールの実行**」と人間が行っていた作業を自動的にコマンド1つでできるような仕組みがあります。 それが「**パッケージマネージャー**」です。 これがあれば百人力。 プログラミングの世界に必要な**ソフトウェアをダウンロードからインストールまで**コマンド1つで行ってくれます。 Macでは「**Homebrew**」と呼ばれるパッケージマネージャーが有名であり、他にも「MacPorts」というものもありますが、最近のWeb情報はだいたいHomebrewで書いてあるので、**Homebrewの方がおすすめ**です。 ### Homebrewのサイトへアクセス まず、[**Homebrew**](http://brew.sh/index_ja.html)のサイトへアクセスします。 スクリーンショット 2017-02-09 20.05.56.png この**一番上のスクリプトをコピー**します。 ### ターミナルを開く プログラミングをする人にとっては当たり前の存在である「**ターミナル**」を使います。 「**黒い画面**」のあれです。 **spotlight**をお使いの方は「**ターミナル**」と検索すると、以下のような画面がでてくるので、これでEnterを押すと、ターミナルが立ち上がります。 スクリーンショット 2017-02-09 20.12.35.png よくわからない場合は、macのFinderの左上の「**移動**」から「**アプリケーション**」を開いてください。 スクリーンショット 2017-02-09 20.13.57.png スクリーンショット 2017-02-09 20.15.26.png スクリーンショット 2017-02-09 20.15.33.png 「**ユーティリティ**」の中に「**ターミナル**」があると思います。 開くとこのように**ターミナル**が立ち上がりました。 スクリーンショット 2017-02-09 20.17.12.png ### ターミナルからHomebrewのインストール それでは、先程のHomebrewをインストールしていきます。 インストールといっても、**ターミナルに先程のHomebrewでコピーしたスクリプトを貼り付けて、Enterを押すだけ**です。 スクリーンショット 2017-02-09 20.17.23.png いかがでしょうか。非常に簡単ではないでしょうか。 途中で、このような画面になります。 スクリーンショット 2017-02-09 20.17.33.png 処理を続けるなら「Return」と書いてあるので、Enter(Return)を押します。 スクリーンショット 2017-02-09 20.17.42.png つぎに、パスワードの入力を求められるので、**Macで設定しているパスワード**を入力してください。 このとき、ターミナルが初めての方は「**文字を入力しても反映されない**」とエラーと間違われる方が多いのですが、ちゃんと文字が入力されているので、騙されたと思って文字を入力してEnterを押してみてください。 問題なければ、その次の処理に進むと思います。 スクリーンショット 2017-02-09 20.22.56.png 5分ほど待つと、このようにインストールが完了します。 ### HomeBrewが正しくインストールされているか確認 ターミナルで使用するコマンドは基本的に**Linux**と同じです。 ※ Linuxはサーバーなどで多く使用されているOS(WindowsやMacの仲間)です。 そして、Homebrewを使ったコマンドは `brew` を使用します。 例えば、何かをインストールしたい場合はターミナルに以下のように入力します。 ```bash:Homebrewを使ったソフトウェアのインストール $ brew install ソフトウェア名 ``` いかがでしょうか。 非常に直感的ではないでしょうか。 Homebrewさえ正しくインストールされていれば、上記のようなコマンドでソフトウェアを管理できます。 それでは、本題のHomebrewが正しくインストールされているか確認してみましょう。 ```bash:Homebrewが正しくインストールされているか確認 $ which brew ``` これだけです。 この `which` というコマンドは、使用するコマンドの元となるプログラムがどこに保存されているかを調べるためのコマンドですが、これにより、インストールされていなければ何も保存されていないので、空白の文字が返ってきて、ちゃんとインストールされていれば、保存されている場所が返ってきます。 スクリーンショット 2017-02-09 20.29.58.png このように、`/usr/local/bin/brew` という場所に保存されているよと返ってきたので、無事インストールできていることがわかります。 これで何も返ってこなかった方は正しくインストールできていないので、上記の手順をもう一度繰り返してみてください。 ## Python3のインストール Macの方はPythonが最初からインストールされているのですが、**最初からインストールされているPythonは2系**という日本語を扱うには多少面倒くさいバージョンですので、今回はPythonの3系をインストールしていきます(わからなければ特に気にされなくて大丈夫です)。 ### Python3がインストールされていないことの確認 Python3がすでにインストールされている方はこの章の手順が不要です。 そのため、まずPython3がインストールされているかどうかを確認してみましょう。 先程、Homebrewで正しくインストールされているかの確認に使用した `which` コマンドを使います。 ```bash:Python3がインストールされているか確認 $ which python3 ``` スクリーンショット 2017-02-09 20.35.25.png 何も返ってこないため、インストールがされていないことが確認できます。 それでは、Python3をインストールしていきましょう。 ## HomebrewでPython3をインストール Homebrewを使えば、以下のコマンドひとつでインストールが完了します。 ```bash:Python3をインストール $ brew install python3 ``` これでEnterを押すと、以下の画像のように続々とインストール用のコマンドが実行されていきます。 スクリーンショット 2017-02-09 20.38.47.png そして、最終的に以下のような画面になるとインストール完了です。 スクリーンショット 2017-02-09 20.39.37.png インストールができているか確認しましょう。 ```bash:インストールができているか確認 $ which python3 ``` スクリーンショット 2017-02-09 20.40.38.png このように、python3が保存されている場所が返ってきたため、インストールが完了できています。 また、`python3` をHomebrew経由でインストールした際に `pip3` というコマンドも一緒にインストールされていると思います。 ```bash:pip3がインストールされているか確認 $ which pip3 ``` スクリーンショット 2017-02-09 20.45.34.png この `pip3` とは、pythonの中で使用する **ライブラリ** と呼ばれる便利なツールを管理してくれるためのツールです。 #### よくある質問:Homebrewとpipって何が違うの? `brew` も `pip3` も何かをインストールするために使うものですが、どうやって使い分けるのでしょうか? 答えは『**Macの中のソフトウェアのインストールがHomeBrew**』、『**Pythonの中のライブラリのインストールがpip**』です。 HomebrewがMac内で使用する `python3` や `pip3` などのソフトウェアを管理し、`pip3`がその`python3`で使用するためのライブラリを管理するといった構造になっています。 ``` Homebrew |- python3 |- pip3 |- python3で使用するライブラリ... |- etc... ``` ### Pythonのバージョンを確認 Python3をインストールしたのですが、その時々によって、インストールされるバージョンが変わります(基本的には最新のバージョンをインストールするため)。 ここで、私がインストールしたバージョンを確認しておきましょう。 ※ これと全く同じでなくてもおそらく大丈夫です。 ```bash:python3のバージョンの確認 $ python3 --version ``` スクリーンショット 2017-02-09 20.42.55.png 私のバージョンは`3.6.0`でした。 最初の数字が`3`から始まっていれば、基本的には大丈夫です。 ## Pythonでよく使うライブラリをインストール `numpy` (線形代数) や `scipy`(数式処理)、 `matplotlib` (プロット)、`pandas` (データベース) は、基本的に何をするにも必須のライブラリですので、インストールしておきましょう。 ```bash:numpyとmatplotlibのインストール $ pip3 install numpy # 線形代数 $ pip3 install scipy # 数式処理 $ pip3 install matplotlib # 描画 $ pip3 install pandas # データ操作 ``` 数分程度でインストールが完了します。 ### 機械学習で使用するライブラリのインストール #### scikit-learn 分類や予測のためのモデルが詰まった機械学習用パッケージです。 Pythonでのデータ分析ではほぼデファクトと言っても良い地位を得ています。 ```bash:scikit-learnのインストール $ pip3 install scikit-learn ``` #### Chainer ディープラーニング(ニューラルネットワーク)を実装する上で有名な国産のライブラリです。 日本語のリファレンスも豊富で、GoogleのTensorflowと並んで人気です。 ```bash:Chainerのインストール $ pip3 install chainer ``` #### Jupyter notebook お手軽にPythonを実行できる環境です。 初心者がプログラムの動作確認をするときは、このJupyter notebookを使うことをおすすめしています。 ```bash:JupyterNotebookのインストール $ pip3 install jupyter ``` これで『機械学習』を学ぶための環境構築は完了です。 ## Atomのインストール(おまけ) 必要なソフトウェアのインストールは完了しましたが、もう少しスムーズにプログラミングをするために「**Atom**」と呼ばれる「**エディター**」をインストールします。 「**エディター**」とはよく見慣れたメモ帳と基本機能的には同じで、文字を書いて保存するためのものです。 しかし、近年のエディターは非常に進化しており、プログラミングが見やすくなるように色付けがされたり、ターミナルをエディター内に内蔵して、スムーズにプログラムを実行できたりします。 そのエディターの中でも、筆者の吉崎が最近推しているのが「**Atom**」です。 GitHub社が作っているということもあり、非常に扱いやすい上に安定しています。 Atomのインストールは[公式ページ](https://atom.io/)より、インストールファイルをダウンロードします。 スクリーンショット 2017-02-09 21.05.41.png ダウンロードしたファイルを展開(ダブルクリックすれば展開されます)し、展開できれば完了です。 このファイルを一番はじめにターミナルで説明したアプリケーションフォルダにコピーしておいてください。 スクリーンショット 2017-02-09 21.07.39.png これでAtom自体のインストールは完了です。 Atomのアプリケーションを開くと、このような画面になります。 スクリーンショット 2017-02-09 21.09.52.png ### Atomでオススメの設定 Atom内部の設定を簡単にしていきましょう。 開いて直後の右画面に出ている「Install a Package」を選択しましょう。 Welcome Guideを閉じてしまった方は、上部のツールバーから 「Atom」→「Preferences」→左下の「Install」 でも同じ画面にたどり着けます。 スクリーンショット 2017-02-09 21.12.17.png こちらの検索画面で「terminal」と検索してください。 検索結果から「platformio-ide-terminal」をインストールしてください。 ※ Xcodeをインストールしていない人はエラーがでるため、「AppStore」からXcodeをインストールして、再度Atom内でのインストールをお試しください。 スクリーンショット 2017-02-09 21.13.21.png これのインストールが完了すると、Atomのエディター内でターミナルを立ち上げることができ、プログラムを書く場所と実行する場所を一緒にできるため、開発が非常に楽になります。 『**生産性**』という言葉が大好きな方にはぜひおすすめしたい設定です。 スクリーンショット 2017-03-14 13.47.22.png スクリーンショット 2017-03-14 13.47.27.png ## おわりに Macでの環境構築、お疲れ様でした。 スムーズに環境構築を行うことができたでしょうか。 Homebrewを使用して、非常にスッキリした状態でインストールを行ったため、今後他のライブラリが必要になった際も `pip3` のコマンドを使えば、だいたいうまくいくので今後もご安心ください。 みなさまがこれから機械学習を学ばれ、色々な産業で革命を起こしていただけることを非常に楽しみにしており、この記事がその一助となっていれば嬉しく思います。