1. 程式人生 > >【資料探勘案例實踐】Loan Status

【資料探勘案例實踐】Loan Status

一、LoanStatus案例介紹

  • 資料集變數:
    這裡寫圖片描述
  • 預測變數:
    Loan_Status貸款是否成功

  • 評價指標:
    Cross_validation Score (ROC曲線–AUC得分)

  • 資料集大小
    訓練集樣本數:614
    測試集樣本數:367

二、檢視資料集

1.匯入Python資料探勘庫

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

2.檢視資料集

df.head()

這裡寫圖片描述

df.describe()

這裡寫圖片描述

三、變數統計分析

1.檢視Property_Area變數

 temp1 = df['Property_Area'].value_counts()
 print(temp1)

這裡寫圖片描述

temp1.plot(kind='bar')

這裡寫圖片描述

2.檢視ApplicantIncome欄位(連續變數)

# 繪製ApplicantIncome的直方圖
df['ApplicantIncome'].hist(bins=30)

這裡寫圖片描述

#檢視ApplicantIncome 箱線圖
df.boxplot(column='ApplicantIncome')

這裡寫圖片描述

#檢視不同教育水平的收入情況
df.boxplot(column='ApplicantIncome'
,by='Education')

這裡寫圖片描述

#檢視不同教育水平及性別的收入情況
df.boxplot(column='ApplicantIncome',by=['Education','Gender'])

這裡寫圖片描述

3. 檢視LoanAmount欄位(連續變數)

#繪製LoanAmount直方圖
df['LoanAmount'].hist(bins=40)

這裡寫圖片描述

#繪製箱線圖
df.boxplot(column='LoanAmount')

這裡寫圖片描述

#檢視不同教育水平的人的借款金額箱線圖
df.boxplot(column='LoanAmount',by='Education')

這裡寫圖片描述

#看不同性別的人的借款情況
df.boxplot(column='LoanAmount',by='Gender')

這裡寫圖片描述

#不同教育水平&不同性別
df.boxplot(column='LoanAmount',by=['Gender','Education'])

這裡寫圖片描述

4.基於信用情況獲得貸款的可能性(Credit_History)

temp1 = df['Credit_History'].value_counts(ascending=True)

這裡寫圖片描述

temp2=df.pivot_table(values='Loan_Status',index=['Credit_History'],
    aggfunc=lambda x:x.map({'Y':1,'N':0}).mean())

這裡寫圖片描述

import matplotlib.pyplot as plt
fig=plt.figure(figsize=(8,4))
ax1=fig.add_subplot(121)
ax1.set_xlabel('Credit_History')
ax1.set_ylabel('Count of Applicants')
ax1.set_title("Applicants by Credit_History")
temp1.plot(kind='bar')
ax2=fig.add_subplot(122)
ax2.set_xlabel('Credit_History')
ax2.set_ylabel('Probability of getting loan')
ax2.set_title("Probability of getting loan by Credit_History")
temp2.plot(kind='bar')

這裡寫圖片描述

temp3=pd.crosstab(df['Credit_History'],df['Loan_Status'])
temp3.plot(kind='bar',stacked=True,color=['red','blue'],grid=False)

這裡寫圖片描述

temp4=pd.crosstab([df['Credit_History'],df['Gender']],df['Loan_Status'])
temp4.plot(kind='bar',stacked=True,color=['red','blue'],grid=False)

這裡寫圖片描述

由圖可知,歷史信用會對貸款結果產生較大的影響

5. 基於婚姻情況獲得貸款的可能性

temp4=df['Married'].value_counts(ascending=True)

這裡寫圖片描述

temp5=df.pivot_table(values='Loan_Status',index=['Married'],
    aggfunc=lambda x:x.map({'Y':1,'N':0}).mean())

這裡寫圖片描述

四、資料預處理

  • 在一些變數中存在缺失值,基於丟失的值的數量估計這些缺失值,並評估變數的重要性
  • applicantIncome和LoanAmount存在極值,應適當處理
  • 處理非數值領域Gender,Property_Area,Married,Education,Dependents

1.檢視所有變數中的缺失值個數

df.apply(lambda x:sum(x.isnull()),axis=0)

這裡寫圖片描述

2.填補Self_Employed的缺失值

df['Self_Employed'].value_counts()
df['Self_Employed'].fillna('No',inplace=True)

這裡寫圖片描述

3.處理Credit_History的缺失值

df['Credit_History'].value_counts()
df['Credit_History'].fillna(1,inplace=True)

