RapidMiner(ラピッドマイナー)はデータ可視化、データ加工、モデル作成、評価、運用まで一括サポートする機械学習プラットフォームです。KSKアナリティクスはRapidMinerの正規販売代理店です。

Extract Macro

概要

この演算子は、現在のプロセスの後続の演算子のパラメーター値で%{macro_name}が使用できる単一のマクロを定義するために使用できます。マクロ値は、入力ExampleSetから派生します。マクロは、マクロが定義された後に来る現在のプロセスのすべてのオペレーターが使用できる値と見なすことができます。この演算子は、既存のマクロを再定義するためにも使用できます。

詳細

この演算子を使用して、現在のプロセスの後続の演算子のパラメーター値で使用できる単一のマクロを定義できます。マクロが定義されると、 %{macro_name}形式のマクロ名をパラメーター値に書き込むことにより、そのマクロの値を次の演算子のパラメーター値として使用できます。’macro_name ‘は、指定されたマクロの名前です。定義済み。マクロの抽出演算子では、マクロ名はマクロパラメーターによって指定されます。マクロは、パラメーターの値文字列でマクロの値に置き換えられます。この演算子は、既存のマクロを再定義するためにも使用できます。

この演算子は、指定された入力ExampleSetのプロパティから単一のマクロの値を設定します。これには、例の数や入力ExampleSetの属性の数などのプロパティが含まれます。入力ExampleSetの特定のデータ値を使用して、属性の平均値、最小値、最大値など、入力ExampleSetのさまざまな統計プロパティを使用して設定できるマクロの値を設定することもできます。これらのオプションはすべて、パラメーターと添付のプロセス例を調べることで理解できます。マクロの設定演算子を使用してマクロを定義することもできますが、特定の入力ExampleSetのプロパティからマクロの値を設定することはできません。

マクロ

マクロは、定義された後に来る現在のプロセスのすべてのオペレーターが使用できる値と見なすことができます。マクロを使用するときは常に、演算子が正しい順序であることを確認してください。マクロをパラメーター値で使用する前に定義する必要があります。マクロは、RapidMinerの高度なトピックの1つです。マクロの理解を深めるには、添付のサンプルプロセスをご覧ください。

いくつかの定義済みマクロもあります。

  • %{process_name}:プロセスの名前に置き換えられます(パスと拡張子なし)
  • %{process_file}:プロセスのファイル名に置き換えられます(拡張子付き)
  • %{process_path}:プロセスファイルの完全な絶対パスに置き換えられます
  • 他のいくつかの短いマクロも存在します。たとえば、現在の演算子が適用された回数を表す%{a}です。

多くのループ演算子(ループ値、ループ属性など)のような他の演算子も特定のマクロを追加することに注意してください。

入力

  • サンプル入力 (IOObject)この入力ポートには、ExampleSetが必要です。このValueSetからマクロ値が抽出されます

出力

  • 設定出力の例(IOObject)入力として指定されたExampleSetは、このポートを介して出力に変更せずに渡されます。これは通常、別の演算子で同じExampleSetを再利用するために使用されます。このポートを他のポートに接続することは必須ではありません。このポートが接続されていない場合でも、マクロ値が設定されます。

