Inc.BLOGブログ2019.08.29RapidMinerあなたの前処理を早くする!前処理の三種の神器【マクロ編】みなさんこんにちは。KSKアナリティクスの北野です。皆さん分析は上手く進められていますか?詰まったりしていませんか?今日はこれを身につければあなたの前処理は早くなる!ということで、皆様に使っていただきたい前処理の三種の神器をお伝えいたします。これはシリーズものとし、マクロ編、if編、Loop編のように進めたいと思います。それでは、早速マクロ編に行きましょう!マクロを使うときデータ分析をしている際に、例えばデータの平均値を取り出し、その値を基に操作をしたいときはございませんか。このような操作をRapidMinerで行うにはマクロを用いるのが便利です!「マクロ」と言うと聞き慣れないかもしれませんが、変数と言うとどうでしょう。プログラミングをしたことがある方なら、ピンと来るのではないでしょうか。ここで簡単にマクロについてご説明いたしますと、マクロとは箱だと思ってください。今、「マクロ」という箱に「3」を入れました。一度箱に入れてしまうと、いつでも箱の中の「3」を取り出すことができます。箱自体どこでも移動可能ですので、どんな時、どんな場所でも「3」を使うことができます。単純な操作に思うかもしれませんが、これが意外とデータ分析の中で使うのです。それでは、上記の操作をRapidMinerで実際に行ってみましょう!1.プロセスの配置プロセスにデータとオペレータを配置します。リポジトリのSamplesフォルダのdataよりGolfとGolf-Testsetを取り出します。Examplesオペレータを検索し、プロセスに加えます。Examplesのexaポートとresポートを接続します。次に、パラメータを設定していきます。上2つのオペレータから見ていきます。ここの操作では、「気温の平均値」というマクロを作り、そこにGolfデータセットのTemperatureの平均値を入れます。GolfデータセットのTemperatureの平均値は73.571です。Macroオペレータを以下のように設定します。typeを”statistics”にして統計量を取るようにします。nameをTemperatureに設定します。することで、GolfデータセットのTemperatureの平均値を「気温の平均値」というマクロ名に入れます。次に、下二つのオペレータについて見ていきます。Golf-TestsetのTemperatureがGolfデータセットのTemperature属性の平均値以上の値のみを取り出します。Examplesのパラメータより「フィルタを追加」をクリックします。左のボックスを"Temperature"、真ん中を"≧"、右を"%{気温の平均値}"と入力してください。ここで、"%{気温の平均値}"というのが気になるかと思います。これは、RapidMiner特有の文法で、”%{マクロ名}”と入力するとマクロが中の値に置き換わります。"%{気温の平均値}"には73.571が入っているのと同様の操作になります。プロセスを実行します。Macroオペレータなどがあります。これらの詳しい使い方は、各オペレータのチュートリアルで確認できますので、そちらもご覧くださいませ。補足:マクロの値の確認せっかくマクロを設定しても、デフォルトの状態ではマクロの値を確認することができません。そのため、デザイン画面を少し弄ります。タブにある「ビュー」より「パネル表示」に進んでください。パネルの中の、「マクロ」パネルにチェックを入れてください。すると、左下にマクロが表示されます。今回の例だと、「気温の平均値」にTemperatureの平均値が入っているのがわかります。今回マクロの簡単な例をご説明いたしました。マクロは単体で使うものではありません。マクロは、他のオペレータと組み合わせてこそ、その真価を発揮します!ここではその活用方法のすべてをご紹介することはできませんが、マクロをマスターすれば前処理が楽になることは間違いありません。マクロをマスターして、分析をお進めくださいませ。ここまで読んで頂きありがとうございます。それではまた次回お会いしましょう。