處理後:
這裡寫圖片描述

4.處理Loan_Amount_Term的缺失值

df['Loan_Amount_Term'].describe()
df['Loan_Amount_Term'].fillna(df['Loan_Amount_Term'].notnull().mean(),inplace=True)

這裡寫圖片描述

5.建立資料透視表,提供我們所有Education和Self_employed變數的唯一值分組的中位數

table=df.pivot_table(values='LoanAmount',index='Self_Employed',columns='Education',aggfunc=np.median)
def fage(x):
    return table.loc[x['Self_Employed'],x['Education']]
#Replace missing values
df['LoanAmount'].fillna(df[df['LoanAmount'].isnull()].apply(fage,axis=1),inplace=True)
df['LoanAmount'].hist(bins=40)

這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述

6.applicantIncome 將申請者和共同申請者兩者的收入結合起來作為總收入,並採取相同的對數變換

df['TotalIncome']=df['ApplicantIncome']+df['CoapplicantIncome']
df['TotalIncome_log']=np.log(df['TotalIncome'])
df['TotalIncome_log'].hist(bins=20)

這裡寫圖片描述

7.啞變數處理
1)處理Gender缺失值

df['Gender'].fillna('Male',inplace=True)

五、建模分析

相關推薦

資料案例實踐Loan Status

一、LoanStatus案例介紹 資料集變數: 預測變數: Loan_Status貸款是否成功 評價指標: Cross_validation Score (ROC曲線–AUC得分) 資料集大小 訓練集樣本數:614 測試集樣本數:367

資料筆記六挖掘頻繁模式、關聯和相關性:基本概念和方法

6.挖掘頻繁模式、關聯和相關性:基本概念和方法 頻繁模式(frequent pattern)是頻繁地出現在資料集中的模式。 6.1 基本概念 頻繁模式挖掘搜尋給定資料集中反覆出現的聯絡,旨在發現大型事務或關係資料集中項之間有趣的關聯或相關性,其典型例子就是購物籃分析。 購物

資料面經騰訊+百度+華為(均拿到sp offer)

《資料探勘——從入門到求職》by ZakeXuPS:文中所涉及資料可從以下連結獲取(包括簡歷模版)最近秋招也已經慢慢接近尾聲了,從去年8月底開始,先後參加了datacastle,阿里天池,牛客網各自舉辦的資料探勘比賽(都是top10),今年4月份又先後去百度,騰訊實習,到現在

資料學習筆記10.頻繁模式挖掘基礎

一、基本概念頻繁模式– 頻繁的出現在資料集中的模式– 項集、子序或者子結構動機– 發現數據中蘊含的事物的內在規律• 項(Item) – 最小的處理單位 – 例如:Bread, Milk• 事務(Transaction) – 由事務號和項集組成 – 例如:<1, {Bre

資料學習筆記11.頻繁模式挖掘進階與關聯規則

一、關聯規則關聯規則步驟:– 1、找個這個“同一項集”,相同的項集對應的規則有相同的支援度,找到支援度≥minsup的項集– 2、計算項集中所有規則的置信度,找到置信度≥minconf的規則由頻繁項集生成關聯規則生成關聯規則– 給定頻繁項集L,找出L的所有非空子集f,滿足f

資料知識點七相關與迴歸分析

相關與迴歸分析客觀現象之間的數量聯絡存在兩種不同型別:一種是函式關係,另一種是相關關係。當一個或幾個變數取一定的值時,另一個變數有確定值與之對應,這種關係稱為確定性的函式關係,一般把作為影響因素的變數稱為自變數,把發生對應變化的變數稱為因變數。當一個或幾個相互聯絡的變數取一定

資料面經騰訊+百度+華為(均拿到sp offer)--轉

最近秋招也已經慢慢接近尾聲了,從去年 8 月底開始,先後參加了 datacastle ,阿里天池,牛客網各自舉辦的資料探勘比賽(都是 top10 ),今年 4 月份又先後去百度,騰訊實習,到現在秋招快結束,也將近

資料筆記十聚類分析:基本概念和方法

1)10.聚類分析:基本概念和方法聚類是一個把資料物件集劃分成多個組或簇的過程,使得簇內的物件具有很高的相似性,但與其他簇中的物件很不相似。相異性和相似性根據描述物件的屬性值評估,涉及到距離度量。10.1 聚類分析聚類分析把一個數據物件(或觀測)劃分子集的過程。由聚類分析產生