パラメーター

  • macroこのパラメーターはマクロに名前を付けるために使用され、 %{macro_name}形式でマクロ名を書き込むことで現在のプロセスの後続のオペレーターでアクセスできます。「macro_name」はこのパラメーターで指定されたマクロの名前範囲:文字列
  • macro_typeこのパラメーターは、入力ExampleSetを使用してマクロを定義する方法を示します。
    • number_of_examples:このオプションが選択されている場合、マクロ値は入力ExampleSet内のサンプルの総数に設定されます。
    • number_of_attributes:このオプションを選択すると、マクロ値は入力ExampleSetの属性の総数に設定されます。
    • data_value:このオプションが選択されている場合、マクロ値は指定されたインデックスの指定された属性の値に設定されます。属性は属性名パラメーターを使用して指定され、インデックスはサンプルのインデックスパラメーターを使用して指定されます。
    • statistics:このオプションが選択されている場合、マクロ値は、指定された属性に選択された統計演算を適用することにより取得された値に設定されます。属性は属性名パラメーターを使用して指定され、統計演算子は統計パラメーターを使用して選択されます。

    範囲:

  • statisticsこのパラメーターは、 マクロタイプパラメーターが「統計」に設定されている場合にのみ使用できます。このパラメーターを使用すると、 属性名パラメーターで指定された属性に適用される統計演算子を選択できます。 範囲:
  • attribute_nameこのパラメーターは、 マクロタイプパラメーターが「統計」または「データ値」に設定されている場合にのみ使用できます。このパラメーターを使用すると、必要な属性を選択できます。 範囲:文字列
  • attribute_valueこのパラメーターは、 マクロタイプパラメーターが「statistics」に設定され、 statisticsパラメーターが「count」に設定されている場合にのみ使用できます。このパラメーターは、指定された属性の特定の値を指定するために使用されます。マクロ値は、指定された属性内のこの値の出現回数に設定されます。属性は、 属性名パラメーターによって指定されます。 範囲:文字列
  • example_indexこのパラメーターは、 マクロタイプパラメーターが「データ値」に設定されている場合にのみ使用できます。このパラメーターを使用すると、 属性名パラメーターおよびオプションの追加マクロパラメーターで指定された属性の必須例のインデックスを選択できます。 範囲:整数
  • additional_macrosこのパラメーターは、 マクロタイプパラメーターが「データ値」に設定されている場合にのみ使用できます。このオプションのパラメーターを使用すると、追加のマクロを無制限に追加できます。 例のインデックスパラメータの値は、このリストのすべてのマクロに使用されることに注意してください。 範囲:

チュートリアルプロセス

マクロの抽出演算子の概要

これは、マクロとExtract Macroオペレーターの使用を示す非常に基本的なプロセスです。 「ゴルフ」データセットは、検索演算子を使用してロードされます。マクロの抽出演算子が適用されます。マクロの名前は「avg_temp」です。マクロタイプパラメーターは ‘statistics’に設定され、統計パラメーターは ‘average’に設定され、属性名パラメーターは ‘Temperature’に設定されます。したがって、avg_tempマクロの値は、「ゴルフ」データセットの温度属性の値の平均に設定されます。 「ゴルフ」データセットの14の例すべてで73.571です。したがって、avg_tempマクロの値は73.571に設定されます。このプロセスでは、%{avg_temp}がパラメーター値で使用される場合は常に、avg_tempマクロの値、つまり73.571に置き換えられます。 Extract Macroオペレーターの出力ポートは他のオペレーターに接続されていませんが、それでもavg_tempマクロが作成されていることに注意してください。

「Golf-Testset」データセットは、Retrieveオペレーターを使用してロードされます。 Filter Examples演算子がそれに適用されます。条件クラスパラメーターは「属性値フィルター」に設定されます。パラメーター文字列パラメーターは、「温度>%{avg_temp}」に設定されます。 avg_tempマクロの使用に注意してください。このプロセスが実行されると、%{avg_temp}はavg_tempマクロの値、つまり73.571に置き換えられます。したがって、Golf-Testsetデータセットの例のみが、Temperature属性の値がGolfデータセットのTemperature属性値の平均値(つまり73.571)よりも大きい出力ポートに送られます。結果ワークスペースで結果を見ると、これを明確に確認できます。

マクロの抽出演算子を使用したマクロの再定義

このサンプルプロセスの焦点は、マクロの抽出演算子を使用してマクロを再定義する方法を示すことです。このプロセスは、最初のサンプルプロセスとほぼ同じです。唯一の違いは、avg_tempマクロが定義された後、「ゴルフ」データセットとマクロの抽出演算子を使用して同じマクロが再定義されることです。 「ゴルフ」データセットが再度読み込まれ、2番目のマクロ抽出演算子に提供されます。このマクロの抽出演算子では、マクロパラメーターは ‘avg_temp’に設定され、マクロタイプパラメーターは ‘number of examples’に設定されます。 avg_tempマクロが既に存在するため、新しいマクロは作成されません。既存のマクロは再定義されます。 「ゴルフ」データセットのサンプル数は14であるため、avg_tempは14として再定義されます。したがって、「フィルターの例」演算子では、「ゴルフテストセット」データセットの温度属性の値が73.571ではなく14と比較されます。これは、[結果]ワークスペースで結果を確認することで確認できます。マクロは実行順序に応じて再定義されることに注意してください。

