COMPANY

PAGE TOP

BLOG

Hadley Wickhamの「Tidy Data」をRapidMinerでやってみる(パート2)

If you would like to read this post in English, it’s here.


 

こんにちは。またお越しいただきありがとうございます。前回の投稿では、ハドリーウィッカムが提唱した、「整理された」データの概要と「整理されていない」データの5つの例の中の一つ目の問題についての解決方法を紹介しました。しかし、プロセスの一般的な概要を説明しただけで、De-Pivotオペレータを効果的に使用する方法については省略しました。 ですので、今回の投稿ではDe-Pivotオペレータと前回の投稿に記載した正規表現のパラメータについて詳しく解説します。

Click to Open

まず、attribute name(列名)とindex attribute(インデックスとなる列)のパラメータを見てみましょう。「Edit List」ボタン(オレンジ色の丸で囲んだ部分)を押下すると、下記の「Edit Parameter List:attribute name」ウィンドウが表示されます。

Click to Open

“attributes”に入力された正規表現は、「整理されていない」テーブルから各列の名前を補足し、”fare range”(赤枠)の列を生成します。「整理されていない」テーブルにあった各列の名前は、「整理された」テーブルの”fare range”という列の値になります。新たに生成した列に名前を付けるには、”index attribute”(上記の緑枠)に入力します。「整理されていない」テーブルの各列の値は1つの列(黄枠)に入れられ、”attribute name”に入力された値はその新しい列の名前になります(上下の枠)。

Click to Open

Click to Open

次に、”fare range”列の値を実際の運賃の範囲にしたい場合は、”create nominal index”をチェックする必要があります。 チェックボックスをオンにしない場合、値は数字になります。

 

最後に、入力した正規表現がどのように列名を補足したのかを説明します。入力した正規表現の”[ ]”内に検索する文字列の特徴が含まれています。セットには、以下記号 “<“、以上記号 “>“、英ポンド記号 “£”、ハイフン “ – “、および任意の数字 “0-9”の範囲が含まれています。セットにはプラス記号 “+”が続いています。プラス記号は、セット内のすべての文字が「1つ以上一致する」ように検索するという意味です。すなわち、このように正規表現を入力することによって、「セット内の文字を1つ以上含むすべての文字列を検索する」という処理が読み込まれます。

Click to Open

そして、ハイフン”-”の前にあるバックスラッシュ”\”には特別な意味があります。バックスラッシュ”\”は、直後の文字を文字通りに解釈する必要があることを知らせるものです。正規表現でのハイフンは、検索する文字の範囲を指定するために使用されます。たとえば、すべての小文字の場合は”[0-9]”、小文字の場合は”[a-z]”、すべての大文字の場合は”[A-Z]”となります。そのため、ハイフンの前にバックスラッシュがあることで、実際の文字列としてハイフンを検索することができます。

 

ちなみに、正規表現には特殊文字が12個あります。円記号 “\”、キャレット “^”、ドル記号 “$”、ピリオドまたはドット “.”、垂直バーまたはパイプ記号” | “、疑問符”? “、アスタリスクまたはスター” * “、プラス記号” + “、開始括弧”( “、終了括弧”)”、開始角括弧 “[“ 中括弧 “{“です。これらの特殊文字を文字列として検索したい場合は、文字の特別な意味を無視することを伝えるためにバックスラッシュを使用する必要があります。

 

この投稿を読んで、De-Pivotオペレータが、「整理されていない」テーブルを「整理された」テーブルに変える方法であることを理解していただけたなら幸いです。正規表現に慣れていない方は、このオペレータを使うのは難しいかもしれません。しかし、正規表現は非常に強力なツールであり、多くのRapidMinerのオペレータで文字列の検索や編集に使用できます。場合によっては、De-Pivotオペレータのように、正規表現しか使えないということもあります。ですので、より良い正規表現を作る方法をすぐに勉強しましょう。

 

次回の投稿では、ハドリーが提唱した2つ目の問題を取り上げます。次回のプロセスの最初のステップではDe-Pivotオペレータを使用しまするため、少々似ているかもしれませんが、データを完全に「整理された」ものにするにはもう少し余分な作業が必要になります。詳細は次の投稿をご覧ください。

 

それではまた。

 

PAGE TOP