クリップの値

この記事では、Azure Machine Learning デザイナーのコンポーネントについて説明します。

[Clip Values] (クリップ値) コンポーネントを使用して、指定したしきい値を上回るか下回るデータ値を識別し、必要に応じて平均、定数、またはその他の代替値に置き換えます。

クリップする数値があるデータセットにコンポーネントを接続し、操作する列を選択してから、しきい値または値の範囲、および置換方法を設定します。 コンポーネントは、結果のみ、または変更された値を元のデータセットに追加したもののいずれかを出力できます。

クリップ値を構成する方法

開始する前に、クリップする列と使用する方法を識別します。 どのクリップ方法も、最初はデータの小さなサブセットに対してテストすることをお勧めします。

コンポーネントは、選択に含めるすべての列に同じ基準と置換方法を適用します。 そのため、変更したくない列は必ず除外してください。

クリップ方法または異なる基準を一部の列に適用する必要がある場合は、類似の列のセットごとに [Clip Values]\(クリップ値\) の新しいインスタンスを使用する必要があります。

  1. [Clip Values]\(クリップ値\) コンポーネントをパイプラインに追加し、変更するデータセットに接続します。 このコンポーネントは、 [Data Transformation]\(データ変換\)[Scale and Reduce]\(拡大縮小\) カテゴリにあります。

  2. [List of columns]\(列の一覧\) で、列セレクターを使用して [Clip Values]\(クリップ値\) が適用される列を選択します。

  3. [Set of thresholds]\(しきい値のセット\) には、ドロップダウン リストから次のいずれかのオプションを選択します。 これらのオプションは、許容値とクリップする必要がある値の上限と下限の設定方法を決定します。

    • ClipPeaks: ピークによって値をクリップする場合、上限のみを指定します。 その境界値より大きい値は置き換えられます。

    • ClipPeaks: ピークによって値をクリップする場合、上限のみを指定します。 その境界値より小さい値は置き換えられます。

    • ClipPeaksAndSubpeaks: ピークとサブピークによって値をクリップする場合、上限と下限の両方を指定できます。 その範囲外の値は置き換えられます。 境界値に一致する値は変更されません。

  4. 前の手順での選択に応じて、次のしきい値を設定できます。

    • Lower threshold (下限しきい値) : ClipSubPeaks を選択した場合にのみ表示されます
    • Upper threshold (上限しきい値) : ClipPeaks を選択した場合にのみ表示されます
    • Threshold (しきい値) : ClipPeaksAndSubPeaksを選択した場合にのみ表示されます

    しきい値の種類ごとに、[定数] または [Percentile]\(パーセンタイル\) を選択します。

  5. [定数] を選択した場合は、テキスト ボックスに最大値または最小値を入力します。 たとえば、値 999 がプレースホルダー値として使用されたことがわかっているとします。 上限しきい値に [定数] を選択し、[Constant value for upper threshold]\(上限しきい値の定数値\) に 999 と入力します。

  6. [Percentile]\(パーセンタイル\) を選択した場合、列の値をパーセンタイルの範囲に制限します。

    たとえば、10 ~ 80 パーセンタイル範囲内の値のみを保持し、他のすべてを置き換えたいとします。 [Percentile]\(パーセンタイル\) を選択し、[Percentile value for lower threshold]\(下限しきい値のパーセンタイル値\) に 10、[Percentile value for upper threshold]\(上限しきい値のパーセンタイル値\) に 80 と入力します。

    パーセンタイル範囲の使用方法の例については、パーセンタイルに関するセクションを参照してください。

  7. 代替値を定義します。

    指定した境界と完全に一致する数値は、許容される値の範囲内にあると見なされるため、置き換えられません。 指定された範囲に収まらない数値はすべて、代替値に置き換えられます。

    • Substitute value for peaks (ピークの代替値) : 指定されたしきい値よりも大きいすべての列値を置き換える値を定義します。
    • Substitute value for subpeaks (サブピークの代替値) : 指定されたしきい値よりも小さいすべての列値の代替値として使用する値を定義します。
    • ClipPeaksAndSubpeaks オプションを使用する場合、上限と下限のクリップ値に別々の代替値を指定できます。

    次の置換値がサポートされています。

    • Threshold (しきい値) : クリップされた値を指定されたしきい値に置き換えます。

    • Mean (中間値) : クリップされた値を列値の中間値で置き換えます。 平均は、値がクリップされる前に計算されます。

    • Median (中央値) : クリップされた値を列値の中央値で置き換えます。 中央値は、値がクリップされる前に計算されます。

    • [Missing]\(欠落\) 。 クリップされた値を欠落している (空の) 値に置き換えます。

  8. Add indicator columns (インジケーター列の追加) :指定したクリップ操作がその行のデータに適用されたかどうかを示す新しい列を生成する場合は、このオプションを選択します。 このオプションは、クリップ値と代替値の新しいセットをテストするときに役立ちます。

  9. Overwrite flag (フラグの上書き) :新しい値を生成する方法を指定します。 既定では、[Clip Values]\(クリップ値\) はピーク値が目的のしきい値にクリップされた新しい列を作成します。 新しい値は元の列を上書きします。

    元の列を保持し、クリップされた値で新しい列を追加するには、このオプションの選択を解除します。

  10. パイプラインを送信します。

    [Clip Values]\(クリップ値\) コンポーネントを右クリックしてから [可視化] またはコンポーネントを選択し、右側のパネルの [出力] タブに切り替え、 [Port outputs]\(ポートの出力\) のヒストグラム アイコンをクリックして値を確認し、クリップ操作が期待どおりであることを確認します。

