Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What is going on with this article?
@kinuga

Windows10のWSL上に機械学習環境のDataikuを構築してみた

More than 1 year has passed since last update.

Dataiku

Dataikuご存知でしょうか?
あまり聞きなれない人が多いのかもしれません。
2018/5/26時点ではQiitaにはこの記事を除いて1件しか検索されませんでした。
第3の波 — AI、機械学習、データサイエンスの民主化
下記記載の面倒なことをDataikuはある程度引き受けてくれます。
データサイエンティストの民主化ではなく、データサイエンティストが本来やるべきことに注力できるツールとして、
非常に有望と思います。

機械学習周りの面倒なこと

機械学習関連のタスクに携わっていて結構面倒だなぁーっと思うのが以下の点
- 環境の準備
- データの前処理
- データ分析や特性を可視化する
- モデル精度を可視化する
- メンバー内でモデル毎の精度を共有化する

環境の準備

クラウドに出したり、WindowsやMacで環境を作るなどこちらも方法はいくつかあるのですが、
ある程度人数が集まったチームになると開発環境の統制をとるというのが一つの課題になります。
実施しているサイクルやタスクによっては違うライブラリのバージョンを使いたくなったり、
サイクルが終盤になっているのに、ライブラリのバージョン変更を取り込みたくない。
個人のPCでやってるからそもそも、なんの統制もとれてないとか
結局隣の人はどんな環境で分析してるのでしょうか?
そのあたりの管理機能を具備しているのもDataikuの魅力の一つだと思います。

データの前処理

扱うデータにより前処理は当然変わってくるのですが、ここもまぁまぁ面倒くさい
前処理によってモデル精度が変わってくるので、労力を費やしたいところなのですが、
ここにばかりも時間を割いてられません。
時間がかかる理由は前処理もいくつかのパターンを試してみる必要があるからです。
自然言語処理なら品詞や区切り位置、回帰系なら欠損値をどうするかなど。
この課題に関してもDataikuは便利機能を準備してくれています。

可視化

機械学習周りはCRISP-DMで回ってることが多いので、何度も可視化するところが面倒だったりします。
(可視化=図表にしてパワポに張り付ける)
当然bokehやmatplotlibでいい感じの図を作れるのですが、なんか触るたびにググってる気がする。
(私自身SESで現場で働いてるので、ネットに接続できないことが多い)
今回試した、DataikuはVisualizationが強力で上記で書いた可視化周りを大幅にサポートしてくれます。

メンバー内でモデル毎の精度を共有化する

普通のPGとちがって、再査や再鑑などをしずらいのが、機械学習関連です。
人に相談したいときに、「前処理から説明するのも。。。」っという場合でも、
プロジェクト単位で共有できているので、何をやっているかは、(良くも悪くもまるわかりです。)

さてインストール

前置きが長くなりましたが、Dataikuを実際にセットアップしていきましょう。

環境はWindows10 + Windows Subsystem for Linux(WSL)+ ubuntuです
WSLはベータ版ではなく、正式版です。
あとOSは64bit版限定ですので、ご注意ください。

Dataikuインストールまでの大まかな流れは以下の通り

WSLを有効にする
MicrosoftStoreからubuntuをインストールする
Ubuntu起動し、初期ユーザー設定
Dataikuインストール

WSLを有効にする

コントロール パネル\プログラム\プログラムと機能

Windowsの機能の有効化または無効化.PNG

Windowsの機能の有効化または無効化
Windows Subsystem for Linuxへチェックを入れ、再起動する

Windowsの機能.PNG

MicrosoftStoreからubuntuをインストールする

msstore.PNG

Ubuntu起動し、初期ユーザー設定

Storeからインストールすると、スタートメニューやコマンドプロンプトから起動できますので、起動します。
※初回起動は少し時間がかかります
ユーザー名はWindowsのユーザー名と合わせる必要がありません。
ubuntu1.PNG

Dataikuインストール

ここからはLinuxの世界になります。
進め方は公式サイトどおりで大丈夫です。
https://www.dataiku.com/dss/trynow/linux/

wgetでファイルダウンロード

wget https://downloads.dataiku.com/public/studio/4.1.5/dataiku-dss-4.1.5.tar.gz

tarでファイルの展開

tar xzf dataiku-dss-4.1.5.tar.gz

Install

dataiku-dss-4.1.5/installer.sh -d DATA_DIR -p 11000

ここまで順調でしたが、インストールで下記の画面がでています。

install_depend_error.PNG

どうやら他のライブラリが必要なようですので、依存関係を解決していきます。
nginx-full
普通にapt-get install nginx-fullとしたいところですが、これは良くありません。
だいたい希望よりも古いバージョンになることが多いです。
その為、同じpre-buildでもnginx公式から引き込むようにしましょう
以下のサイトを見ながら手順を確認します
https://nginx.org/en/linux_packages.html#stable
https://qiita.com/mionatsume/items/1d802723c370984d544b

aptを使ってインストールしますが、そのままでインストールできません。
その為aptが見に行くサーバー追加する(ここではnginxの公式サーバー)

wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key

/etc/apt/sources.listの後ろ2行に以下を追加

deb http://nginx.org/packages/ubuntu/ xenial nginx
deb-src http://nginx.org/packages/ubuntu/ xenial nginx

nginx-fullのインストール

sudo apt-get update
sudo apt-get install nginx-full

nginxのインストールはこれで終わり。
残りのライブラリはひたすらapt-getでインストールしてきます。
Fortranのライブラリとかも使うんですね。

sudo apt-get install unzip
sudo apt-get install zip
sudo apt-get install default-jre-headless
sudo apt-get install python2.7
sudo apt-get install libpython2.7
sudo apt-get install libgfortran3
sudo apt-get install libgomp1

これで依存関係は解決できたのでもう一度インストールコマンドをたたいてみます

dataiku-dss-4.1.5/installer.sh -d DATA_DIR -p 11000

これでようやくDataikuが起動できます。
メッセージに従って、サーバーを起動してみましょう
instakk_Daraiku_ok2.PNG

/home/hoge/DATA_DIR/bin/dss start

ブラウザでポート11000にアクセスしてみます。
初回は認証がありますので、適宜入力してください。
□ Check to start now your Free 2-week trial of Enterprise Edition
上記のチェックは今回インストールしているのはFree Editionで機能が限定されています。
その機能を解除してEnterprise Editionを評価できる期間が2週間です。
チェックを付ければEnterpriseとして動作します。
まずはFreeEditionで使ってみて、ある程度なれてからEnterpriseの評価をした方がいいかもしれません。

dataiku_login.PNG

以下の画面までくれば環境の準備は完了です。
Dataiku_Bootup.PNG

※スクショはEdgeブラウザになってますが、DataikuはChromeやFireFoxを推奨していますので、ご注意ください

2
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
kinuga
機械学習の環境を作ったり、 たまにお手伝い程度で機械学習の作業をする人。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
2
Help us understand the problem. What is going on with this article?