重複する行の削除コンポーネント

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

このコンポーネントを使用して、データセットから重複の可能性があるものを削除します。

たとえば、次のようにデータがあり、患者の複数のレコードを表しているとします。

PatientID イニシャル 性別 Age 受付
1 F.M. M 53 1 月
2 F.A.M. M 53 1 月
3 F.A.M. M 24 1 月
3 F.M. M 24 2 月
4 F.M. M 23 2 月
F.M. M 23
5 F.A.M. M 53
6 F.A.M. M NaN
7 F.A.M. M NaN

明らかに、この例には重複する可能性のあるデータを含む複数の列があります。 実際に重複しているかどうかは、データに関するユーザーの知識によって異なります。

  • たとえば、多くの患者が同じ名前であることを知っているかもしれません。 重複の除去には、名前の列は使用せず、ID 列のみを使用します。 そうすることで、患者の名前が同じであるかどうかにかかわらず、重複する ID 値を備える行のみが除外されます。

  • また、ID フィールドでは重複を許可し、名、姓、年齢、性別など、ファイルの他の組み合わせを使用して、一意のレコードを見つけることもできます。

行が重複しているかどうかの基準を設定するには、キーとして使用する単一の列または列のセットを指定します。 2 つの行は、すべてのキー列の値が等しい場合にのみ、重複していると見なされます。 いずれかの行でキーの値が欠如している場合、それらは重複行とは見なされません。 たとえば、上の表で [性別] と [年齢] がキーに設定されている場合、行の 6 と 7 は、[年齢] に値がないため、重複する行ではありません。

コンポーネントを実行すると、候補のデータセットが作成され、指定した列のセット全体で重複がない行のセットが返されます。

重要

ソース データセットは変更されません。このコンポーネントでは、指定した基準に基づいて、重複を除外するようにフィルター処理された新しいデータセットが作成されます。

Remove Duplicate Rows の使用方法

  1. このコンポーネントをパイプラインに追加します。 Remove Duplicate Rows (重複行の削除) コンポーネントは、 [データ変換][操作] にあります。

  2. 重複する行をチェックするデータセットを接続します。

  3. [プロパティ] ウィンドウの [Key column selection filter expression]\(キー列の選択フィルター式\) で、[Launch column selector]\(列セレクターの起動\) をクリックして、重複の識別に使用する列を選択します。

    このコンテキストで、キーは一意の識別子を意味しません。 列セレクターを使用して選択したすべての列が、キー列として指定されます。 選択さしなかったすべての列は、非キー列と見なされます。 キーとして選択した列の組み合わせによって、レコードの一意性が決定されます (これを、複数の等価結合を使用する SQL ステートメントであると考えてください)。

    例 :

    • "ID が一意であることを確認する": ID 列だけを選択します。
    • "名、姓、および ID の組み合わせが一意であることを確認したい": 3 つの列すべてを選択します。
  4. 重複が見つかったときに返す行を指定するには、[Retain first duplicate row]\(最初の重複行を保持\) チェック ボックスをオンにします。

    • オンにすると、最初の行が返され、他の行は破棄されます。
    • このオプションをオフにした場合は、最後の重複する行が結果で保持され、他の行は破棄されます。
  5. パイプラインを送信します。

  6. 結果を確認するには、コンポーネントを右クリックし、 [可視化] を選択します。

ヒント

結果を解釈するのが難しい場合、またはいくつかの列を考慮から除外したい場合は、Select Columns in Dataset (データセット内の列の選択) コンポーネントを使用して列を削除できます。

次の手順

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