複雑な前処理での抽出マクロの使用

このサンプルプロセスは、RapidMinerチュートリアルの一部でもあります。複雑な前処理でのマクロの抽出演算子の使用法を示すためにここに含まれています。このプロセスでは、マクロの再定義、ループ値演算子のマクロ、マクロの抽出演算子の使用など、マクロの多くの概念を扱います。このプロセスは、データの生成に使用されるサブプロセスから始まります。このサブプロセス内で行われていることは、マクロの使用とは関係がないため、ここでは説明しません。 ExampleSetを表示できるように、このサブプロセスの後にブレークポイントが挿入されます。 ExampleSetには12の例と2つの属性「att1」および「att2」があることがわかります。 「att1」は公称値であり、3つの可能な値「range1」、「range2」、および「range3」があります。 ‘att2’には実際の値があります。

ループ値演算子は、ExampleSetに適用され、指定された属性(つまり、att1)の値を反復処理し、指定されたExampleSetに内部演算子を適用します。現在の値は、設定される反復マクロパラメーターによって定義されたマクロを介してアクセスできますつまり、パラメータ値に%{loop_value}を指定することで現在の値にアクセスできます。 att1には3つの可能な値があるため、ループ値はatt1の可能な値ごとに1回、3回反復します。

ループ値演算子の内部で何が起こるかを説明します。入力としてExampleSetが提供されます。 Filter Examples演算子がそれに適用されます。条件クラスパラメーターは「属性値フィルター」に設定され、パラメーター文字列は「att1 =%{loop_value}」に設定されます。ここでloop_valueマクロの使用に注意してください。 att1の値がloop_valueマクロの値と等しい場合にのみ、これらの例が選択されます。選択した例を表示できるように、ブレークポイントがここに挿入されます。次に、選択した例に集計演算子が適用されます。選択した例のatt2値の平均を取るように構成されています。この平均値は、「average(att2)」という名前の属性の新しいExampleSetに保存されます。ここにブレークポイントが挿入されるため、選択した例のatt2値の平均を確認できます。マクロの抽出演算子がこの新しいExampleSetに適用され、この平均値が「current_average」という名前のマクロに保存されます。最初に選択された例は、「abs(att2-%{current_average})」という式で定義される「att2_abs_avg」という名前の新しい属性を生成する属性の生成演算子に渡されます。ここでcurrent_averageマクロの使用に注意してください。その値は、att2のすべての値から減算され、「att2_abs_avg」という名前の新しい属性に格納されます。結果のExampleSetは、ループ値演算子の出力で提供されます。ここにブレークポイントが挿入されるため、 ‘att2_abs_avg’属性を持つExampleSetを確認できます。この出力は、メインプロセスのAppendオペレーターに送られます。すべての繰り返しの結果を単一のExampleSetにマージし、結果ワークスペースでこのプロセスの最後に表示されます。

プロセスを実行すると、次のように表示されます。 Generate Dataサブプロセスによって生成されたExampleSet。次に、プロセスはループ値演算子に入り、3回反復します。反復1:「att1」の値がloop_valueマクロの現在の値と等しいExampleSet、つまり「range1」選択した例の「att2」値の平均。平均は-1.161です。反復1に ‘att2_abs_avg’属性を持つExampleSet。反復2: ‘att1’値がloop_valueマクロの現在の値と等しいExampleSet、つまり ‘range2’選択した例の ‘att2’値の平均。平均は-1.656です。イテレーション2に ‘att2_abs_avg’属性を持つExampleSet。反復3: ‘att1’値がloop_valueマクロの現在の値と等しいExampleSet、つまり ‘range3’選択した例の ‘att2’値の平均。平均は1.340です。反復3に ‘att2_abs_avg属性’を含むExampleSetこれで、プロセスはループ値演算子から出て、Append演算子は3つの反復すべての最終ExampleSetをマージして、結果ワークスペースに表示できる1つのExampleSetにします。

API認証に失敗しました メールまたはパスワードが正しくありません メールアドレスは必須です パスワードは必須です
キャンセル