關於資料型別轉換以及缺失值處理(嘗試不同的填充看效果)以及你能借鑑的資料探索
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.高額罰息和違約金 如果到了貸款還款日還沒有還錢,除了要繼續...