Hugin Help Pages

Preprocessing(前処理)

注意:このウィンドウは、システムの都合で、日本語表示できません。

Preprocessing は、データセット中のデータに変換を適用する作業です。 Preprocessing 機能は、data matrix中で右クリックして現れるポップアップ。メニューから起動できる preprocessingツールで利用できます。

変換を実行するために使用される情報は、preprocessor descriptionと呼ばれます。preprocessing ツールを用いて、preprocessors を定義して、それらを適用することもできます。このツールは、preprocessor descriptionsの読み込みと保存をサポートしており、HUGIN内で異なるデータセットに同じ変換を活用することが必要な場合に便利です。

図 1 はpreprocessingツールです。

図 1: preprocessor ツール - 複数の preprocessor descriptions が読み込まれたところ
ウィンドウの上半分は、preprocessorsの一覧です。preprocessor が選択されると、ウィンドウの下半分にあるdetails テキスト・フィールドで編集できます。

preprocessorsを作成するには '+' ボタン、削除するには、機能ボタン '-' ボタンを、ファイル中のpreprocessor descriptions をストアするには、 loadおよびsave ボタンを使用してください。saveボタンをクリックすると、すべての preprocessors を保存するか、または選択されたもののみを保存するかを選択できます。(図 2参照)

図 2: all または selected のpreprocessorsの保存
preprocessorを適用する前に、それがどのように実行されるかを見るために、preview ボタンを使用してください。preprocessorを適用するには run ボタンをクリックしてください。

Preprocessor Descriptions (前処理情報)

preprocessor description は、preprocessor type(前処理の種類)、column specifier (列指定)、 preprocessorのさまざまなパラメータの3つの情報からなるテキスト行の一覧です:
<preprocessor type>  <column specifier>  <argument>*  
preprocessor type は、次のいずれかです:
REPLACE  REPLACE_REGEX  TO_UPPER  TO_LOWER  DISCRETIZE_MANUAL  DISCRETIZE_EQUAL_DISTRIBUTION  
column specifier は、列名を使って単一の列を選択できます:
NAME <column name>  
または、正規表現と整合する列名の複数の列を選択できます(正規表現は下記参照):
SELECT <regular expression>  
選ばれたpreprocessor typeによって引数は:

Regular expressions (正規表現)

regular expression は、文字のシーケンスを正剛するために用いるパターンです。HUGIN で使用されるパターン・マッチングのルールは、java.util.regex.Patternのjava正規表現パターン・マッチングに従います。

selected regular-expression constructsの要約:

文字  
x	  文字 x  
\\ 	バックスラッシュ文字    

文字クラス  
[abc]		a, b, または c (単純クラス)  
[^abc]	a, b, または c を除く文字(否定)  
[a-zA-Z]	a から z または A から Z, 両立的 (範囲)  
[a-d[m-p]]	a から d, または m から p: [a-dm-p] (結合)    

所定の文字クラス  
. 	文字  
\d 	数字: [0-9]  
\D 	非数字: [^0-9]  
\s 	空白文字: [ \t\n\x0B\f\r]  
\S 	非空白文字: [^\s]  
\w 	ワード文字: [a-zA-Z_0-9]  
\W 	非ワード文字: [^\w]    

Greedy quantifiers  
X? 	X, once or not at all  
X* 	X, zero or more times  
X+ 	X, one or more times    

