91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用Python算法預(yù)測(cè)客戶行為案例!

數(shù)據(jù)分析與開(kāi)發(fā) ? 來(lái)源:CSDN ? 作者:ChangingWudake ? 2022-10-27 13:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

這是一份kaggle上的銀行的數(shù)據(jù)集,研究該數(shù)據(jù)集可以預(yù)測(cè)客戶是否認(rèn)購(gòu)定期存款y。這里包含20個(gè)特征。

1. 分析框架

ab54dfda-55b5-11ed-a3b6-dac502259ad0.png

2. 數(shù)據(jù)讀取,數(shù)據(jù)清洗

#導(dǎo)入相關(guān)包
importnumpyasnp
importpandasaspd
#讀取數(shù)據(jù)
data=pd.read_csv('./1bank-additional-full.csv')
#查看表的行列數(shù)
data.shape

輸出:

ab69c184-55b5-11ed-a3b6-dac502259ad0.pngab7ee2a8-55b5-11ed-a3b6-dac502259ad0.png

這里只有nr.employed這列有丟失數(shù)據(jù),查看下:

data['nr.employed'].value_counts()
ab8febf2-55b5-11ed-a3b6-dac502259ad0.png

這里只有5191.0這個(gè)值,沒(méi)有其他的,且只有7763條數(shù)據(jù),這里直接將這列當(dāng)做異常值,直接將這列直接刪除了。

#data.drop('nr.employed',axis=1,inplace=True)

3. 探索性數(shù)據(jù)分析

3.1查看各年齡段的人數(shù)的分布

這里可以看出該銀行的主要用戶主要集中在23-60歲這個(gè)年齡層,其中29-39這個(gè)年齡段的人數(shù)相對(duì)其他年齡段多。

importmatplotlib.pyplotasplt
importseabornassns
plt.rcParams['font.sans-serif']='SimHei'
plt.figure(figsize=(20,8),dpi=256)
sns.countplot(x='age',data=data)
plt.title("各年齡段的人數(shù)")
aba1f54a-55b5-11ed-a3b6-dac502259ad0.png

3.2 其他特征的一些分布

plt.figure(figsize=(18,16),dpi=512)
plt.subplot(221)
sns.countplot(x='contact',data=data)
plt.title("contact分布情況")

plt.subplot(222)
sns.countplot(x='day_of_week',data=data)
plt.title("day_of_week分布情況")

plt.subplot(223)
sns.countplot(x='default',data=data)
plt.title("default分布情況")

plt.subplot(224)
sns.countplot(x='education',data=data)
plt.xticks(rotation=70)
plt.title("education分布情況")

plt.savefig('./1.png')
abaf93a8-55b5-11ed-a3b6-dac502259ad0.png
plt.figure(figsize=(18,16),dpi=512)
plt.subplot(221)
sns.countplot(x='housing',data=data)
plt.title("housing分布情況")

plt.subplot(222)
sns.countplot(x='job',data=data)
plt.xticks(rotation=70)
plt.title("job分布情況")

plt.subplot(223)
sns.countplot(x='loan',data=data)
plt.title("loan分布情況")

plt.subplot(224)
sns.countplot(x='marital',data=data)
plt.xticks(rotation=70)
plt.title("marital分布情況")

plt.savefig('./2.png')
ac1c1ffa-55b5-11ed-a3b6-dac502259ad0.png
plt.figure(figsize=(18,8),dpi=512)
plt.subplot(221)
sns.countplot(x='month',data=data)
plt.xticks(rotation=30)

plt.subplot(222)
sns.countplot(x='poutcome',data=data)
plt.xticks(rotation=30)
plt.savefig('./3.png')
ac34c794-55b5-11ed-a3b6-dac502259ad0.png

3.3 各特征的相關(guān)性

plt.figure(figsize=(10,8),dpi=256)
plt.rcParams['axes.unicode_minus']=False
sns.heatmap(data.corr(),annot=True)
plt.savefig('./4.png')
ac414b4a-55b5-11ed-a3b6-dac502259ad0.png

4. 特征規(guī)范化

4.1 將自變量的特征值轉(zhuǎn)換成標(biāo)簽類(lèi)型

#特征化數(shù)據(jù)
fromsklearn.preprocessingimportLabelEncoder
features=['contact','day_of_week','default','education','housing',
'job','loan','marital','month','poutcome']

le_x=LabelEncoder()
forfeatureinfeatures:
data[feature]=le_x.fit_transform(data[feature])

4.2 將結(jié)果y值轉(zhuǎn)換成0、1

