データマイニングやテキストマイニングが注目されています。ビッグデータの蓄積、そのデータ活用する意識の高まり、分析手法を活用する事例の増加で、データマイニングのニーズを高待っています。そしてフリーウェアであるR言語などが注目されています。さらに、R言語をRDMS(データベース管理システム)の分析エンジンとし、Webアプリの形でデータマイニングやグラフィックスの機能を提供できれば、適用範囲が広がります。そこで、フリーウェアRDMSのPostgreSQLをR言語と統合し、Web対応のEspressChartを活用して、データマイニング機能やグラフィックス機能を提供できる高品質・高機能なWebアプリケーソンを考察してみます。
(1)R言語は:
オープンソースでフリーウェアの統計解析向けプログラミング言語、及びその開発実行環境です。
R言語(参考:Wikipedia)https://ja.wikipedia.org/wiki/R%E8%A8%80%E8%AA%9E
特徴:
・可視化の柔軟性が高い
・統計分析や機械学習などの分析機能が豊富である
・フリーなアドオンパッケージが1,700個以上あり拡張性が高い
・多様なアプリケーションとインターフェースがあり
(2) PL/R:
PostgreSQL用R手続き型言語(R Procedural Language for PostgreSQL)
DBMS環境でR言語の分析機能や可視化機能を呼び出すことが可能
http://www.okadajp.org/RWiki/?R%20%E3%81%A8%20PostgreSQL
(3) PL/Rを用いたチャートWebアプリケーションの実現
構想のWebアプリケーションの構造が下図になります。分析リクエストがSQLスクリプトの形でPostgreSQLに渡されます。PostgreSQLはSQLスクリプトを実行し、その中に埋め込めたPL/Rの関数を実行。さらにPL/R関数の実行により、R言語を呼び出し、分析を行い、分析結果をPostgreSQLに返します。
分析データがPostgreSQLに蓄積され、分析や分析データのやり取りがすべてPostgreSQL環境で処理でききます。これによって他のR言語インターフェースと比べて、処理速度が速いという特長があります。
またPL/RがR言語の呼び出しをPostgreSQL環境で行うためPL/Rがアプリケーションの開発言語に依存しません。
Webアプリケーションの構築にはEspressChartとJavaを使用することができます。
関連するトピックス:
- 統計解析向けR言語: EspressChartの連携でデータを簡単に可視化を実現 : JRI (Java R Interface) 事例
- IBM iSeries(AS400)からzSeriesまでのサポート【Javaチャート・グラフ作成ツールEspressChart】
- Weka(データマイニングツール)とEspressChartとの連携
- 予測分析:機械学習、データマイニング
- Espressシリーズ・オンラインサポート・サイト【Javaチャート・グラフ作成ツールEspressChart】
- EspressChart API on Workstation
- EspressReport ES 事例紹介: Online Computing, Inc.
- Exportメソッドの同期化【Javaチャート・グラフ作成ツールEspressChart】
- Java11を使用したWebサイト構築でのJavaアプレットに替わるチャート・レポートの対応策:QuickDesigner (EspressReport ES)
- ゲージ(Guage)チャートでダッシュボード開発を【Javaチャート・グラフ作成ツールEspressChart】
PythonユーザはPL/Rの代わりにPL/Python( PostgreSQLの関数をPython言語で作成することができる手続き言語)を利用して同様にデータマイニングWebアプリケーションを構築することが可能です。