【資料探勘案例實踐】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技術、大容量儲存技術的迅猛發 展以及資料共享範圍的逐步擴大,資料的自動採集和釋出越來越頻繁,資訊共享較以前來