學習目標
學習特徵預處理、缺失值、異常值處理、資料分桶等特徵處理方法
學習特徵互動、編碼、選擇的相應方法
資料預處理常見方法
缺失值的填充: 時間格式處理 物件型別特徵轉換到數值
異常值處理: 基於3segama原則 基於箱型圖
資料分箱: 固定寬度分箱b 分位數分箱離散數值型資料分箱連續數值型資料分箱
特徵互動a. 特徵和特徵之間組合b. 特徵和特徵之間衍生c. 其他特徵衍生的嘗試
特徵編碼a. one-hot編碼b. label-encode編碼6. 特徵選擇a.
#缺失值填充
#把所有缺失值替換為指定的值
data_train = data_train.fillna(0)
# 向用缺失值上面的值替換缺失值
data_train = data_train.fillna(axis=
0,method=
'ffill'
)#縱向用缺失值下面的值替換缺失值,且設定最多隻填充兩個連續的缺失值
data_train = data_train.fillna(axis=
0,method=
'bfill'
,limit=2)
#檢視缺失值數量
data_train.isnull().
sum(
)#按照平均數填充數值型特徵
data_train[numerical_fea]
= data_train[numerical_fea]
.fillna(data_train[numerical_fea]
.median())
data_test_a[numerical_fea]
= data_test_a[numerical_fea]
.fillna(data_train[numerical_fea]
.median())
#按照眾數填充類別型特徵
data_train[category_fea]
= data_train[category_fea]
.fillna(data_train[category_fea]
.mode())
data_test_a[category_fea]
= data_test_a[category_fea]
.fillna(data_train[category_fea]
.mode(
))
#時間特徵處理
1#轉化成時間格式
for data in
[data_train, data_test_a]
: data[
'issuedate'
]= pd.to_datetime(data[
'issuedate'],
format
='%y-%m-%d'
) startdate = datetime.datetime.strptime(
'2007-06-01'
,'%y-%m-%d'
)#構造時間特徵
data[
'issuedatedt'
]= data[
'issuedate'].
(lambda x: x-startdate)
.dt.days
data_train[
'employmentlength'
].value_counts(dropna=
false
).sort_index(
)
#物件特徵轉換為數值
defemploymentlength_to_int
(s):
if pd.isnull(s)
:return s
else
:return np.int8(s.split()[
0])for data in
[data_train, data_test_a]
: data[
'employmentlength'
].replace(to_replace=
'10+ years'
, value=
'10 years'
, inplace=
true
) data[
'employmentlength'
].replace(
'< 1 year'
,'0 years'
, inplace=
true
) data[
'employmentlength'
]=data[
'employmentlength'].
(employmentlength_to_int)
data[
'employmentlength'
].value_counts(dropna=
false
).sort_index(
)#1. 對earliescreditline進行預處理
data_train[
'earliescreditline'
].sample(5)
for data in
[data_train, data_test_a]
: data[
'earliescreditline'
]= data[
'earliescreditline'].
(lambda s:
int(s[-4
:]))
Task 3 特徵工程
1 通過箱線圖 或3 sigma 分析刪除異常值 2 box cox轉換 處理有偏分布 3 長尾截斷 1 標準化 換為正態分佈 2 歸一化 3 針對冪律分布,可採用公式 1 x 1 median 1 等頻分桶 2 等距分桶 3 best ks 分桶 類似利用基尼指數進行二分類 4 卡方分桶 1 不處...
Task 3 特徵工程
1.異常處理 2.特徵歸一化 標準化 3.資料分桶 4.缺失值處理 5.特徵構造 1.異常處理 1 通過箱線圖 或3 sigma 分析刪除異常值 2 box cox轉換 處理有偏分布 3 長尾截斷 1 標準化 換為正態分佈 2 歸一化 3 針對冪律分布,可採用公式 1 x 1 median 1 等頻...
金融風控(三) 特徵工程
如下 按照平均數填充數值型特徵 data train numerical fea data train numerical fea fillna data train numerical fea median data test a numerical fea data test a numeric...