資料筆記二認識資料

2.認識資料 提出一些問題來開啟資料的認識。資料由什麼型別的屬性或欄位組成?每個屬性具有何種型別的資料值?那些屬性是離散的,那些事連續值的?資料值如何分佈?什麼方法更好地視覺化資料可看出離群點?如何度量資料物件之間的相似性或相異性? 2.1資料物件與屬性型別 資料集是由資

原創資料案例——ReliefF和K-means演算法的醫學應用

  資料探勘方法的提出,讓人們有能力最終認識資料的真正價值,即蘊藏在資料中的資訊和知識。資料探勘 (DataMiriing),指的是從大型資料庫或資料倉庫中提取人們感興趣的知識,這些知識是隱含的、事先未知的潛在有用資訊,資料探勘是目前國際上,資料庫和資訊決策領域的最前沿研究方向之一。因此分享一下很久以前做的一

資料分類之kNN

1.演算法簡介 kNN的思想很簡單:計算待分類的資料點與訓練集所有樣本點,取距離最近的k個樣本;統計這k個樣本的類別數量;根據多數表決方案,取數量最多的那一類作為待測樣本的類別。距離度量可採用Euclidean distance,Manhattan distance和co

資料Apriori演算法

關聯分析:在大資料中尋找有趣的關係,包括頻繁項集或者關聯規則。頻繁項集是指經常一起出現的物品的集合,關聯關係暗示兩種物品之間可能存在很強的關係。這種關聯分析有什麼用呢?根據常識,經常一起出現的可能有某種關係,比如商品A和商品B在同一個頻繁項集裡,那麼可能說明購買商品A的人會選擇購買商品B,或者反

資料概念與技術學習筆記6-挖掘頻繁模式、關聯和相關性:基本概念和方法(編緝中)

頻繁模式是頻繁地出現在資料集中的模式(如項集、子序列或子結構)。頻繁模式挖掘給定資料集中反覆出現的聯絡。“購物籃”例子,想象全域是商店中商品的集合,每種商品有一個布林變數,表示該商品是否出現。則每個購物籃可以用一個布林向量表示。分析布林向量,得到反映商品頻繁關聯或同時購買的購買模式。這些模式可用關聯規則來表示

資料筆記資料預處理之類別特徵編碼

定義 類別特徵:如['male', 'female']等,模型不能直接識別的資料。處理的目的是將不能夠定量處理的變數量化。 特別的比如星期[1, 2, ... , 7]雖然是數字,但是數值之間沒有大小順序關係,需要視為類別特徵。 處理 編碼為模型可識

資料結果資料企業的彙總資訊

名稱 涉及領域 核心業務 投資機構 投資機構 投資機構 投資機構 金額(人民幣) 輪次 美林資料 演算法/分析

資料實戰之kaggle練習賽titanic

之前基本完成了pandas基礎知識的學習,現在結合實際工程例項來進一步理解鞏固pandas的用法。 參考部落格資料:http://www.cnblogs.com/north-north/p/4353365.html 一.讀取資料 df = pd.read_csv('tra

資料FPgrowth演算法筆記

1. 提出問題 對於Apriror演算法來說,仍然受到兩種非平凡開銷的影響: 仍然需要產生大量的候選集。例如,如果有10^4個頻繁1項集,則需要產生10^7個候選頻繁2項集。 可能需要重複地掃描整個資料庫。檢索資料庫中每個事務來確定候選項集支援度的開銷會很

資料總結專案總結之KDD2017

序 KDD CUP 2017從四月開始做,到今天(0508)已經做了一段時間,成績目前雖然較以前有了不少提升,但距離頂尖還有不少距離。 最近把想到的好實現的東西都實現了,效果也都不錯,但是貌似遇到了瓶頸,現在捋一捋思路,看看還有什麼地方可以繼續提高。 由於

資料筆記十二離群點檢測

12.離群點檢測離群點檢測或異常檢測,是找出其行為很不同於預期物件的過程。這種物件稱為離群點或異常。離群點檢測和聚類分析是兩項高度相關的任務。聚類發現數據集中的多數模式並據此組織資料,而離群點檢測則試圖捕獲顯著偏離多數模式的異常情況。12.1 離群點和離群點分析離群點顯著不同

資料K-匿名演算法

簡介 Internet技術、大容量儲存技術的迅猛發 展以及資料共享範圍的逐步擴大,資料的自動採集和釋出越來越頻繁,資訊共享較以前來