#目的
機械学習について勉強を始めてみたものの、実際にやってみないとわからない。
というわけで環境無しの状態からkaggle投稿に挑戦するまでをやってみたいと思う。
1.環境構築
新しいプログラミング言語とかを学ぼうとする際にまずハードルとなるのが、
環境構築
筆者自身も幾度となく挫折してきたので、この投稿が少しでもデータサイエンスを
志す人が増えるきっかけになればと思っている。
使うのはデータサイエンティストの必須アイテムであるjupyter-notebook
※ジュパイターノートブックと読んだり、ジュピターノートブックと読んだり。どっちでも良いらしい
対話式のpython実行環境で、コードを書きつつ実行、結果確認、メモをMarkdownで記述するなど、
それがブラウザベースでできるのですごく便利。まずはこの環境を作ってみるところから
始めてみたいと思う。
ちなみに環境構築せずにjupyterのような対話式の分析環境を使いたい場合は以下のような
サービスがあるので、そちらから入ってみてもよいと思う
- Kaggle ⇒Googleに近年買われたデータ分析のコンペティションサイト。kernelという機能を使うと上記のjupyterとほぼ同様のことができる。筆者はここで賞金獲得を目指すのが当面の目標
- google colaboratory ⇒Googleが無料で開放しているjupyter的なサービス。
ちなみにどちらもGPUを使用することができるので、DeepLerningを試したい人には上記サービスがおすすめ
2.windowsでdocker環境を作る
前提
対象環境
Windows 10 home 64bit
Windows上にdockerを作ってそこからjupyterのイメージをコピーし、
それを起動するやり方を行いたいと思う。
jupyterをWindowsで使いたい場合はannacondaをインストール
すれば使えるのですが、dockerを使用しようと思った理由は以下の通り。
- 自身のwindows環境を汚したくない⇒データ分析を行う上でpythonのライブラリとかを入れる機会がかなり多いので、競合とか発生してしまうと目も当てられないので
- docker以降の手順はどんな環境でも応用が利く⇒仕事でLinuxサーバに建てる際の参考になるので。実際ここでまとめた手順はかなり活躍した
dockerの仕組みをわかっていないと嵌ってしまう落とし穴もありますが、
それについては別の記事で書きます
※筆者はdockerのライフサイクルを理解していなかったため分析用に作ったファイルが全て消し飛んだことが何回もありました泣
3.docker tool boxの導入
docker for windowsを使いたかったが、windows10 proしか対応していないということで断念。代わりにdocker tool boxを利用することとした
まずdockerを導入するうえでは下記のページを参考にした
https://qiita.com/idani/items/fb7681d79eeb48c05144
この記事だけで行けるかなと思っていたが、インストール後に$ docker run hello-world
を実行したが、
↓のようなエラーが表示され、うまくいかない。
C:\Program Files\Docker Toolbox\docker.exe: error during connect: Post http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.37/containers/create: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
See 'C:\Program Files\Docker Toolbox\docker.exe run --help'.
4.Docker Toolboxでエラーが発生した際の対処
そのため、以下の記事を参照にした
手順はこっち
4.1.Dockerマシンの再作成
docker tool boxのターミナル画面で以下を実施することで解消した
$ docker-machine rm default
$ docker-machine create default --driver virtualbox
windowsなのでDocker Toolboxがセットされているところを加味して環境変数を設定
$ eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env default)
これでなんとか環境設定まで完了することができた。docker起動とその準備は次の記事で書こうと思います