Creative Misuse of RapidMiner
RapidMiner Wisdomカンファレンスで最も楽しいイベントの1つが予測分析プロセス設計ライブコンペ “Who Wants to be a Data Miner? “です。 このコンペティションでは、参加者は与えられたゴールに対して数分以内にRapidMinerプロセスを設計しなければなりません。 タスクは予測分析およびデータ分析一般に関連するものですが、どちらかというと珍しいものです。 実際、ほとんどの課題はRapidMinerが行うはずのないことを求めています。
ニューヨークで開催されたRapidMiner Wisdom 2016では、再び2つの課題が用意されました。 3 人の勇敢な出場者が、正しい解決策 (または少なくともそれに近いもの) を見つけるために、互いに、そして時計と戦いました。 今年最初の課題は、
Create the full lyrics to “99 Bottles of Beer on the Wall”
Wikipediaによると、「99 Bottles of Beerは20世紀半ばに作られたアメリカ合衆国の無名の民謡」だそうです。 米国とカナダの両方で伝統的な歌である。 非常に繰り返しの多い形式なので覚えやすく、長い時間をかけて歌うことができるため、長期の旅行で歌うのが人気である。”
まあ、そうですよね。 この曲には数々の問題があるという意見もありますが、これは–面白い読み物ではありますが–この投稿の主題ではありません。 (ちなみに、この歌は大衆文化にも何度も登場しています。少なくとも一部の人にとっては、猿島というゲームで最も有名かもしれません。)
とにかく、この歌はこうです:
壁にビールの瓶が 99 本、ビールの瓶が 99 本。
壁のビール98本…
1本倒して回すと壁のビール97本…
壁のビール97本…
1本倒して回すと壁のビール96本…
壁のビール98本…
壁のビール98本…
壁のビール97本…
1本倒して回すと壁のビール96本…
壁にかかった瓶のビール、98本が見える!
壁にかかった瓶のビール、98本が見える。
…
1 本のビールが壁にある、1 本のビール。
1 本を下に持っていき、周りに回す、0 本のビール。
歌詞の全文はここにありますが、おわかりになったと思います。
それでは RapidMiner で上記のタスクを解くには、どうしたらよいでしょうか。
まずは解決方法のスクリーンショットをご覧ください:
オペレータ「Generate Data」から始めて、1列と100例のみのランダムデータセットを生成します(オペレータのパラメータで適切な設定をしてください)。 これは最もエレガントな方法ではないかもしれませんが、特定の構造とサイズのデータセットを取得するためのRapidMinerの最も簡単な方法の1つです。 次のステップとして、1~100の数字を1つのカラムに入れる必要があります。 これも複数の方法がありますが、最も簡単なのは「IDを生成する」オペレータを使うことでしょう。 次に「属性の選択」を使って、「データの生成」によって生成されたカラムを削除し、新しい「id」カラムだけを残すことができます。 その結果、100 行のデータセットができ、”id” という名前の 1 つの列に 1 から 100 までの数字が入ります。 “Generate Attributes” (属性の生成) です。 解決しなければならない主な問題は、1から100までの数字の列を、99から0までの列にどのように変換するかということです。 それは簡単です。各行の現在の “id “を100から引くことで、新しい値を生成すればいいのです。 同時に、これらの数字の周りに残りの歌詞を追加します。 これを実現するために、「属性の生成」のパラメータをどのように設定する必要があるかを以下に示します:
必要であれば、これらすべての新しい列を1つに結合することもできます。 その方法については、あなたにお任せします。 この処理を実行した最終結果は次のスクリーンショットのようになります (冒頭部分のみ):
この処理を自分で実行したら、最後の行も確認してみてください。 作成された歌詞の末尾にあるので、もう少しうまく処理できることは認めます。 “壁のビール瓶0本、ビール瓶0本。 一本取って、回して。 -壁のビール1本”。 まあ、数学者や物理学者にとって-1本のビールは悪いことではありませんが、ITシステムによっては負の数のオブジェクトを好まない場合もあります。
このようなタスクにRapidMinerを使うのは、もちろん少し、奇妙です。 しかし、それはまた、RapidMinerの視覚的アプローチが実際にどれほど柔軟で強力であるかを示しています。 他の人たちは、地球上のほとんどすべてのプログラミング言語で、あるものはより短く、あるものはより長く、ソリューションを作成しています。 しかし、私は、ほとんどの人のコードよりも RapidMiner ソリューションを常に好むでしょう。
以下は、完全なプロセスの XML です。 これをシステム上の任意のファイルに保存し、「File -> Import Process…」を使用して RapidMiner に取り込むことができます。
これを試して楽しんでください!
XML of the Process:
.