あんちべ!スマートフォン用の表示で見るあんちべ!この広告は、90日以上更新していないブログに表示しています。incanterClojure製統計解析アプリ「Incanter」は無料かつjarファイル一つでお手軽に実行できる、その上Javaの豊富なライブラリを利用したり、描画に特化したProcessingという処理系でリッチなアニメーションやインターフェイスを実装できるという面白いアプリケーションです。JVM上で動くため、HadoopやLuceneなどにシームレスで適用できますし、GoSenなど形態素解析アプリも簡単に呼び出せるため、自然言語処理やテキストマイニングにも活用できます。重要なことは、Clojureであるということ、つまり皆さんの愛するLispでコーディング出来るということです。一度言いますが、Lispで統計解析が出来るという喜b(略)。無料の統計解析アプリというとR(あとアプリではありませんが、Python-Scipy/Numpyなど)が挙げられると思います。正直な話、IncanterはRに比べて(いや、まず比べ物にならないのでは...)、ユーザー数や利用実績では完全に劣ります。Rでは最新の解析手法が実装されていたりしますが、Incanterは割と基本的な手法しかありませんし、パッケージの数も全く見劣りします。研究や実務で使う場合はRを用いるほうが良いでしょう。Incanterを使う利点はどこにあるのでしょうか?IncanterはコンパイルしてJarファイルにまとめて配布することができるので、「解析結果を渡すだけではなく、エンドユーザーが使いやすい簡単な統計アプリを作りたい。インストールして頂くこと無く手軽に!」という用途に向いています。エンドユーザーとしても、単なる報告書渡されるだけよりも、パラメタを色々変更できたほうが楽しいですよね。Javaと連携できるという強みがあるので、Rでは出来ない大規模解析が可能(かもしれません、やったことないので...でも夢が広がりますよね!ですよね!)。JavaのSwingなどを使えるため、RよりGUIアプリをとても作り易くなります。あと一番重要なことはLispってことですね。RやScipyはLispではないので駄目ですね。Incanter使うしか有りませんしIncanter知らずに今まで生きてきたことを深く恥じてください。前置きはこれくらいにして、実際Incanterを使ってみましょう。Incanter本家からIncanter.jarを落としてきて*1、Incanterを設置したディレクトリで次のコマンドを実行します。incanter.main;←Linux環境の場合これでClojureのREPLという処理系が起動します。World!から始めましょう。World!"と表示されます。この時点でIncanterというかLispの素晴らしさの片鱗が見えてきます。"str"は引数を標準出力する関数です。そこは問題ないでしょう。上のコードを見てみると、引数が複数指定されています。試しに引数をもっと増やしてみましょう。あんちべ!"引数を増やしても全く問題なく動作する...素晴らしい!このまま電卓のように利用してみましょう。5)>151〜5までの整数を足しあわせた結果15になりました。先程のstrと同じように、複数に引数を指定しても想定通り動きますね。Lisp系の基礎は、まず関数名(strや+など。+もLispでは関数です)が一番左にあり、その関数に放り込む要素を関数名の右に指定し、そしてその関数が働く範囲(スコープ)を括弧で表現するというものです。関数と要素はいいとして、スコープとは何か。足し算と掛け算を組み合わせたもので説明しましょう。3))>7...う、分かりづらい!!と思われるかもしれませんが、落ち着いて考えてみましょう。