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

Loop Values

概要

この演算子は、選択した属性のすべての可能な値に対してサブプロセスを繰り返します。サブプロセスは、マクロによって現在の反復の属性値にアクセスできます。

詳細

ループ値演算子には、入力ExampleSetの必要な属性を選択できるattributeという名前のパラメーターがあります。属性が選択されると、ループ値演算子は選択された属性の可能な値ごとにサブプロセスを適用します。つまり、サブプロセスはn回実行されます。nは選択された属性の可能な値の数です。すべての反復で、現在の反復の属性値には、 反復マクロパラメーターで指定されたマクロを使用してアクセスできます。この演算子を適用するには、マクロの基本的な理解が必要です。マクロの基本的な理解については、マクロの抽出演算子のドキュメントをご覧ください。マクロの抽出演算子は、添付のサンプルプロセスでも使用されます。サブプロセスに関する詳細については、サブプロセス演算子をご覧ください。

選択した属性のすべての可能な値に対して、ループ値演算子のサブプロセスが実行されることに注意することが重要です。選択した属性に3つの可能な値があり、ExampleSetに100の例があるとします。ループ値演算子は、100回ではなく3回だけ反復します。選択した属性の可能な値ごとに1回。この演算子は通常、名義属性に適用されます。

入力

  • サンプルセット (IOObject)この入力ポートには、ExampleSetが必要です。これは、添付のプロセス例のサブプロセス演算子の出力です。他の演算子の出力も入力として使用できます。

出力

  • 出力(IOObject)ループ値演算子には複数の出力を含めることができます。 1つの出力が接続されると、別の出力(ある場合)を配信する準備ができた別の出力ポートが使用可能になります。出力の順序は同じままです。サブプロセスの最初の出力ポートで配信されるオブジェクトは、外部プロセスの最初の出力で配信されます。すべての出力を正しい順序で接続することを忘れないでください。チェーンのすべてのレベルで適切な数のポートが接続されていることを確認してください。

パラメーター

  • attributeこのオプションから必要な属性を選択できます。メタデータがわかっている場合、 属性パラメーターのドロップダウンボックスから属性名を選択できます。 範囲:文字列
  • iteration_macroこのパラメーターは、各反復で選択された属性の現在の値を保持するマクロの名前を指定します。 範囲:文字列
  • reuse_results各反復の結果を次の反復の入力として再使用するかどうかを設定します。 trueに設定すると、各反復の出力が次の反復の入力として使用されます。明らかな理由により、これによりループが単一スレッドで実行されるように制限され、CPUコアを使用しなくなります。 falseに設定すると、各反復の入力がループの元の入力になります。 範囲:ブール
  • enable_parallel_executionこのパラメーターは、サブプロセスの並列実行を有効にします。メモリの問題が発生した場合は、並列実行を無効にしてください。 範囲:ブール

チュートリアルプロセス

複雑な前処理でのループ値演算子の使用

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

ループ値演算子は、ExampleSetに適用されます。属性パラメーターは「att1」に設定されているため、ループ値演算子は指定された属性(つまりatt1)の値を反復処理し、指定されたExampleSetに内部演算子を適用します。現在の値は反復マクロで定義されたマクロ経由でアクセスできます’loop_value’に設定されているパラメーター。したがって、パラメーター値に%{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にマージし、結果ワークスペースでこのプロセスの最後に表示されます。

プロセスを実行すると、次のように表示されます。最初のサブプロセス演算子によって生成された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認証に失敗しました メールまたはパスワードが正しくありません メールアドレスは必須です パスワードは必須です
キャンセル