拿掉重複的數據列元件
本文說明 Azure 機器學習 設計工具中的元件。
使用此元件可從數據集移除潛在的重複專案。
例如,假設您的數據如下所示,並代表患者的多個記錄。
PatientID | Initials | 性別 | Age | 承認 |
---|---|---|---|---|
1 | F.M. | 月 | 53 | 一月 |
2 | F.A.M. | 月 | 53 | 一月 |
3 | F.A.M. | 月 | 24 | 一月 |
3 | F.M. | 月 | 24 | 二月 |
4 | F.M. | 月 | 23 | 二月 |
F.M. | 月 | 23 | ||
5 | F.A.M. | 月 | 53 | |
6 | F.A.M. | 月 | NaN | |
7 | F.A.M. | 月 | NaN |
顯然,此範例有多個數據行可能重複。 它們是否實際重複取決於您對數據的知識。
例如,您可能知道許多患者具有相同的名稱。 您不會使用任何名稱數據行來消除重複專案,只有 標識符 數據行。 如此一來,無論患者是否具有相同名稱,都只會篩選出重複標識符值的數據列。
或者,您可能會決定允許標識符字段中的重複專案,並使用其他一些檔案組合來尋找唯一的記錄,例如名字、姓氏、年齡和性別。
若要設定資料列是否重複的準則,您可以指定要作為 索引鍵的單一數據行或一組數據行。 只有在所有索引鍵數據行中的值相等時,才會將兩個數據列視為重複數據列。 如果索引鍵有任何數據列遺漏值,它們就不會被視為重複的數據列。 例如,如果 [性別] 和 [年齡] 設定為上表的索引鍵,則數據列 6 和 7 不會重複數據列,因為它們在 Age 中遺漏了值。
當您執行元件時,它會建立候選數據集,並傳回一組在指定的數據行之間沒有重複的數據列。
重要
來源數據集不會改變;此元件會根據您指定的準則,建立篩選以排除重複專案的新數據集。
如何使用移除重複的數據列
將元件新增至管線。 您可以在 [資料轉換、 操作] 底下找到 [移除重複的數據列] 元件。
連接您要檢查重複資料列的數據集。
在 [屬性] 窗格的 [索引鍵數據行選取篩選表達式] 底下,按兩下 [啟動資料行選取器],選擇要用於識別重複的數據行。
在此內容中, Key 不表示唯一標識碼。 您使用 [資料行選取器] 選取的所有資料列都會指定為 索引鍵資料列。 所有未選取的數據行都會被視為非索引鍵數據行。 您選取為索引鍵的數據行組合會決定記錄的唯一性。 (請將它視為使用多個相等聯結的 SQL 語句。
範例:
- 「我想要確保標識碼是唯一的」:只選擇標識符數據行。
- 「我想確保名字、姓氏和標識符的組合是唯一的」:選取這三個數據行。
使用 [ 保留第一個重複資料列 ] 複選框,指出找到重複資料時要傳回的數據列:
- 如果選取,則會傳回第一個數據列,並捨棄其他數據列。
- 如果您取消核取此選項,則會在結果中保留最後一個重複的數據列,而其他數據列則會捨棄。
提交管線。
若要檢閱結果,請以滑鼠右鍵按兩下元件,然後選取 [ 可視化]。
提示
如果結果難以理解,或您想要排除某些數據行的考慮,您可以使用 [選取數據集中的數據行] 元件來移除數據行。