貸款逾期(5) 特徵處理

2021-09-01 12:36:24 字數 2953 閱讀 2837

關於資料型別轉換以及缺失值處理(嘗試不同的填充看效果)以及你能借鑑的資料探索

svm模型訓練時一直卡住不動,【原因是資料沒有標準化或者是歸一化】

無用變數比如乙個類只有唯一屬性(人類只用男性),若加入模型訓練且對最終模型生效的話,很可能就是出現了過擬合

data.drop(['id_name', 'custid', 'trade_no', 'bank_card_no'], axis=1, inplace=true)
或者對每一列的資料進行統計,如果這一列的資料每乙個都不同,即判斷為無關特徵並且刪去。

for i in data.columns:

count = data[i].count()

if len(list(data[i].unique())) in [1,count,count-1]:

data.drop(i,axis = 1,inplace=true )

取出數值型特徵,觀察缺失及分布情況

# 取出數值型變數

x_num = x.select_dtypes('number').copy()

print(x_num)

x_num.shape

# 檢視缺失情況

num_miss= x_num.count()

print(num_miss)

#檢視缺失率

num_miss_rate = 1-x_num.count()/len(x_num)

print(num_miss_rate)

#缺失率前十

num_miss_rate.sort_values(ascending=false, inplace=true)

print(num_miss_rate[:10])

(1)填充固定值

選取某個固定值/預設值填充缺失值。

data.fillna(0,inplace=true)
(2)填充均值

對每一列的缺失值,填充當列的均值

data.fillna(data.mean(),inplace=true)
(3)填充中位數

對每一列的缺失值,填充當列的中位數。

data.fillna(data.median(),inplace=true)
(4)填充眾數

對每一列的缺失值,填充當列的眾數。由於存在某列缺失值過多,眾數為nan的情況,因此這裡取的是每列刪除掉nan值後的眾數。

data.fillna(data.mode(),inplace=true) # 填充眾數,該資料缺失太多眾數出現為nan的情況

features_mode = {}

for f in features:

print f,':', list(data[f].dropna().mode().values)

features_mode[f] = list(data[f].dropna().mode().values)[0]

data.fillna(features_mode,inplace=true)

(5)填充上下條的資料

對每一條資料的缺失值,填充其上下條資料的值。

data.fillna(method='pad', inplace=true) # 填充前一條資料的值,但是前一條也不一定有值

data.fillna(0, inplace=true)

data.fillna(method='bfill', inplace=true) # 填充後一條資料的值,但是後一條也不一定有值

data.fillna(0, inplace=true)

(6)填充插值得到的資料

用插值法擬合出缺失的資料,然後進行填充。

for f in features: # 插值法填充

data[f] = data[f].interpolate()

data.dropna(inplace=true)

reg_preference_for_trad表示城市型別,僅有兩個缺失,用眾數填充後分別使用 啞變數 或 編碼 的形式進行資料裝換

# 眾數填充

data['reg_preference_for_trad'] = data['reg_preference_for_trad'].fillna(data['reg_preference_for_trad'].mode()[0])

# 啞變數

data_dummy = pd.get_dummies(data['reg_preference_for_trad'])

# 數字編碼

data_map = data['reg_preference_for_trad'].map()

#數字轉碼

n=set(data['reg_preference_for_trad'])

dic={}

for i,j in enumerate(n):

dic[j]=i

data['reg_preference_for_trad'] = data['reg_preference_for_trad'].map(dic)

資料歸一化

from sklearn import preprocessing

min_max_scale = preprocessing.minmaxscaler()

min_max_data = min_max_scale.fit_transform(data)

資料標準化

from sklearn import preprocessing

zdata = preprocessing.scale(data)

金融貸款逾期的模型實現

我們要做的是 貸款使用者是否會逾期。中 status 是結果標籤 0表示未逾期,1表示逾期。先對資料進行三七分,隨機種子2018。這裡利用了lr,svm,decisiontree三種模型,並對這三種模型進行評分。先導入劃分資料和構建模型所需要的各種包。用read csv函式開啟csv檔案。接著再對資...

逾期怎麼處理 信用卡網貸逾期怎麼樣處理能夠及時上岸

信用卡經過前幾年的大量普及,現在擁有信用卡的人非常多,有些人還不止一張,不如我自己有好幾張。由於部分人對於信用卡以及網貸使用不當 收入停止等原因,越錢越多。到最後全面逾期。我本人也面臨這個問題。那麼現在逾期了怎麼處理能夠把損失最小話呢?首先 向家人坦白,尋求幫助。這一點非常重要,能夠向親朋好友先籌到...

貸款逾期總不還,可不止信用汙點這麼簡單!

辦的貸款又到還款日期了,可手頭緊沒錢還,算了,先欠著吧,有錢的時候再還上去。許多朋友抱著這樣的僥倖心理,認為貸款逾期不還大不了就損失點錢,沒什麼大的影響。小美在這裡負責任的告訴這些朋友,貸款逾期不還的後果沒這麼簡單,它可能還影響你的一生。1.高額罰息和違約金 如果到了貸款還款日還沒有還錢,除了要繼續...