1 數據預處理流程
? ? ? ? ①數據清洗:處理數據缺失、數據重復、數據異常等問題,提升數據質量.
? ? ? ? ②數據轉換:涵蓋基本數據轉換、語義數據轉換、衍生數據轉換和隱私數據轉換,適配分析需求.
? ? ? ? ③數據集成:整合多源數據.
2 數據清洗
2.1 數據缺失
2.1.1 數值型數據缺失
????????數值型列的部分數值不存在,例如在員工薪資數據中個別薪資值缺失.
(1) 識別方法
? ? ? ? ①數據完整性特征分析:統計缺失值的數量和比例,能直觀地呈現數據缺失的程度.
????????②描述性統計分析:計算均值、中位數、標準差等指標,缺失值的存在可能導致均值和中位數發生較大波動,標準差異常增大.
(2) 處理方法
? ? ? ? ①填充法:計算非缺失數據的平均值、中位數進行填補,或者填充默認值.均值易受極端值影響,適用于數據分布相對均勻的情況;當數據存在極端值時,中位數更能代表數據的一般水平.
? ? ? ? ?②模型預測填補:利用其他相關特征建立機器學習模型,如線性回歸模型.以預測房屋價格為例,若部分房屋價格數據缺失,可基于房屋面積、房齡、周邊配套等特征構建模型來預測缺失的價格值.此方法能挖掘數據內在關系,但模型構建較復雜.
? ? ? ? ③刪除策略:若該列對整體分析并非關鍵,且大量缺失使其無法提供有效信息,可刪除此列;若缺失值所在記錄的其他信息價值不大,也可刪除整行記錄,但要注意可能丟失潛在信息.
2.1.2?類別型數據缺失
????????類別型數據集中部分類別信息不存在,例如在產品類別統計數據里部分產品的類別標注缺失.
(1) 識別方法
????????①分布分析:計算各分類的頻率和占比.缺失值的存在會導致某些分類的頻率異常低或占比失衡.例如在統計客戶所屬行業分布時,若某行業頻率極低,可能存在缺失值.
? ? ? ? ②合規性檢查_數據字典匹配:建立數據字典,將類別數據與字典中的合法取值進行比對,不在字典范圍內或無值的視為缺失.比如產品類別有明確規定的取值范圍,通過比對可找出缺失值.
(2) 處理方法
????????①眾數填補:找出該列出現頻率最高的類別,用眾數填補缺失值.例如在客戶職業信息中,"公司職員"出現頻率最高,缺失的職業信息可用 "公司職員"填補.
????????②單獨分類:將缺失值作為一個新的類別處理.如在商品類別數據中,將缺失的商品類別標記為 "未知類別”,在后續分析中單獨考慮.
? ? ? ? ③刪除策略:若該列對整體分析并非關鍵,且大量缺失使其無法提供有效信息,可刪除此列;若缺失值所在記錄的其他信息價值不大,也可刪除整行記錄,但要注意可能丟失潛在信息.
2.2 數據重復
2.2.1?全字段重復
????????數據集中存在完全相同的記錄.
(1) 識別方法
? ? ? ? 數據重復特征分析_基于全字段匹配:將數據集中的每一條記錄與其它所有記錄進行比較,判斷所有字段的值是否完全相同.這種方法準確性高,但計算量較大,適用于數據量較小的情況.
(2) 處理方法
????????保留一條并刪除其余:根據業務需求,通常保留首次出現的記錄,刪除后續重復的,以保證數據的唯一性,減少冗余.
2.2.2?關鍵字段重復
????????數據集中部分記錄在關鍵標識字段上的值相同,這些關鍵字段能唯一標識一條記錄的特定含義.例如在訂單數據表中,"訂單編號"是關鍵字段,若出現多條記錄的"訂單編號"相同,但其他訂單信息有差異.
(1) 識別方法
????????數據重復特征分析_基于關鍵字段匹配:根據業務邏輯確定關鍵字段,比較這些字段的值來判斷記錄是否重復.此方法計算效率較高,但需要準確選擇關鍵字段,否則可能會誤判或漏判重復數據,適用于數據量較大的情況.
(2) 處理方法
????????①數據核對與修正:對于關鍵字段重復但其他信息有差異的記錄,需進一步核對業務數據來源,確定正確的記錄內容,修正錯誤或重復的數據.
????????②合并相關信息:如果重復記錄的其他信息都有保留價值,可按照一定規則合并.比如將重復訂單記錄中的不同備注信息合并到一條記錄中,同時保證關鍵字段的唯一性.
2.3?數據值異常
2.3.1 數值型數據異常
????????數值型數據中存在與其他數據分布明顯不同的值,這些異常值可能因數據錄入錯誤、測量誤差或特殊情況產生.例如學生考試成績數據中,多數成績集中在 50 - 100 分,卻有成績為 150 分的.
(1) 識別方法
????????①異常值檢測_范圍檢查法:依據業務知識或數據經驗設定合理取值范圍.例如考試成績設定在 0 - 100 分,超出此范圍視為異常.
????????②異常值檢測_三倍標準差法(3σ 原則):利用正態分布特性,通過計算均值與標準差確定異常值范圍.計算簡便,但對極端值敏感.適用于符合或近似正態分布的數據場景.
????????③異常值檢測_四分位距法(IQR):基于數據分位數來識別異常值,計算簡單,對極端值不敏感.適用于數據分布有一定規律,需快速定位明顯異常值的場景.
(2) 處理方法
????????①調查核實:先調查異常值產生原因,如果屬于特殊情況,確認后可特殊標注保留.
????????②修正異常值:若能確定是錄入錯誤,直接修正.
????????③替代異常值:使用均值、中位數等統計量替代異常值.
? ? ? ? ④模型預測修正:借助其他相關特征構建模型預測合理值替代異常值.如結合學生平時表現、作業成績等預測考試成績,替代異常成績.
? ? ? ? ⑤刪除異常值:當異常值對分析影響極大且無法修正或替代時,可刪除該記錄,但需謹慎,以防丟失信息.
2.3.2 類別型數據異常
? ? ? ??類別型數據中出現不符合常規類別設定的值,這些異常值可能因數據錄入錯誤、測量誤差或特殊情況產生.例如在性別字段中,預定類別為"男"和"女",卻出現 "中"這樣的非法類別.
(1) 識別方法
????????①分布分析:計算各類別出現的頻率,設定頻率閾值,低于該閾值的類別視為罕見類別.
????????②合規性檢查_數據字典匹配:建立數據字典,包含所有合法類別值.將數據與字典比對,不在字典中的即為非法類別.
(2) 處理方法
????????①調查確認:先調查異常值產生原因,如果屬于特殊情況,確認后可特殊標注保留.
? ? ? ? ②修正為合法值:若能確定是錄入錯誤,直接修正.
? ? ? ? ③歸為其他類別:若無法確定正確類別,將異常類別歸為"其他"類別,以便后續分析.
? ? ? ? ④合并或刪除:對于不合理的罕見類別,可將其合并到相近類別或刪除相關記錄.
2.4 數據格式異常
2.4.1?日期格式異常
????????數據中日期的表示形式不符合統一規范或約定格式.
(1) 識別方法
????????①正則表達式匹配:使用正則表達式匹配常見日期格式,不匹配的日期數據可能存在格式異常.
????????②函數識別:嘗試將日期數據轉換為標準格式,轉換失敗的即為格式異常數據.
(2) 處理方法
????????格式轉換:根據數據整體的日期格式傾向,利用工具函數將異常格式轉換為統一標準格式.
2.4.2?數值格式異常
????????數值數據的表示方式不符合常規的數字格式規范,包括小數點位數、千位分隔符使用不當或數據類型錯誤等.例如在產品價格數據中,價格的形式有"1,000.50"、"1000.50" 、"一千元".
(1) 識別方法
????????①數據類型檢查:檢查數據列的數據類型,若應為數值型卻顯示為其他類型,則可能存在格式異常.
????????②格式匹配:對于特定格式要求的數據,使用正則表達式匹配格式,不匹配的視為格式異常.
(2) 處理方法
????????①類型轉換:將文本類型的數值轉換為合適的數值類型.
????????②格式修正:按照業務需求,統一轉成需要的格式
2.4.3?文本格式異常
????????文本數據出現不符合預期的格式,如大小寫混亂、包含多余空格、特殊字符不當使用等.
(1) 識別方法
????????①正則表達式檢查:使用正則表達式匹配規范文本格式,不匹配的文本可能存在格式異常.
????????②字符串函數判斷:通過字符串函數判斷格式異常? ? ? ?
(2) 處理方法
????????①字符串大小寫統一
????????②去除多余空格
? ? ? ? ③去除特殊字符
3 數據轉換
3.1 數據格式轉換
????????①格式轉換:統一數據類型,如字符串轉日期、整型轉浮點型
????????②規范格式:如統一小數位數和字符串長度.
????????③編碼轉換:統一字符編碼,防止數據顯示和處理亂碼.
3.2 語義數據轉換
????????依業務規則改變數據值,如標準化、離散化.
3.3 衍生數據轉換
????????①通過運算生成衍生字段:利用現有數據字段進行數學運算、邏輯運算等生成新字段.
????????②數據聚合:對數據進行匯總操作.
3.4 隱私數據轉換
????????采用掩碼處理等方式,對身份證號、手機號等加密,以保護敏感信息.
4 數據集成
4.1 數據源集成
? ? ? ? 將不同來源、不同形式的數據整合一份完整的數據.
4.2?數據格式集成
????????①結構統一:不同數據源的數據結構可能不同,例如一個數據源中客戶地址信息是單個文本字段,而另一個數據源按省、市、區等分開存儲,集成時需統一結構.
? ? ? ? ②格式規范:將不同來源的數據,統一為一種類型和標準格式.
4.3 數據語義集成
????????①消除歧義:相同的數據字段在不同數據源可能有不同含義,需要統一對字段的理解.
????????②統一編碼與標準:建立統一的編碼標準,將各數據源的編碼映射到標準編碼.