注意:このウィンドウは、システムの都合で、日本語表示できません。
Preprocessing は、データセット中のデータに変換を適用する作業です。 Preprocessing 機能は、data matrix中で右クリックして現れるポップアップ。メニューから起動できる preprocessingツールで利用できます。
変換を実行するために使用される情報は、preprocessor descriptionと呼ばれます。preprocessing ツールを用いて、preprocessors を定義して、それらを適用することもできます。このツールは、preprocessor descriptionsの読み込みと保存をサポートしており、HUGIN内で異なるデータセットに同じ変換を活用することが必要な場合に便利です。
図 1 はpreprocessingツールです。
図 1: preprocessor ツール - 複数の preprocessor descriptions が読み込まれたところ |
preprocessorsを作成するには '+' ボタン、削除するには、機能ボタン '-' ボタンを、ファイル中のpreprocessor descriptions をストアするには、 loadおよびsave ボタンを使用してください。saveボタンをクリックすると、すべての preprocessors を保存するか、または選択されたもののみを保存するかを選択できます。(図 2参照)
図 2: all または selected のpreprocessorsの保存 |
<preprocessor type> <column specifier> <argument>*preprocessor type は、次のいずれかです:
REPLACE REPLACE_REGEX TO_UPPER TO_LOWER DISCRETIZE_MANUAL DISCRETIZE_EQUAL_DISTRIBUTIONcolumn specifier は、列名を使って単一の列を選択できます:
NAME <column name>または、正規表現と整合する列名の複数の列を選択できます(正規表現は下記参照):
SELECT <regular expression>選ばれたpreprocessor typeによって引数は:
<match text string> <replacement text string>
<regular expression> <replacement text string>
<最初の区間のlower bound first interval> <upper bound previous interval/lower bound next interval>* <upper bound last interval>
<number of states>
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を作成するには、 '+' ボタンをクリックしてください。図 3 のダイアログが現れます。
図 3: preprocessor type の選択 |
図 4: 新しいpreprocessorの目的の列を選択 |
この preprocessor は、特定の文字列にマッチするあらゆるデータ項目を置換文字列に置き換えます。REPLACE preprocessorは、マッチさせる文字列と置換する文字列の2つのパラメータをとります。
REPLACE NAME <column-name> <match text string> <replacement text string>ガイドつきアプローチで preprocessor を作成している場合、図 5 と 6 のダイアログでパラメータを指定します。
図 5: 置換されるべき文字列を入力 - 文字列 'value' にマッチするすべてのデータ項目が置換される。 |
図 6: 置換する文字列を入力する - 'value' にマッチするすべてのデータ項目が'val'に置換される。 |
この 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です。TO_UPPER preprocessor はパラメータを持ちません。
TO_UPPER NAME <column-name>
これは、すべての大文字の文字を小文字に変換するとても単純な preprocessorです。TO_LOWER preprocessor はパラメータを持ちません。
TO_LOWER NAME <column-name>
この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は、すべてのデータ項目に離散化を適用します。ターゲット区間は、各区間が近似的に等しい数のデータ項目を含むように、列内のすべての数値データ項目に基づいて動的に生成されます。 DISCRETIZE_EQUAL_DISTRIBUTION preprocessor は、単一のパラメータ、ターゲット区間の数を取ります。
DISCRETIZE_EQUAL_DISTRIBUTION NAME <column-name> <number of states>ガイドつきアプローチで preprocessor を作成している場合、図 9 のダイアログでパラメータを指定します。
図 9: 区間の数の指定 |
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 実行の要約 |
翻訳者:多田くにひろ(マインドウェア総研)