マーケティングや製造現場のカイゼンの場で、データ分析の需要が高まっています。その一方で、BI(ビジネスインテリジェンス)ツールは、可視化はできても、統計分析や機械学習モデルの作成において、基礎知識やプログラミングスキルの不足が大きな壁となるケースがあります。

これに対して、今回紹介するツール「RapidMiner」は、GUI上で簡単にデータの「可視化」「前処理」「機械学習」を可能にします。今までBIツールやExcelで可視化に取り組んでいた方も、プログラミングなしで、より深いデータ分析が可能になります。

今回は、RapidMinerの基礎編として、データの取り込みや可視化、前処理、モデル作成などの基本的な操作方法を紹介します。

なお、RapidMinerは、フリーライセンスであれば1万行まで無料であり、PC(Windows/Mac)にインストールして手軽にデータ分析にトライできます。ご興味のある方は、実際に操作しながら読み進めてください。

データの特徴を簡単に可視化

まず、データの取り込みと可視化について紹介します。

RapidMinerは、CSVやExcelなどのファイル形式のデータを取り扱い可能であるほか、データベースに直接接続してデータを取り込むこともできます。

データを取り込むと、「Results」と呼ばれる画面で、さまざまな角度から簡単に可視化できます。例えば、「Statistics」の項目をクリックすると、取り込んだデータの特徴・概要を見ることができます(図1)。さらに、データの欠損値の数や、ヒストグラムの表示、最大値・最小値などの統計量も自動で計算されます。

  • 「Statistics」の項目で、取り込んだデータの特徴・概要を可視化

データ分析では、前処理の前に、取り扱うデータの特徴を俯瞰することが非常に重要です。Excelだとデータを開くだけでも時間がかかり、統計量を出すにも多くの操作が必要ですが、RapidMinerでは、これらの作業を大きく簡略化できます。

続いて「Visualizations」の項目をクリックすると、データの特徴をより詳細に確認したり、他のデータと比較したりできます(図2)。時系列データであれば線グラフ、2つ以上のデータを見比べたい場合は分散図など、「Plot type」を指定することで、豊富な可視化方法を選択できます。

  • 「Visualizations」の項目で、データの詳細を表示して他データと比較

同じ作業をRやPythonによるプログラミングで実現するには、縦軸・横軸やグラフの種類など、項目ごとにコードの実装が必要になります。RapidMinerでは、クリック操作で即時に可視化されるため、いろいろな角度から可視化した情報を眺めながら、データの料理方法を考えることができます。このように可視化の機能だけでも、優れたツールといえます。

ブロックをつなげるだけで簡単にフローを作成

次に、前処理・モデル作成について紹介します。

RapidMinerは「Design」と呼ばれる画面で前処理や分析等のフローを作成します。必要な作業は、「Process」の項目で、データや処理のブロックをつなげるだけです(図3)。データ分析では、前処理が作業の8割を占めると言われており、非常に重要です。RapidMinerでは前処理のフローが可視化されるため、どこでどのような処理をしているのかを直感的に把握できます。

  • 「Process」の項目で、データや処理のブロックをつなげてフローを作成

では、実際のデータの前処理やモデル作成のフローの作り方について、「欠損値を埋める処理」を例として紹介します(図4)。

  1. フローやデータを管理する「Repository」から、取り扱うデータをProcessに入れる
  2. データの加工方法やアルゴリズムを管理する「Operators」から、欠損値を処理する「Replace Missing Values」を選び、1)でProcessに入れた取り扱いデータのブロックに接続する
  3. データの加工設定やアルゴリズムのチューニングができる「Parameters」で、「Replace Missing Values」で処理する行や欠損値の処理方法(平均値、中央値を適用する、固有の値を適用する、等)を設定する
  4. 作成したフローを、末端の「res(結果)」に接続する
  5. 再生ボタンを押すと、フローの結果がResults画面に表示される
  • フロー作成に関連する項目・画面

ここでは、説明の単純化のためにブロックを1個つなげるだけの例を挙げましたが、ブロックを複数つなぎ合わせることで、より高度な前処理が可能です。また、分析モデルのフロー作成においても、前処理のブロックの後にアルゴリズムのブロックをつなげるだけで完了します。さらに、あるブロックからフローを分岐させることも可能で、別々のアルゴリズムで学習して、その結果を比べることも可能です。

なお、データ分析では、常に前処理をしながらモデル作成を続けるため、モデルの再現性の観点で、前処理と結果の紐づけ・管理が重要です。RapidMinerでは、処理フローをProcess単位で複数保存できるため、このバージョン管理が容易です。

豊富なアルゴリズムからモデルを作成

最後に、RapidMinerが持つアルゴリズムについて触れます。

RapidMinerには120種類以上の豊富なアルゴリズムが含まれています。例えば、基本的な「Decision Tree」や「Gradient Boosted Tree」などの決定木系のアルゴリズム、話題のDeep Learning、また最近では時系列処理ができるアルゴリズムも加えられるなど、常にアップデートされています。

また、RapidMinerのコミュニティである「Marketplace」にて、さまざまなモデルやオペレーターが公開されており、自作することなく、目的に適した機能を追加可能です。

今回は、データ加工やモデル作成など、自分でフローを組みながら機械学習を行う方法を紹介しました。次回は、自動的に一連の分析フローを作成可能にする機能や、直感的操作でデータの前処理を可能にする機能など、便利な新機能を紹介します。

著者プロフィール

伊藤 千輝


ネットワンシステムズ株式会社
ビジネス開発本部 第1応用技術部

2016年にネットワンシステムズに新卒で入社。学生時代に学んだAI技術・データサイエンスを生かし、産学連携の推進やデータ分析・機械学習に関連するコンサルティング・製品販売・教育に従事。他にも、製造業のスマートファクトリー実現に向けた製品の技術検証やプリセールス活動を担当している。