パーセンタイルを使用したクリップの例

パーセンタイルによるクリップのしくみを理解するために、10 行のデータセットがあり、各行に 1 つのインスタンスがあってそれぞれの値が 1 ~ 10 であるとします。

  • パーセンタイルを上限しきい値として使用している場合、90 番目のパーセンタイルの値では、データセット内のすべての値の 90% がその値よりも小さくなければなりません。

  • パーセンタイルを下限しきい値として使用している場合、10 番目のパーセンタイルの値では、データセット内のすべての値の 10% がその値よりも小さくなければなりません。

  1. [しきい値のセット] で [ClipPeaksAndSubPeaks] を選択します。

  2. [Upper threshold]\(上限しきい値\) には [Percentile]\(パーセンタイル\) を選択し、[Percentile number]\(パーセンタイル数\) には 90 と入力します。

  3. [上限の代替値] で [欠損値] を選択します。

  4. [下限のしきい値] で [百分位] を選択し、[百分位値] に「10」を入力します。

  5. [下限の代替値] で [欠損値] を選択します。

  6. [Overwrite flag]\(上書きフラグ\) オプションを選択解除し、[Add indicator columns]\(インジケーター列を追加\) オプションを選択します。

ここで、上限パーセンタイルしきい値として 60、下限パーセンタイルしきい値として 30 を使用して同じパイプラインを試行し、しきい値を代替値として使用します。 次の表では、これら 2 つの結果を比較しています。

  1. 欠落で置き換え。上限しきい値 = 90、下限しきい値 = 20

  2. しきい値で置き換え。上限パーセンタイル = 60、下限パーセンタイル = 40

元のデータ 欠落値で置換 しきい値で置換
1

2

3

4

5

6

7

8

9

10
true

true

3, FALSE

4, FALSE

5, FALSE

6, FALSE

7, FALSE

8, FALSE

9, FALSE

true
4, TRUE

4, TRUE

4, TRUE

4, TRUE

5, FALSE

6, FALSE

7, TRUE

7, TRUE

7, TRUE

7, TRUE

次のステップ

Azure Machine Learning で使用できる一連のコンポーネントを参照してください。