金融風控(三) 特徵工程

2021-10-09 15:56:32 字數 2160 閱讀 8865

**如下

#按照平均數填充數值型特徵

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())

#轉化成時間格式

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_train['employmentlength'].value_counts(dropna=false).sort_index()

#物件型別特徵轉換到數值

def employmentlength_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'].value_counts(dropna=false).sort_index()

#對earliescreditline進行預處理

data_train['earliescreditline'].sample(5)

for data in [data_train, data_test_a]:

# 部分類別特徵

cate_features = ['grade', 'subgrade', 'employmenttitle', 'homeownership', 'verificationstatus', 'purpose', 'postcode', 'regioncode', \

for f in cate_features:

print(f, '型別數:', data[f].nunique())

#異常值處理

def find_outliers_by_3segama(data,fea):

data_std = np.std(data[fea])

data_mean = np.mean(data[fea])

outliers_cut_off = data_std * 3

lower_rule = data_mean - outliers_cut_off

upper_rule = data_mean + outliers_cut_off

return data

data_train = data_train.copy()

for fea in numerical_fea:

data_train = find_outliers_by_3segama(data_train,fea)

print(data_train[fea+'_outliers'].value_counts())

print(data_train.groupby(fea+'_outliers')['isdefault'].sum())

print('*'*10)

金融風控競賽筆記3 特徵工程

首先查詢出資料中的物件特徵和數值特徵 然後填充缺失值 在比賽中不妨嘗試多種填充然後比較結果選擇結果最優的一種 缺失值的填充方法 把所有缺失值替換為指定的值0 向用缺失值上面的值替換缺失值 data train data train.fillna axis 0,method ffill 縱向用缺失值下...

金融風控TASK3特徵工程

學習目標 學習特徵預處理 缺失值 異常值處理 資料分桶等特徵處理方法 學習特徵互動 編碼 選擇的相應方法 資料預處理常見方法 缺失值的填充 時間格式處理 物件型別特徵轉換到數值 異常值處理 基於3segama原則 基於箱型圖 資料分箱 固定寬度分箱b 分位數分箱離散數值型資料分箱連續數值型資料分箱 ...

金融風控專案

一 問題定義 金融的核心是風險控制。自然而然地,ai的主戰場也變成了如何使用ai技術精準的做風險控制。在風控領域,有乙個很重要的問題是 如何通過使用者的資訊來判斷使用者的逾期與否?我們通過收集使用者的基本資訊 地域資訊 社交資訊等來判斷乙個人的逾期概率。資料如下 二 roc與auc 特徵工程 第一 ...