清除遺漏的數據元件
本文說明 Azure 機器學習 設計工具中的元件。
使用此元件來移除、取代或推斷遺漏值。
數據科學家通常會檢查數據是否有遺漏的值,然後執行各種作業來修正數據或插入新值。 這類清除作業的目標是防止定型模型時可能發生的遺漏數據所造成的問題。
此元件支援多種類型的作業來「清除」遺漏值,包括:
- 以佔位元元、平均值或其他值取代遺漏值
- 完全移除具有遺漏值的數據列和數據行
- 根據統計方法推斷值
使用此元件並不會變更您的來源數據集。 相反地,它會在您的工作區中建立新的數據集,您可以在後續工作流程中使用。 您也可以儲存新的已清除資料集以供重複使用。
此元件也會輸出用來清除遺漏值的轉換定義。 您可以使用套用轉換元件, 在具有相同架構的其他數據集上重複使用此轉換 。
如何使用清除遺漏的數據
此元件可讓您定義清除作業。 您也可以儲存清除作業,以便稍後將它套用至新的數據。 請參閱下列各節,以瞭解如何建立和儲存清理程式:
重要
您用來處理遺漏值的清除方法可能會大幅影響您的結果。 建議您試驗不同的方法。 請考慮使用特定方法的理由,以及結果的品質。
取代遺漏值
每次將清除遺漏數據元件套用至一組數據時,相同的清除作業會套用至您選取的所有數據行。 因此,如果您需要使用不同的方法清除不同的數據行,請使用元件的個別實例。
將 清除遺漏的數據 元件新增至管線,並連接遺漏值的數據集。
若要 清除資料行,請選擇包含您想要變更之遺漏值的數據行。 您可以選擇多個數據行,但必須在所有選取的數據行中使用相同的取代方法。 因此,您通常需要個別清除字串數據行和數值數據行。
例如,若要檢查所有數值數據行中的遺漏值:
選取 [ 清除遺漏的數據 ] 元件,然後按兩下元件右面板中的[ 編輯] 資料行 。
針對 [ 包含],從下拉式清單中選取 [數據行類型 ],然後選取 [ 數值]。
您選擇的任何清除或取代方法都必須適用於選取範圍中的所有資料行。 如果任何數據行中的數據與指定的作業不相容,元件會傳回錯誤並停止管線。
針對 [最小值遺漏值比率],指定執行作業所需的最小遺漏值數目。
您可以使用此選項搭配 遺漏值比率 上限,以定義在數據集上執行清除作業的條件。 如果遺漏值的數據列太多或太少,則無法執行作業。
您輸入的數位代表 遺漏值與數據行中所有值的比率 。 根據預設, 最小值遺漏值比率 屬性會設定為 0。 這表示即使只有一個遺漏值,也會清除遺漏值。
警告
每個和每個數據行都必須符合此條件,才能套用指定的作業。 例如,假設您選取了三個數據行,然後將遺漏值的最低比率設定為 .2(20%),但只有一個數據行實際上有 20% 的遺漏值。 在此情況下,清除作業只會套用至超過 20% 遺漏值的數據行。 因此,其他數據行會保持不變。
如果您對遺漏值是否已變更有任何疑慮,請選取 [產生遺漏值指標數據行] 選項。 數據行會附加至數據集,以指出每個數據行是否符合最小和最大範圍的指定準則。
針對 [遺漏值比率上限],指定可執行作業的遺漏值數目上限。
例如,只有當 30% 或更少的數據列包含遺漏值時,您可能會想要執行遺漏值替代,但如果超過 30% 的數據列有遺漏值,則保留值。
您可以將數字定義為遺漏值與資料行中所有值的比率。 根據預設, 遺漏值比率 上限會設定為1。 這表示即使數據行中有 100% 的值遺失,也會清除遺漏值。
針對 [清除模式],選取下列其中一個選項來取代或移除遺漏值:
自定義替代值:使用此選項可指定套用至所有遺漏值的佔位元值(例如 0 或 NA)。 您指定做為取代的值必須與資料行的數據類型相容。
以平均值取代:計算數據行平均值,並使用平均值做為數據行中每個遺漏值的取代值。
僅適用於具有 Integer、Double 或 Boolean 數據類型的數據行。
以中位數取代:計算數據行中位數值,並使用中位數值做為數據行中任何遺漏值的取代。
僅適用於具有 Integer 或 Double 資料類型的數據行。
以模式取代:計算數據行的模式,並使用 模式做為數據行中每個遺漏值的取代值。
適用於具有 Integer、Double、Boolean 或 Categorical 數據類型的數據行。
拿掉整個數據列:完全移除數據集中含有一或多個遺漏值的任何數據列。 如果遺漏的值可以視為隨機遺漏,這會很有用。
拿掉整個數據行:完全移除數據集中具有一或多個遺漏值的任何數據行。
如果您已選取 [自定義替代值] 選項,則可以使用 [取代] 選項。 輸入新值,以做為數據行中所有遺漏值的取代值。
請注意,您只能在具有 Integer、Double、Boolean 或 String 的數據行中使用此選項。
產生遺漏值指標數據行:如果您想要輸出數據行中的值是否符合遺漏值清除準則的一些指示,請選取此選項。 當您設定新的清潔作業,並想要確定它如設計般運作時,這個選項特別有用。
提交管線。
結果
元件會傳回兩個輸出:
已清除的數據集:如果您選取了該選項,則數據集是由選取的數據行所組成,其中遺漏值會依照指定處理,以及指標數據行。
未選取清除的數據行也會「通過」。
清除轉換:用於清除的數據轉換,可儲存在工作區中,稍後再套用至新數據。
將已儲存的清除作業套用至新數據
如果您需要經常重複清除作業,建議您儲存數據清理的配方做為 轉換,以重複使用相同的數據集。 如果您必須經常重新匯入,然後清除具有相同架構的數據,則儲存清理轉換特別有用。
將 [ 套用轉換 ] 元件新增至管線。
新增您想要清除的數據集,並將數據集聯機到右側輸入埠。
展開設計工具左側窗格中的 [轉換] 群組。 找出已儲存的轉換,並將其拖曳至管線。
將儲存的轉換連接到套用轉換的左側輸入埠。
當您套用已儲存的轉換時,您無法選取套用轉換的數據行。 這是因為轉換已經定義並自動套用至原始作業中指定的數據行。
不過,假設您在數值數據行子集上建立了轉換。 您可以將此轉換套用至混合數據行類型的數據集,而不會引發錯誤,因為遺漏的值只會在相符的數值數據行中變更。
提交管線。