移除重複資料列元件

本文針對 Azure Machine Learning 設計工具中的一個元件進行說明。

您可以使用這個元件來移除資料集中可能的重複項。

例如,假設您的資料如下所示,代表多筆的患者記錄。

PatientID 縮寫 性別 年齡 已入院
1 F.M. M 53 一月
2 F.A.M. M 53 一月
3 F.A.M. M 24 一月
3 F.M. M 24 二月
4 F.M. M 23 二月
F.M. M 23
5 F.A.M. M 53
6 F.A.M. M NaN
7 F.A.M. M NaN

顯然,此範例中有多個資料行可能有重複的資料。 而實際上是否為重複項,取決於您對資料的瞭解。

  • 例如,您可能知道有許多患者的姓名相同。 您不會刪除使用任何姓名資料行的重複項,而只刪除識別碼 資料行的重複項。 如此一來,就只會篩選出識別碼值重複的資料列,不論患者的姓名是否相同。

  • 或者,您可能會決定允許識別碼欄位中有重複項,並使用其他的檔案組合,例如名字、姓氏、年齡和性別,來尋找唯一的記錄。

若要設定準則判定資料列是否重複,您必須指定單一資料行或一組資料行,作為索引鍵使用。 只有當所有索引鍵資料行中的值相等時,才會將兩個資料列視為重複項。 如果有任何資料列缺少索引鍵的值,就不會被視為重複的資料列。 例如,如果將「性別」和「年齡」設定為上表中的「索引鍵」,資料列 6 和 7 就不是重複的資料列,因為兩者缺少「年齡」的值。

在您執行元件時,元件會建立候選資料集,並傳回一組在您指定的資料行集合之間沒有重複項的資料列。

重要

來源資料集未改變;此元件會根據您指定的準則建立一個新的資料集,其中已篩選排除重複項。

如何使用移除重複資料列

  1. 將此元件新增至您的管線。 您可以在 [資料轉換]、[操作].下方找到 [移除重複資料列]。

  2. 連接您想要檢查是否有重複資料列的資料集。

  3. 在 [屬性] 窗格中,[索引鍵資料行選取項目篩選運算式] 下方,按一下 [啟動資料行選取器],選擇用於找出重複項的資料行。

    在此內容中,索引鍵 不代表唯一的識別碼。 系統會將您使用 [資料行選取器] 選取的所有資料行,皆指定為索引鍵資料行。 所有未選取的資料行都會視為非索引鍵資料行。 您選取作為索引鍵的資料行組合,會決定記錄的唯一性。 (可視為使用多個等式連結的 SQL 語句。)

    範例:

    • 「我想要確保識別碼是唯一的」:僅選擇 [識別碼] 資料行。
    • 「我想要確保名字、姓氏和識別碼的組合是唯一的」:選取這三個資料行。
  4. 使用 [保留第一個重複資料列] 核取方塊以指出找到重複項時要傳回的資料列:

    • 若選取此選項,則會傳回第一個資料列,並捨棄其他資料列。
    • 若未選取此選項,則會在結果中保留最後一個重複的資料列,並捨棄其他資料列。
  5. 提交管線。

  6. 若要檢視結果,請以滑鼠右鍵按一下元件,然後選取 [視覺化]。

提示

如果結果很難理解,或是您想將一些不納入考慮的資料行排除,可以使用 [選取資料集中的資料行] 元件來移除資料行。

後續步驟

請參閱 Azure Machine Learning 可用的元件集