defparse_y(x):
if(x=='no'):
return0
else:
return1
data['y']=data['y'].apply(parse_y)
data['y']=data['y'].astype(int)

4.3 數(shù)據(jù)規(guī)范化

#數(shù)據(jù)規(guī)范化到正態(tài)分布的數(shù)據(jù)
#測(cè)試數(shù)據(jù)和訓(xùn)練數(shù)據(jù)的分割
fromsklearn.preprocessingimportStandardScaler
fromsklearn.model_selectionimporttrain_test_split
ss=StandardScaler()
train_x,test_x,train_y,test_y=train_test_split(data.iloc[:,:-1],
data['y'],
test_size=0.3)
train_x=ss.fit_transform(train_x)
test_x=ss.transform(test_x)

5. 模型訓(xùn)練

5.1 AdaBoost分類(lèi)器

fromsklearn.ensembleimportAdaBoostClassifier
fromsklearn.metricsimportaccuracy_score
ada=AdaBoostClassifier()
ada.fit(train_x,train_y)
predict_y=ada.predict(test_x)
print("準(zhǔn)確率:",accuracy_score(test_y,predict_y))
ac766c58-55b5-11ed-a3b6-dac502259ad0.png

5.2 SVC分類(lèi)器

fromsklearn.svmimportSVC
svc=SVC()
svc.fit(train_x,train_y)
predict_y=svc.predict(test_x)
print("準(zhǔn)確率:",accuracy_score(test_y,predict_y))
ac8cedf2-55b5-11ed-a3b6-dac502259ad0.png

5.3 K鄰近值分類(lèi)器

fromsklearn.neighborsimportKNeighborsClassifier
knn=KNeighborsClassifier()
knn.fit(train_x,train_y)
predict_y=knn.predict(test_x)
print("準(zhǔn)確率:",accuracy_score(test_y,predict_y))
aca7deb4-55b5-11ed-a3b6-dac502259ad0.png

5.4 決策樹(shù)分類(lèi)器

fromsklearn.treeimportDecisionTreeClassifier
dtc=DecisionTreeClassifier()
dtc.fit(train_x,train_y)
predict_y=dtc.predict(test_x)
print("準(zhǔn)確率:",accuracy_score(test_y,predict_y))
acbbf70a-55b5-11ed-a3b6-dac502259ad0.png

6 模型評(píng)價(jià)

6.1 AdaBoost分類(lèi)器

fromsklearn.metricsimportroc_curve
fromsklearn.metricsimportauc
plt.figure(figsize=(8,6))
fpr1,tpr1,threshoulds1=roc_curve(test_y,ada.predict(test_x))
plt.stackplot(fpr1,tpr1,color='steelblue',alpha=0.5,edgecolor='black')
plt.plot(fpr1,tpr1,linewidth=2,color='black')
plt.plot([0,1],[0,1],ls='-',color='red')
plt.text(0.5,0.4,auc(fpr1,tpr1))
plt.title('AdaBoost分類(lèi)器的ROC曲線')
acd2f4a0-55b5-11ed-a3b6-dac502259ad0.png

6.2 SVC分類(lèi)器

plt.figure(figsize=(8,6))
fpr2,tpr2,threshoulds2=roc_curve(test_y,svc.predict(test_x))
plt.stackplot(fpr2,tpr2,alpha=0.5)
plt.plot(fpr2,tpr2,linewidth=2,color='black')
plt.plot([0,1],[0,1],ls='-',color='red')
plt.text(0.5,0.4,auc(fpr2,tpr2))
plt.title('SVD的ROC曲線')
ace52328-55b5-11ed-a3b6-dac502259ad0.png

6.3 K鄰近值分類(lèi)器

plt.figure(figsize=(8,6))
fpr3,tpr3,threshoulds3=roc_curve(test_y,knn.predict(test_x))
plt.stackplot(fpr3,tpr3,alpha=0.5)
plt.plot(fpr3,tpr3,linewidth=2,color='black')
plt.plot([0,1],[0,1],ls='-',color='red')
plt.text(0.5,0.4,auc(fpr3,tpr3))
plt.title('K鄰近值的ROC曲線')
ad0006ac-55b5-11ed-a3b6-dac502259ad0.png

6.4 決策樹(shù)分類(lèi)器

