LoginSignup
2
2

More than 5 years have passed since last update.

Microsoft Azure + Ubuntu 14.04LTS + PredictionIO (1)

Last updated at Posted at 2016-05-30

機械学習エンジン PredictionIO を試したくて環境を作ってみたので、自分用のメモとして記録しておきます。
あくまで自分の環境下なので、細かな違いは適宜読み替えてください。

(1) 環境作成・機械学習エンジンの準備 < ここ
(2) データの投入・学習環境の準備
(3) 学習結果の確認

環境作成

Java / MySQL を使うので、先に環境を作っておきます。
その後、PredictionIO の環境を作る流れになります。

Java

Azureのデフォルトではjdkがインストールされていないので、インストールしておきます。
インストール直後は openjdk-7 が対象だけど、今回は openjdk-8 を使います。

$ sudo add-apt-repository ppa:openjdk-r/ppa
$ sudo apt-get update
$ sudo apt-get install openjdk-8-jdk

MySQL

MySQLは標準では5.5がインストールされるが、5.6以降がおすすめです。
mysql-apt-config のバージョンはMySQLのWEBサイトで調べて最新版を使います。

$ wget http://dev.mysql.com/get/mysql-apt-config_0.3.3-2ubuntu14.04_all.deb
$ sudo dpkg -i mysql-apt-config_0.3.3-2ubuntu14.04_all.deb
$ sudo apt-get update
$ sudo apt-get install mysql-server
$ mysql -uroot -p(rootパスワード)
mysql> create table pio;
mysql> grant all on pio.* to pio@'%' identified by '(パスワード)';
mysql> exit;

dpkgを実行すると、環境選択画面が表示されるので、Server > mysql-5.6 > Apply の順に選択。
(mysql-5.7-dmr も表示される。こちらはベータリリース。[2016/05/28現在])
mysql上での実行で、データベース名/ID/パスワード は任意に設定可能。
デフォルト(pio/pio/pio)から変更した場合は、設定内容を PredictionIO インストール後に設定ファイルに反映させる必要があります。

PredictionIO

PredictionIOのページを参考に。

$ bash -c "$(curl -s https://install.prediction.io/install.sh)"

インストール中に入力を求められるので、
データベース: MYSQL
OS: Debian/Ubuntu
を選択。
インストールは少し時間がかかるけど待ちましょう。
完了すると、.bashrcに自動でパス設定が追記されるので、sourceで読み込んでおきます。

$ source ~/.bashrc

機械学習エンジンの準備

PredictionIOサーバーの実行

バックグラウンド実行しておきます。

$ pio eventserver &

実行後はステータスを確認して、動作を確認しておきます。

$ pio status

Your system is all ready to go.と表示されていれば大丈夫です。

テンプレートの導入

テンプレート:http://templates.prediction.io/
機械学習用のテンプレートがすでに用意されているので、こちらから探して利用します。

$ pio template get PredictionIO/template-scala-parallel-recommendation 新エンジン名
$ cd 新エンジン名

導入したテンプレートを利用してアプリを登録します。
テンプレートを導入する際に以下のエラーがでたらjdk インストール時にSSL関連のリンクがおかしくなっているので修復しましょう。
java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

$ sudo update-ca-certificates -f

アプリの準備

アプrを準備する際、予め access-key を用意しておかないと処理が止まるようなので、別途 access-key を作っておきましょう。適当な長さ(32文字くらい?)のランダムな文字列で大丈夫なようです。

$ pio app new アプリ名 --access-key 作っておいたaccess-key
$ pio app list

データ投入をするために PythonSDK が必要なので、導入します。

$ pip install predictionio

データ投入

Microsoft Azure + Ubuntu 14.04LTS + PredictionIO (2) へ続く。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2