Aggregate
概要
この演算子は、SQLから既知の集約関数を実行します。この演算子は、SQL集約関数によって提供されるのと同じ形式で多くの機能を提供します。この演算子を使用して、SQL集約関数とGROUP BYおよびHAVING句を模倣できます。
詳細
Aggregateオペレーターは、選択された集約関数の結果を示す入力ExampleSetから新しいExampleSetを作成します。 SUM、COUNT、MIN、MAX、AVERAGE、およびSQLで知られている他の多くの同様の関数を含む、多くの集計関数がサポートされています。 SQLのGROUP BY句の機能は、groups by attributesパラメーターを使用して模倣できます。このパラメーターの使用方法を理解するには、SQLのGROUP BY句の基本的な理解が必要です。これはまったく同じように機能するためです。 SQLの既知のHAVING句を模倣する場合は、Aggregation演算子の後にFilter Examples演算子を適用することでそれを行うことができます。この演算子は、SQLの集約関数を模倣します。平均やカウントなどの要約情報の取得に焦点を当てています。ExampleSetの例を小さなセットにグループ化し、それらのセットに集約関数を適用できます。この演算子の理解を深めるには、添付のプロセス例をご覧ください。
入力
- サンプルセット (IOObject)この入力ポートには、ExampleSetが必要です。これは、添付のプロセス例のフィルター例演算子の出力です。他の演算子の出力も入力として使用できます。
出力
- サンプルセット(IOObject)指定された集約関数を適用した後に生成されたExampleSetは、このポートの出力です。
- オリジナル(IOObject)入力として指定されたExampleSetは、このポートを介して出力に変更せずに渡されます。これは通常、別の演算子で同じExampleSetを再利用するため、または結果ワークスペースでExampleSetを表示するために使用されます。
パラメーター
- use_default_aggregationこのパラメーターを使用すると、選択した属性のデフォルトの集計を定義できます。このパラメーターをtrueに設定すると、いくつかのパラメーターが使用可能になります。これらのパラメーターを使用すると、属性と対応するデフォルトの集計関数を選択できます。 範囲:ブール
- attribute_filter_typeこのパラメーターを使用すると、属性選択フィルターを選択できます。属性の選択に使用する方法。次のオプションがあります。
- all:このオプションは、単にExampleSetのすべての属性を選択します。これがデフォルトのオプションです。
- single:このオプションでは、単一の属性を選択できます。このオプションを選択すると、別のパラメーター(属性)がパラメーターパネルに表示されます。
- サブセット:このオプションを使用すると、リストから複数の属性を選択できます。 ExampleSetのすべての属性がリストに存在します。必要な属性は簡単に選択できます。メタデータが不明な場合、このオプションは機能しません。このオプションを選択すると、別のパラメーターがパラメーターパネルに表示されます。
- regular_expression:このオプションを使用すると、属性選択用の正規表現を指定できます。このオプションを選択すると、他のパラメーター(正規表現、式以外の使用)がパラメーターパネルに表示されます。
- value_type:このオプションを使用すると、特定のタイプのすべての属性を選択できます。型は階層的であることに注意してください。たとえば、実数型と整数型は両方とも数値型に属します。このオプションを使用して属性を選択する場合、ユーザーは型階層の基本的な理解が必要です。このオプションを選択すると、他のパラメーター(値の型、値の型の例外を使用)がパラメーターパネルに表示されます。
- block_type:このオプションは、value_typeオプションと同様に機能します。このオプションにより、特定のブロックタイプのすべての属性を選択できます。ブロックタイプは階層的であることに注意する必要があります。たとえば、value_series_startおよびvalue_series_endブロックタイプは両方ともvalue_seriesブロックタイプに属します。このオプションを選択すると、他のいくつかのパラメーター(ブロックタイプ、ブロックタイプの例外を使用)がパラメーターパネルに表示されます。
- no_missing_values:このオプションは、どの例でも欠損値を含まないExampleSetのすべての属性を選択するだけです。欠損値が1つでもある属性は削除されます。
- 数値フィルター:このオプションを選択すると、パラメーターパネルに別のパラメーター(数値条件)が表示されます。すべての例が前述の数値条件を満たすすべての数値属性が選択されます。指定された数値条件に関係なく、すべての名義属性も選択されることに注意してください。
範囲:選択
- attributeこのオプションから必要な属性を選択できます。メタデータがわかっている場合、 パラメータ属性のドロップダウンボックスから属性名を選択できます。 範囲:文字列
- attributesこのオプションから必要な属性を選択できます。これにより、2つのリストを含む新しいウィンドウが開きます。すべての属性が左側のリストにあります。属性は、選択した属性のリストである右側のリストに移動できます。 範囲:文字列
- regular_expressionこの式に名前が一致する属性が選択されます。正規表現は非常に強力なツールですが、初心者には詳細な説明が必要です。正規表現の編集およびプレビューメニューから正規表現を指定することは常に有効です。このメニューは、正規表現の良いアイデアを提供します。また、異なる表現を試して結果を同時にプレビューすることもできます。 範囲:文字列
- use_except_expression有効にすると、最初の正規表現の例外を指定できます。このオプションを選択すると、別のパラメーター(正規表現を除く )がパラメーターパネルに表示されます。 範囲:ブール
- except_regular_expressionこのオプションを使用すると、正規表現を指定できます。この表現に一致する属性は、最初の正規表現( 正規表現パラメーターで指定された正規表現 )に一致する場合でも除外されます。 範囲:文字列
- value_type選択する属性のタイプは、ドロップダウンリストから選択できます。 範囲:選択
- use_value_type_exception有効にすると、選択したタイプの例外を指定できます。このオプションを有効にすると、別のパラメーター( 値タイプを除く )がパラメーターパネルに表示されます。 範囲:ブール
- except_value_typeこの型に一致する属性は、前述の型、つまり値型パラメーターの値に一致しても選択されません。 範囲:選択
- block_type選択する属性のブロックタイプは、ドロップダウンリストから選択できます。 範囲:選択
- use_block_type_exception有効にすると、選択したブロックタイプの例外を指定できます。このオプションを選択すると、別のパラメーター( ブロックタイプを除く )がパラメーターパネルに表示されます。 範囲:ブール
- except_block_typeこのブロックタイプに一致する属性は、前述のブロックタイプ、つまりブロックタイプパラメータの値に一致する場合でも選択されません。 範囲:選択
- numeric_condition数値属性の例をテストするための数値条件をここで指定します。たとえば、数値条件「> 6」は、すべての例ですべての名義属性と6より大きい値を持つすべての数値属性を保持します。条件の組み合わせが可能です: ‘> 6 && <11’または ‘<= 5 || <0 ‘。しかし、&&および|| 1つの数値条件で一緒に使用することはできません。 ‘(> 0 && <2)のような条件|| (> 10 && <12) ‘は、&&と||の両方を使用するため許可されません。 「>」、「=」、「<」の後に空白を使用します。たとえば、「<5」は機能しないため、代わりに「<5」を使用します。 範囲:文字列
- include_special_attributes特別な属性は、例を識別する特別な役割を持つ属性です。対照的に、通常の属性は単に例を示しています。特別な属性は、id、ラベル、予測、クラスター、重量、およびバッチです。デフォルトでは、属性の選択演算子の条件に関係なく、すべての特別な属性が選択されます。このパラメーターがtrueに設定されている場合、特殊属性は、属性の選択演算子で指定された条件に対してもテストされ、条件を満たす属性のみが選択されます。 範囲:ブール
- invert_selectionこのパラメーターがtrueに設定されている場合、NOTゲートとして機能し、選択を反転します。その場合、選択された属性はすべて選択解除され、以前に選択されていなかった属性が選択されます。たとえば、属性「att1」が選択され、このパラメーターのチェック前に属性「att2」が選択されていない場合。このパラメーターを確認すると、「att1」が選択解除され、「att2」が選択されます。 範囲:ブール
- default_aggregation_functionこのパラメーターは、 デフォルトの集約パラメーターの使用がtrueに設定されている場合にのみ使用できます。選択した属性のデフォルトの集計関数を指定するために使用されます。 範囲:
- aggregate_attributesこのパラメーターは、オペレーターの最も重要なパラメーターの1つです。属性と、それらに適用する集約関数を選択できます。カウント、平均、最小、最大の分散など、多くの集計関数を使用できます。 範囲:
- group_by_attributesこの演算子は、このパラメーターを使用して、入力ExampleSetの例を小さなグループにグループ化できます。集約関数はこれらのグループに適用されます。このパラメーターにより、Aggregateオペレーターは、SQLの既知のGROUP BY節の機能を複製できます。バージョン6.0.3から、特定の属性がサンプルセットで見つからない場合、オペレーターはエラーを引き起こします。 範囲:
- count_all_combinationsこのパラメーターは、属性のグループの値の可能なすべての組み合わせが、たとえ発生しなくてもカウントされるかどうかを示します。可能なすべての組み合わせは膨大な数になる可能性があるため、このパラメーターは慎重に処理してください。 範囲:ブール
- only_distinctこのパラメーターは、集約関数の計算に集約属性の個別の値を持つ例のみを使用する必要があるかどうかを示します。 範囲:ブール
- ignore_missingsこのパラメーターは、欠損値を無視し、既存の値にのみ集計関数を適用する必要があるかどうかを示します。このパラメーターがtrueに設定されていない場合、選択された属性に欠損値がある場合、集計値は欠損値になります。 範囲:ブール
チュートリアルプロセス
Aggregate演算子を使用したSQL集計クエリの模倣
このプロセス例では、任意のシナリオについて説明します。次に、SQL集約関数を使用してこのシナリオを処理する方法について説明します。次に、SQLのソリューションがRapidMinerで模倣されます。集約演算子は、このプロセスで重要な役割を果たします。
Golfデータセットに特定の集計関数を適用するシナリオを想定します。 Outlook属性の値が「overcast」である例を含めたくありません。 「ゴルフ」データセットの残りの例を、Play属性とWind属性の値でグループ化します。これらのグループの平均気温と平均湿度を見つけたいです。これらの平均が計算されたら、平均温度が71を超える例のみを表示します。最後に、平均温度の昇順で結果を表示します。
この問題は、次のSQLクエリで解決できます。
SELECT Play、Wind、AVG(温度)、AVG(湿度)
ゴルフから
「曇り」のような展望はない
GROUP BY Play、Wind
HAVING AVG(温度)> 71
ORDER BY AVG(温度)
SELECT句は、表示する属性を選択します。 FROM句はデータセットを指定します。 WHERE句は、Outlook属性の値が「overcast」である例を除外します。 GROUP BY句は、指定された属性に従ってデータセットをグループ化します。 HAVING句は、集計関数が適用された後に結果をフィルタリングします。最後に、ORDER BY句は、温度平均の昇順で結果をソートします。
RapidMinerを使用してこのシナリオに取り組む方法を次に示します。まず、Retrieve演算子を使用して「Golf」データセットをロードします。これはFROM句に似ています。次に、必要な属性を選択するために、属性の選択演算子が適用されます。これは、SQLクエリとは少し異なります。クエリのようにPlay属性とWind属性のみを選択した場合、次の演算子は適用できません。したがって、ここではすべての属性を選択します。後で属性セットが自動的に削減されることがわかるので、ここでは属性の選択演算子は実際には必要ありません。次に、例のフィルター演算子が適用され、Outlook属性の値が「overcast」である例を除外します。これは、SQLのWHERE句に似ています。次に、残りの例に集計演算子が適用されます。 Aggregateオペレーターは、ここでいくつかのタスクを実行します。まず、集約属性パラメーターを使用して集約関数を指定します。温度と湿度の属性の平均が必要です。これは、集約属性パラメーターを使用して指定されます。第二に、データセット全体の平均値は必要ありません。 PlayおよびWind属性値でグループ化されたグループごとの平均が必要です。これらのグループは、Aggregateオペレーターの属性ごとのグループパラメーターを使用して指定されます。第三に、必要な属性はこの演算子によって自動的にフィルタリングされます。 Aggregate演算子で指定された結果データセットには、これらの属性のみが表示されます。次に、平均温度が71を超える例にのみ関心があります。この条件は、フィルターの例演算子を使用して適用できます。この手順は、HAVING句に似ています。最後に、結果をソートする必要があります。ソート演算子は、必要なソートを行うために使用されます。この手順は、ORDER BY句に非常に似ています。サンプルプロセスのすべての演算子の後にブレークポイントが挿入されるため、各演算子が果たす役割を理解できます。