論理演算子  
XY 	X に続いて Y  
X|Y 	X または Y  
(X) 	X, グループのキャプチャリング  
バックスラッシュ文字 ('\') は、上記の表で定義されたようにエスケープされたconstructsを導入するために、また引用文字として働きます。それ以外は、非エスケープconstructsとして解釈されます。したがって、\\ は、単一のバックスラッシュと \にマッチし、{ は左中かっこにマッチします。.

正規表現の事例:

[n].*		'n'で始まるあらゆる文字列にマッチ。たとえば、'not', 'nothing' など。  
\d+(\.\d*)?	1 または 1.234 などの形式で、数字であるあらゆる文字列のマッチ。  

Preprocessorの作成

新しいpreprocessorを作成するには、 '+' ボタンをクリックしてください。図 3 のダイアログが現れます。

図 3: preprocessor type の選択
ガイドつきアプローチは、質問のシーケンスでできていて、最後に結果のpreprocessor descriptionがで生成されます。reprocessor typeを選んだあと、データセット中の目的の列を選択しなければなりません。図 4 参照。
図 4: 新しいpreprocessorの目的の列を選択

Preprocessor: Replace (置換)

この preprocessor は、特定の文字列にマッチするあらゆるデータ項目を置換文字列に置き換えます。REPLACE preprocessorは、マッチさせる文字列と置換する文字列の2つのパラメータをとります。

REPLACE  NAME <column-name>  <match text string>  <replacement text string>  
ガイドつきアプローチで preprocessor を作成している場合、図 5 と 6 のダイアログでパラメータを指定します。
図 5: 置換されるべき文字列を入力 - 文字列 'value' にマッチするすべてのデータ項目が置換される。
図 6: 置換する文字列を入力する - 'value' にマッチするすべてのデータ項目が'val'に置換される。

Preprocessor: Regular expression replace (正規表現置換)

この preprocessor は、固定された文字列の代わりに正規表現を用いてデータ項目が整合されることを除いては、通常の REPLACE preprocessorに似ています。REPLACE_REGEX preprocessor は、データ項目を選択するために使用される正規表現と、置換する文字列の2つのパラメータをとります。

REPLACE_REGEX  NAME <column-name>  <regular expression>  <replacement text string>  
ガイドつきアプローチで preprocessor を作成している場合、 図 7 と 8 のダイアログでパラメータを指定します。
図 7: 要求されるデータ項目にマッチする正規表現を入力 - この正規表現は、小文字または大文字の nで始まるすべてのデータ項目にマッチする。
図 8: 置換する文字列を入力する - 正規表現にマッチするすべてのデータ項目を 'no' に置き換える。

Preprocessor: Upper case (大文字)

これは、すべての小文字の文字を大文字に変換するとても単純なpreprocessorです。TO_UPPER preprocessor はパラメータを持ちません。

TO_UPPER  NAME <column-name>  

Preprocessor: Lower case (小文字)

これは、すべての大文字の文字を小文字に変換するとても単純な preprocessorです。TO_LOWER preprocessor はパラメータを持ちません。

TO_LOWER  NAME <column-name>  

Preprocessor: Manual Discretization (手動離散化)

このpreprocessor は、すべてのデータ項目に離散化を適用します。DISCRETIZE_MANUAL preprocessor は、区間の境界として指定されるいわゆるターゲット区間の可変の数のパラメータをとります:

DISCRETIZE_MANUAL  NAME <column-name>  <lower bound first interval>  <upper bound previous interval/lower bound next interval>*  <upper bound last interval>  
ガイドつきアプローチで preprocessor を作成している場合、discretization tool が区間の指定を支援するために現れます。

Preprocessor: Equal Distribution Discretization (等分布離散化)

このpreprocessorは、すべてのデータ項目に離散化を適用します。ターゲット区間は、各区間が近似的に等しい数のデータ項目を含むように、列内のすべての数値データ項目に基づいて動的に生成されます。 DISCRETIZE_EQUAL_DISTRIBUTION preprocessor は、単一のパラメータ、ターゲット区間の数を取ります。

DISCRETIZE_EQUAL_DISTRIBUTION  NAME <column-name>  <number of states>  
ガイドつきアプローチで preprocessor を作成している場合、図 9 のダイアログでパラメータを指定します。
図 9: 区間の数の指定
データ値がどれぐらいよくばらついているによって、結果の区間が等しく分布するようにするために、区間の数が削られます。

Preview and Run Preprocessor (プレビューと実行)

preprocessorを実行する前に、確認をする必要があります。一覧から必要な preprocessor を選択して(図 10)、preview ボタンをクリックします。

図 10: preprocessor の選択- 選択されたpreprocessor は DISCRETIZE_MANUAL

preview は、あらゆるエラー/部分的成功と選択されたpreprocessorによってなされた変換をレポートします。preprocessor descriptionを書いてデバッグするときにpreview機能を使用してください。preview ウィンドウは図 11 のように表示されます。

図 11: Preview ウィンドウ - 選択された preprocessorsがどのように実行されたかを見て、エラーなどを調べる。

preprocessorを適用するには、preprocessor を選択して、 run ボタンをクリックしてください。その preprocessor がデータセットに適用され、どのpreprocessors が成功して、どれが失敗したかの要約のウィンドウが現れます。図 12 参照。何かエラーが現れた場合は、さらに調査してデバッグするために、preview 機能を使用してください。

図 12: preprocessors 実行の要約

Back

翻訳者:多田くにひろ(マインドウェア総研