あんちべ!スマートフォン用の表示で見るあんちべ!この広告は、90日以上更新していないブログに表示しています。データマイニング概要この記事は、Gorillaというブラウザ上でClojureという言語を利用出来るライブラリを利用し、ブラウザ上でデータ分析環境を構築するための入門記事です。Clojureの事前知識は一切不要で、ClojureやGorillaのインストールから、ブラウザ上で各種手法をコピペだけで実践出来るになるまでを説明しています。各種分析手法の詳細には言及しておりません。Gorillaを動かす「説明は良いから、とにかく動かしたい」という方向けに要点だけ説明します。http://localhost:XXXXX/worksheet.htmlと表示されるので、そのURLを叩くとこんな感じのページが表示されます。:all}})Clojure/GorillaとはClojureとは、JVM上で動くプログラミング言語の一種です。継続して開発されているデータ分析用のライブラリが用意されています。JVM上で動くHadoopやHBaseなどのシステムとも親和性が高く、それらを利用して大規模なデータ分析を行うのに適しています。各種ライブラリの更新の度全端末にそれを適用し続けるのはハードルが高いと言わざるを得ません。データを個々の端末に移動するのも非常にコストがかかります。これはClojureに限った話ではなく他の処理系においても同じ問題ではありますが。データ分析を行えるようなシステムを簡単に構築出来れば上記のハードルをクリアできます。解析用の処理を送り結果を受け取るだけでよくなります。そのような要望によって生み出されたのがGorillaです。下記のGollira本家サイト、また、GorillaにIncanterを組み込んだincanter-gorillaのサイトをご覧頂ければどのようなものかがご理解頂けると思います。Gollira本家incanter-gorilla同様のプロジェクトはPythonやRにも存在しています。JVM環境以外でも問題無く、かつPythonに慣れ親しんでいる方はそちらを利用するのも良いと思われます。Clojureのインストール主にWindows7向けのインストール方法について説明します。最新のJavaSDK(Javaの開発環境)を入れる必要があります。下記からご自分の端末に合わせたモノをインストールしてください。JAVA_HOMEを設定します(windows向け)。http://www.javadrive.jp/install/jdk/index4.html次に、Clojureの開発ツールであるleiningenをインストールします。公式サイトからlein.batをダウンロードして下さい。self-installを実行。あとはインストール処理が自動で行われますので、終了するまで待ちます。2.4.3と表示されればインストール作業終了です。newと打ち込むと新規プロジェクトを作成出来ます。新規プロジェクトには最低限必要なファイルや設定が自動で生成されています。gorillaと打ち込んでみましょう。するとgorillaというフォルダ名の直下にproject.cljというファイルが生成されています。これはこのプロジェクトの設定ファイルです。設定を変更する場合はこのファイルを編集します。ここでは下記のように編集して下さい。:all}})ここで重要なのはdependenciesとpluginsです。dependenciesに利用するライブラリを記載します。ここに記載されたライブラリをleiningenが依存関係などを自動解決してインストールしてくれます。ここではincanterとincanter-gorilla、clj-ml、そしてkuromoji*1という形態素解析器を指定しています。形態素解析器についてはこちらをご覧ください。pluginsにlein-gorillaを記載し、gorillaを使えるようにしています。http://localhost:xxxxx/worksheet.htmlとURLが表示されるので、そのアドレスをブラウザで見るとClojure実行環境が表示されます。詳細なオプションは下記に記載されています。http://gorilla-repl.org/configuration.html動作するか確かめてみましょう。3)と打ち込み、ShiftとEnterキーを同時押しすると処理が実行されます。;irisの中身を見てみる。いう列があることが分かる。weka特有のデータ形式arffを利用します。サーバ上にあるCSV形式を読み込む場合は次のようにします。decision-tree-evaluation))こちらに掲載した機械学習手法も全てブラウザ上で実行可能です。RandomForestやK-meansなどもお試しください。ファイルを読み込む際、サーバ上でGorillaを立ち上げている場合はファイルパスにご注意ください。ローカルファイル指定は自分の端末ではなくサーバ上で探索します。ここでは一旦userdict.txtと名付ける。2列目:1列目をどう区切るか。以下のようにすると望みの結果が得られる。"あきつ丸改二で大発動艇欲しい")形態素解析の結果を用いてワードカウントなどをする場合はこちらをご覧ください。ここで紹介している内容もブラウザ上で実行可能です。終わりにブラウザ上で様々な分析が出来る便利な時代になってきました。MTGの最中に「あのデータってどうなってるんだっけ?」って話題に上がったその場ですぐ集計・可視化して確認出来るなど夢が広がりまくりです。実務上データ分析しててかなり面倒だと思うのがデータサイズです。数十GB単位になるとファイルの移動だけで面倒なことになりますし、ローカルに持ってくるとそれだけでSSD空き容量死ぬケースがあります。あと分析ツールの更新管理は多分皆さんが想像するのの27倍ダルいです。残り半分がエンジニアだったとしましょう。大体前半の方々は「更新したのでアップデートしてくださーい」とアナウンスしても、面倒なので無視します。慣れてるのが一番だよね!大体後半の方々は「更新したのでアップデートしてくださーい」とアナウンスすると、既に自力拡張してるので、それが動かなくなると嫌だから無視します。いう時システム提供側が取り得る選択肢は更新しない同僚をハンマーで一人ずつ殴って回るかあるいはブラウザで実行できるようにするかです。非常に僅差ですが二個めの方がまだ若干マシかなと思わなくもないです。同時接続数とか認証周りとかにまだまだ機能不足や問題があります。notebookでも同じ問題は生じています。*3とはいえ、ブラウザ上で分析可能なメリットは結構大きい上に、Clojure/GorillaはJVM環境で簡単に構築できるツールなので是非チャレンジしていきたい+皆さんもチャレンジして欲しいなと思います。それでは皆様、よきGorillaライフを!!素敵なLispエイリアンイラストをマルタコEX@marutakoEX様からお借りしました!マルタコEX様、利用のご快諾、誠に有難うございます!!!*1:ちなみにここで指定しているのは最新版ではありません。これは単に私が今まで利用してて動作が理解出来てるというので、今回も惰性で指定しているだけです。Kuromojiの最新版を使う方が良いです*2:私は「何でこれがdependenciesで何でこれがpluginsなの?」っていうのがいまいちわかってないんですが、その切り分けをご存知の方いらっしゃったら教えてください...。notebookは一応パスワード設定出来ますが、ここでいう認証は「Aさんはこのデータとこのデータにアクセス出来て、Bさんはさらにあのデータにもアクセス出来て、あ、Cさんは異動したからこのデータへのアクセス禁止して」とかやりたいって意味です。月別アーカイブはてなブログをはじめよう!AntiBayesianさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。