最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

拓端tecdat|Python決策樹、隨機森林、樸素貝葉斯、KNN(K-最近鄰居)分類分析銀行拉新

2021-08-24 17:09 作者:拓端tecdat  | 我要投稿

原文鏈接:http://tecdat.cn/?p=23518?

原文出處:拓端數(shù)據(jù)部落公眾號

項目背景:銀行的主要盈利業(yè)務靠的是貸款,這些客戶中的大多數(shù)是存款大小不等的責任客戶(存款人)。銀行擁有不斷增長的客戶。該銀行希望增加借款人(資產(chǎn)客戶),開展更多的貸款業(yè)務,并通過貸款利息賺取更多利潤。因此,銀行希望將負債的客戶轉換為個人貸款客戶。(同時保留他們作為存款人)。該銀行去年針對負債客戶開展的一項活動顯示,成功實現(xiàn)了9%以上的成功轉化率。該部門希望建立一個模型,來幫助他們確定購買貸款可能性更高的潛在客戶??梢栽黾映晒β剩瑫r降低成本。

數(shù)據(jù)集

下面給出的文件包含5000個客戶的數(shù)據(jù)。數(shù)據(jù)包括客戶人口統(tǒng)計信息(年齡,收入等),客戶與銀行的關系(抵押,證券賬戶等)以及客戶對上次個人貸款活動的因變量(個人貸款)。在這5000個客戶中,只有480個(= 9.6%)接受了先前活動中提供給他們的個人貸款

data.head()

data.columns

屬性信息

屬性可以相應地劃分:

  • 變量?ID?一個人的客戶ID與貸款之間沒有關聯(lián),也無法為將來的潛在貸款客戶提供任何一般性結論。我們可以忽略此信息進行模型預測。

二進制類別具有五個變量,如下所示:

  • 個人貸款-該客戶是否接受上一個廣告系列提供的個人貸款??這是我們的目標變量

  • 證券帳戶-客戶在銀行是否有證券帳戶?

  • CD帳戶-客戶在銀行是否有存款證明(CD)帳戶?

  • 網(wǎng)上銀行-客戶是否使用網(wǎng)上銀行?

  • 信用卡-客戶是否使用銀行發(fā)行的信用卡?

數(shù)值變量如下:

  • 年齡-客戶的年齡

  • 工作經(jīng)驗

  • 收入-年收入(元)

  • CCAvg-平均信用卡消費

  • 抵押-房屋抵押價值

有序分類變量是:

  • 家庭-客戶的家庭人數(shù)

  • 教育程度-客戶的教育程度

標稱變量是:

  • ID

  • 郵政編碼

data.shape

data.info()

  1. # 文件中沒有列有空數(shù)據(jù)

  2. data.apply(lambda x : sum(x.isnull()))

  1. # 對數(shù)據(jù)進行目測

  2. data.describe().transpose()

?

  1. #查看有多少不同數(shù)據(jù)

  2. data.apply(lambda x: len(x.unique()))

兩兩變量散點圖

  • 年齡?特征通常是分布的,大多數(shù)客戶年齡在30歲到60歲之間。

  • 經(jīng)驗?大多分布在8年以上經(jīng)驗的客戶。這里的?平均值?等于中?位數(shù)。有負數(shù)?。這可能是數(shù)據(jù)輸入錯誤,因為通常無法衡量負面的工作經(jīng)驗。我們可以刪除這些值,因為樣本中有3或4條記錄。

  • 收入出現(xiàn)?正偏斜。大多數(shù)客戶的收入在45,000到55K之間。我們可以通過說平均值?大于?中位數(shù)來確認這一點?

  • CCAvg?也是一個正偏變量,平均支出在0K到10K之間,大多數(shù)支出不到2.5K

  • 抵押?70%的人的抵押貸款少于4萬。但是最大值為635K

  • 家庭和教育變量是序數(shù)變量。家庭分布均勻

有52條記錄經(jīng)驗為負數(shù)。在進一步進行之前,我們需要對這些記錄進行清理

  1. data[data['Experience'] < 0]['Experience'].count()


52
  1. #清理負數(shù)變量

  2. dfExp = data.loc[data['Experience'] >0]

  3. data.loc[negExp]['ID'].tolist() # 得到有負數(shù)經(jīng)驗的客戶ID

有52條負面經(jīng)驗的記錄

以下代碼執(zhí)行以下步驟:

  • 對于具有ID的記錄,獲取Age?column的值?

  • 對于具有ID的記錄,獲取Education?column的值?

  • 從具有正數(shù)經(jīng)驗的記錄的數(shù)據(jù)框中過濾符合以上條件的記錄,并取中位數(shù)

  • 將中位數(shù)填充原本負數(shù)經(jīng)驗的位置


  1. data.loc[np.where(['ID']==id)]["Education"].tolist()[0]

  2. df_filtered['Experience'].median()

  1. # 檢查是否有負數(shù)經(jīng)驗的記錄

  2. data[data['Experience'] < 0]['Experience'].count()