plt.figure(figsize=(8,6))
fpr4,tpr4,threshoulds4=roc_curve(test_y,dtc.predict(test_x))
plt.stackplot(fpr4,tpr4,alpha=0.5)
plt.plot(fpr4,tpr4,linewidth=2,color='black')
plt.plot([0,1],[0,1],ls='-',color='red')
plt.text(0.5,0.4,auc(fpr4,tpr4))
plt.title('決策樹(shù)的ROC曲線')
ad123c96-55b5-11ed-a3b6-dac502259ad0.png

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4784

    瀏覽量

    98095
  • 數(shù)據(jù)分析
    +關(guān)注

    關(guān)注

    2

    文章

    1516

    瀏覽量

    36253
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4877

    瀏覽量

    90082

原文標(biāo)題:用 Python 算法預(yù)測(cè)客戶行為案例!

文章出處:【微信號(hào):DBDevs,微信公眾號(hào):數(shù)據(jù)分析與開(kāi)發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    算法工程師需要具備哪些技能?

    、鏈?zhǔn)椒▌t等。應(yīng)用場(chǎng)景:梯度下降優(yōu)化算法、反向傳播計(jì)算等。 優(yōu)化理論核心內(nèi)容:凸優(yōu)化、非凸優(yōu)化、拉格朗日乘數(shù)法等。應(yīng)用場(chǎng)景:模型參數(shù)調(diào)優(yōu)、資源分配問(wèn)題等。 編程語(yǔ)言Python:主流選擇,用于數(shù)據(jù)處理、模型
    發(fā)表于 02-27 10:53

    沒(méi)有專(zhuān)利的opencv-python 版本

    所有 官方發(fā)布的 opencv-python 核心版本(無(wú) contrib 擴(kuò)展)都無(wú)專(zhuān)利風(fēng)險(xiǎn)——專(zhuān)利問(wèn)題僅存在于 opencv-contrib-python 擴(kuò)展模塊中的少數(shù)算法(如早期 SIFT
    發(fā)表于 12-13 12:37

    Python中借助NVIDIA CUDA Tile簡(jiǎn)化GPU編程

    兼容未來(lái)的 GPU 架構(gòu)。借助 NVIDIA cuTile Python,開(kāi)發(fā)者可以直接 Python 編寫(xiě) tile kernels。
    的頭像 發(fā)表于 12-13 10:12 ?1209次閱讀
    在<b class='flag-5'>Python</b>中借助NVIDIA CUDA Tile簡(jiǎn)化GPU編程

    labview如何實(shí)現(xiàn)數(shù)據(jù)的采集與實(shí)時(shí)預(yù)測(cè)

    現(xiàn)有以下問(wèn)題:labview可以實(shí)現(xiàn)數(shù)據(jù)的采集以及調(diào)用python代碼,但如何將這兩項(xiàng)功能集成在一個(gè)VI文件里,從而實(shí)現(xiàn)數(shù)據(jù)的采集與實(shí)時(shí)預(yù)測(cè)?,F(xiàn)有條件如下:已完成數(shù)據(jù)的采集系統(tǒng),python中的
    發(fā)表于 12-03 21:13

    Python調(diào)用API教程

    兩個(gè)不同系統(tǒng)之間的信息交互。在這篇文章中,我們將詳細(xì)介紹Python調(diào)用API的方法和技巧。 一、Requests庫(kù)發(fā)送HTTP請(qǐng)求 使用Python調(diào)用API的第一步是發(fā)送HTTP請(qǐng)求,通常
    的頭像 發(fā)表于 11-03 09:15 ?911次閱讀

    蜂鳥(niǎo)E203簡(jiǎn)單分支預(yù)測(cè)的改進(jìn)

    1.蜂鳥(niǎo)E203的原有分支預(yù)測(cè) 蜂鳥(niǎo)E203處理器為了能夠連續(xù)不斷的取指令,需要在每個(gè)時(shí)鐘周期都能生成一條待取的指令。因此,在取指令的階段,IFU單元模塊進(jìn)行了簡(jiǎn)單的譯碼處理,用以判別
    發(fā)表于 10-24 07:45

    基于全局預(yù)測(cè)歷史的gshare分支預(yù)測(cè)器的實(shí)現(xiàn)細(xì)節(jié)

    GShare預(yù)測(cè)機(jī)制簡(jiǎn)介 GShare預(yù)測(cè)機(jī)制作為一種常用的分支預(yù)測(cè)機(jī)制,通過(guò)基于分支歷史和分支地址來(lái)預(yù)測(cè)分支指令的執(zhí)行路徑。分支歷史是指處理器在執(zhí)行程序時(shí)遇到的所有分支指令的執(zhí)行情
    發(fā)表于 10-22 06:50

    Python 給 Amazon 做“全身 CT”——可量產(chǎn)、可擴(kuò)展的商品詳情爬蟲(chóng)實(shí)戰(zhàn)

    一、技術(shù)選型:為什么選 Python 而不是 Java? 結(jié)論: “調(diào)研階段 Python,上線后如果 QPS 爆表再考慮 Java 重構(gòu)?!?二、整體架構(gòu)速覽(3 分鐘看懂) 三、開(kāi)發(fā)前準(zhǔn)備(5
    的頭像 發(fā)表于 10-21 16:59 ?525次閱讀
    <b class='flag-5'>用</b> <b class='flag-5'>Python</b> 給 Amazon 做“全身 CT”——可量產(chǎn)、可擴(kuò)展的商品詳情爬蟲(chóng)實(shí)戰(zhàn)

    Python modbus-tk如何獲得客戶端信息?

    Python modbus-tk如何獲得客戶端信息
    發(fā)表于 08-07 06:01

    電商API的五大應(yīng)用場(chǎng)景:解鎖增長(zhǎng)新機(jī)遇

    。 #### 4. 智能推薦系統(tǒng):驅(qū)動(dòng)銷(xiāo)售轉(zhuǎn)化和交叉銷(xiāo)售 推薦API利用AI算法(如協(xié)同過(guò)濾)分析用戶行為,推薦相關(guān)產(chǎn)品。協(xié)同過(guò)濾公式為: 預(yù)測(cè)評(píng)分_{u,i} = \\\\sum_{j \\\\in N
    發(fā)表于 06-24 14:29

    如何用AI實(shí)現(xiàn)電池壽命的精準(zhǔn)預(yù)測(cè)?飛凌RK3588+融合算法給你答案

    飛凌嵌入式將AI算法(CNN+LSTM融合)和RK3588核心板相結(jié)合,成功突破這些限制,帶來(lái)高效、精準(zhǔn)的鋰電池壽命預(yù)測(cè)
    的頭像 發(fā)表于 06-20 10:07 ?3547次閱讀
    如何用AI實(shí)現(xiàn)電池壽命的精準(zhǔn)<b class='flag-5'>預(yù)測(cè)</b>?飛凌RK3588+融合<b class='flag-5'>算法</b>給你答案

    工地AI行為識(shí)別系統(tǒng)作用

    工地AI行為識(shí)別系統(tǒng)作用 工地AI行為識(shí)別系統(tǒng)是什么? 工地AI行為識(shí)別系統(tǒng)是一種基于人工智能技術(shù)的智能監(jiān)控方案,通過(guò)攝像頭+AI算法,實(shí)時(shí)分析工地人員
    的頭像 發(fā)表于 05-08 12:00 ?949次閱讀

    景區(qū)AI行為識(shí)別系統(tǒng)作用

    景區(qū)AI行為識(shí)別系統(tǒng)作用 景區(qū)AI行為識(shí)別系統(tǒng)是什么? 景區(qū)AI行為識(shí)別系統(tǒng)是利用人工智能技術(shù)(如視頻分析、人臉識(shí)別)構(gòu)建的智能管理方案。通過(guò)部署攝像頭+AI算法,實(shí)時(shí)監(jiān)控游客
    的頭像 發(fā)表于 05-07 15:32 ?1013次閱讀
    景區(qū)AI<b class='flag-5'>行為</b>識(shí)別系統(tǒng)作用

    工廠園區(qū)AI行為識(shí)別系統(tǒng)作用

    工廠園區(qū)AI行為識(shí)別系統(tǒng)作用 工廠園區(qū)AI行為識(shí)別系統(tǒng)是什么? 工廠園區(qū)AI行為識(shí)別系統(tǒng)是基于人工智能技術(shù)的智能化管理方案,通過(guò)攝像頭與AI算法融合,實(shí)時(shí)監(jiān)控人員
    的頭像 發(fā)表于 05-06 17:49 ?810次閱讀

    采用可更新且具區(qū)分度錨點(diǎn)的多模態(tài)運(yùn)動(dòng)預(yù)測(cè)研究

    在自動(dòng)駕駛領(lǐng)域,運(yùn)動(dòng)預(yù)測(cè) (Motion Prediction) 是一個(gè)重要任務(wù),它有助于場(chǎng)景理解和安全決策。該任務(wù)利用歷史狀態(tài)和道路地圖來(lái)預(yù)測(cè)目標(biāo)智能體的未來(lái)軌跡。其主要挑戰(zhàn)來(lái)自未來(lái)行為的多模態(tài)性 (Multimodality
    的頭像 發(fā)表于 04-01 10:32 ?791次閱讀
    采用可更新且具區(qū)分度錨點(diǎn)的多模態(tài)運(yùn)動(dòng)<b class='flag-5'>預(yù)測(cè)</b>研究