預設值清洗

2021-09-01 02:36:33 字數 838 閱讀 5797

預設值是資料中最常見的乙個問題,處理預設值有很多方式,主要包括以下四個步驟進行預設值處理:

確定預設值範圍

去除不需要的字段

填充預設值內容

重新獲取資料

注意:最重要的是預設值內容填充。

在進行確定預設值範圍的時候,對每個欄位都計算其缺失比例,然後按照缺失比例和字段重要性分別指定不同的策略:

重要性高,缺失率低:通過計算進行填充,通過經驗或業務知識估計

重要性高,缺失率高:嘗試從其他渠道取數補全,使用其他字段通過計算獲取,去除字段,並在結果中標明

重要性低,缺失值低:不做處理或簡單填充

重要性低,缺失率高:去除該欄位

在進行去除不需要的字段的時候,需要注意的是:刪除操作最好不要直接操作與原始資料上,最好的是抽取部分資料進行刪除欄位後的模型構建,檢視模型效果,如果效果不錯,那麼再到全量資料上進行,刪除字段操作。總而言之,該過程簡單但是必須慎用,不過一般效果不錯,刪除一些丟失率高以及重要性低的資料可以降低模型的訓練複雜度,同時又不會降低模型的效果。

填充預設值內容是乙個比較重要的過程,也是我們常用的一種預設值解決方案,一般採用下面幾種方法進行資料的填充:

以業務知識或經驗推測填充預設值

以同一字段指標的計算結果(均值、中位數、眾數等)填充預設值

以不同字段指標的計算結果來推測性的填充預設值,比如通過身份證號碼計算年齡、通過收貨位址來推測家庭住址、通過訪問的ip位址來推測家庭/公司/學校的家庭住址等等

如果某些指標非常重要,但是缺失率又比較高,而且通過其他字段沒法比較精準的計算出指標值的情況下,那麼就需要和資料產生方(業務人員、資料收集人員等)溝通協商,是否可以通過其他渠道獲取相關的資料,也就是進行重新獲取資料的操作。

解構給預設值 解構賦值預設值誤區

問題還原 這是最近 cr 的時候在業務 中發現了乙個問題,先來看一下問題 data 為介面返回的資料 const total 0 data.result const list bizobject.list 其他邏輯,比如把 list 更新到 state 中,等等 a 介面正常的情況 data 中有 ...

方法引數 預設值 Python引數的預設值陷阱!

今日分享 引數的預設值陷阱 下面定義的函式f,其引數d是乙個預設引數,且為字典型別 def f a,d print f a print f d do some process return d 最後返回字典d,下面呼叫函式f ret dict f 1 第二個引數d使用預設值 ret dict b 2...

lua 函式 預設值 定義函式引數的預設值

如果你想要命名引數和預設值,如php或python,你可以使用表構造函式呼叫你的函式 myfunction 函式本身可以有這樣的簽名 function myfunction t setmetatable t,local a,c t 1 or t.a,t 2 or t.b,t 3 or t.c fun...