移除重複資料列元件
本文針對 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 就不是重複的資料列,因為兩者缺少「年齡」的值。
在您執行元件時,元件會建立候選資料集,並傳回一組在您指定的資料行集合之間沒有重複項的資料列。
重要
來源資料集未改變;此元件會根據您指定的準則建立一個新的資料集,其中已篩選排除重複項。
如何使用移除重複資料列
將此元件新增至您的管線。 您可以在 [資料轉換]、[操作].下方找到 [移除重複資料列]。
連接您想要檢查是否有重複資料列的資料集。
在 [屬性] 窗格中,[索引鍵資料行選取項目篩選運算式] 下方,按一下 [啟動資料行選取器],選擇用於找出重複項的資料行。
在此內容中,索引鍵 不代表唯一的識別碼。 系統會將您使用 [資料行選取器] 選取的所有資料行,皆指定為索引鍵資料行。 所有未選取的資料行都會視為非索引鍵資料行。 您選取作為索引鍵的資料行組合,會決定記錄的唯一性。 (可視為使用多個等式連結的 SQL 語句。)
範例:
- 「我想要確保識別碼是唯一的」:僅選擇 [識別碼] 資料行。
- 「我想要確保名字、姓氏和識別碼的組合是唯一的」:選取這三個資料行。
使用 [保留第一個重複資料列] 核取方塊以指出找到重複項時要傳回的資料列:
- 若選取此選項,則會傳回第一個資料列,並捨棄其他資料列。
- 若未選取此選項,則會在結果中保留最後一個重複的資料列,並捨棄其他資料列。
提交管線。
若要檢視結果,請以滑鼠右鍵按一下元件,然後選取 [視覺化]。
後續步驟
請參閱 Azure Machine Learning 可用的元件集。