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