Python數據分析及可視化實例之銀行信用卡違約預測(24)
系列文章總目錄:Python數據分析及可視化實例目錄
1.項目背景:
銀行體系對於信用可違約進行預測,原始數據集如下:
2.分析步驟:
(1)數據清洗(Data Cleaning)
(2) 探索性可視化(Exploratory Visualization)
(3) 特徵工程(Feature Engineering)
(4)基本建模&評估(Basic Modeling& Evaluation)
3.源碼(公眾號:海豹戰隊):
# coding: utf-8n# 親,轉載即同意幫推公眾號:海豹戰隊,嘿嘿......n# 數據源可關注公眾號:海報戰隊,後留言:數據nnimport pandas as pdnfilename = ../data/bankloan.xlsndata = pd.read_excel(filename)ndata.head()nx = data.drop(違約,axis=1) # 捨棄違約列進行訓練ny = data[違約] # y標籤為『違約』列n# y.unique()nfrom sklearn.linear_model import LogisticRegression as LRnfrom sklearn.linear_model import RandomizedLogisticRegression as RLR nrlr = RLR() #建立隨機邏輯回歸模型,篩選變數nrlr.fit(x, y) #訓練模型nrlr.get_support() #獲取特徵篩選結果,也可以通過.scores_方法獲取各個特徵的分數nprint(通過隨機邏輯回歸模型篩選特徵結束。)nprint(有效特徵為:%s % ,.join(x.columns[rlr.get_support()]))nx= x[x.columns[rlr.get_support()]] # 選擇有效特徵列進行模型訓練n#x.head()nlr = LR() #建立邏輯回歸模型nlr.fit(x, y) #用篩選後的特徵數據來訓練模型nprint(邏輯回歸模型訓練結束。)nprint(模型的正確率為:%s % lr.score(x, y)) #給出模型的平均正確率,本例為81.4%nlr.predict([[10,6,17.3,1.362202]]) # 挑第二個人給預測一下nlr.predict([[10,6,17.3,10.362202]])# 提高第二個人的負債再預測,自己看看差別nn# 建議以上代碼在jupyter notebook 分段執行,查看結果。n
膠水語言博大精深,
本主只得一二為新人帶路,
老鳥可去另一專欄:Python中文社區
新手可查閱歷史目錄:
Python數據分析及可視化實例目錄
最後,別只收藏不關注哈
推薦閱讀:
※1億收入,350w人次參與,大數據告訴你知乎 Live 這一年經歷了什麼
※Python進階:With語句和上下文管理器ContextManager
※換工作這件事也可以量化
※支付風控的數據倉庫建設