0

收入和教育對個人貸款的影響

boxplot(x='Education',y='Income',data=data)

觀察?:看來教育程度為1的客戶收入更高。但是,接受了個人貸款的客戶的收入水平相同

推論?:從上圖可以看出,沒有個人貸款的客戶和擁有個人貸款的客戶的抵押貸款較高。

觀察?:大多數(shù)沒有貸款的客戶都有證券賬戶

觀察:家庭人數(shù)對個人貸款沒有任何影響。但是似乎3歲的家庭更有可能借貸??紤]未來的推廣活動時,這可能是一個很好的觀察結果。

觀察:沒有CD帳戶的客戶,也沒有貸款。這似乎占多數(shù)。但是幾乎所有擁有CD帳戶的客戶也都有貸款


觀察:該圖顯示有個人貸款的人的信用卡平均費用更高。平均信用卡消費中位數(shù)為3800元,表明個人貸款的可能性更高。較低的信用卡支出(中位數(shù)為1400元)不太可能獲得貸款。這可能是有用的信息。

觀察?上圖顯示與經(jīng)驗和年齡呈正相關。隨著經(jīng)驗的增加,年齡也會增加。顏色也顯示教育程度。四十多歲之間存在差距,大學以下的人也更多

  1. # 與熱圖的關聯(lián)性


  2. corr = data.corr()

  3. plt.figure(figsize=(13,7))

  4. # 創(chuàng)建一個掩碼,以便我們只看到一次相關的值


  5. a = sns.heatmap(corr,mask=mask, annot=True, fmt='.2f')

觀察

  • 收入和CCAvg呈中等相關。

  • 年齡和工作經(jīng)驗高度相關

sns.boxplot

看下面的圖,收入低于10萬的家庭比高收入的家庭更不可能獲得貸款。

應用模型

將數(shù)據(jù)分為訓練集和測試集

  1. train_labels = train_set

  2. test_labels = test_set

決策樹分類器

DecisionTreeClassifier(class_weight=None, criterion='entropy', ...)dt_model.score0.9773333333333334dt_model.predict(test_set)

預測

array([0, 0, 0, 0, 0])

查看測試集?

test_set.head(5)

樸素貝葉斯

  1. naive_model.fit(train_set, train_labels)

  2. naive_model.score

0.8866666666666667

隨機森林分類器

RandomForestClassifier(max_depth=2, random_state=0)Importance.sort_values

randomforest_model.score(test_set,test_labels)0.8993333333333333

KNN(K-最近鄰居)

  1. data.drop(['Experience' ,'ID'] , axis = 1).drop(labels= "PersonalLoan" , axis = 1)

  2. train_set_dep = data["PersonalLoan"]


  1. acc = accuracy_score(Y_Test, predicted)

  2. print(acc)

0.9106070713809206

模型比較


  1. for name, model in models:

  2. kfold = model_selection.KFold(n_splits=10)

  3. cv_results = model_selection.cross_val_score(model, X, y, cv, scoring)



  4. # 箱線圖算法的比較

  5. plt.figure()

?


結論

通用銀行的目的是將負債客戶轉變?yōu)橘J款客戶。他們想發(fā)起新的營銷活動;因此,他們需要有關數(shù)據(jù)中給出的變量之間的有聯(lián)系的信息。本研究使用了四種分類算法。從上圖可以看出,隨機森林?算法似乎?具有最高的精度,我們可以選擇它作為最終模型。

最受歡迎的見解

1.從決策樹模型看員工為什么離職

2.R語言基于樹的方法:決策樹,隨機森林

3.python中使用scikit-learn和pandas決策樹

4.機器學習:在SAS中運行隨機森林數(shù)據(jù)分析報告

5.R語言用隨機森林和文本挖掘提高航空公司客戶滿意度

6.機器學習助推快時尚精準銷售時間序列

7.用機器學習識別不斷變化的股市狀況——隱馬爾可夫模型的應用

8.python機器學習:推薦系統(tǒng)實現(xiàn)(以矩陣分解來協(xié)同過濾)

9.python中用pytorch機器學習分類預測銀行客戶流失


拓端tecdat|Python決策樹、隨機森林、樸素貝葉斯、KNN(K-最近鄰居)分類分析銀行拉新的評論 (共 條)

使用qq登录你需要登录后才可以评论。
中卫市| 上栗县| 客服| 京山县| 桦甸市| 迁西县| 沅陵县| 厦门市| 桃源县| 兴业县| 茶陵县| 开封县| 上栗县| 栖霞市| 富民县| 呼图壁县| 安多县| 沈丘县| 贵溪市| 邹城市| 齐河县| 启东市| 盘山县| 历史| 新化县| 新巴尔虎左旗| 犍为县| 讷河市| 寿阳县| 鹤庆县| 伊春市| 普兰县| 邵阳市| 大名县| 洛南县| 杂多县| 旌德县| 乌审旗| 长垣县| 西畴县| 土默特右旗|