# PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享（下）

PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享（上）：https://developer.aliyun.com/article/1492254

# 特征选择和工程

data = pd.get_dummies(data=data, columns = $'job', 'marital', 'education' , 'month'$, \
prefix = $'job', 'marital', 'education' , 'month'$)

data.head(5)

age = pearsonr(data$'age'$, data$'y'$)

sns.heatmap(corr

pylab.show()

# 算法的实现

## 逻辑回归

K=5
kf = KFold(n_splits=K, shuffle=True)
logreg = LogisticRegression()
$\[7872 93$
$992 86$\]

$\[7919 81$
$956 86$\]

$\[7952 60$
$971 59$\]

$\[7871 82$
$1024 65$\]

$\[7923 69$
$975 75$\]

## 决策树

dt2 = tree.DecisionTreeClassifier(random\_state=1, max\_depth=2)
$\[7988 0$
$1055 0$\]

$\[7986 0$
$1056 0$\]

$\[7920 30$
$1061 31$\]

$\[8021 0$
$1021 0$\]

$\[7938 39$
$1039 26$\]

## 随机森林

random_forest = RandomForestClassifier
$\[7812 183$
$891 157$\]

$\[7825 183$
$870 164$\]

$\[7774 184$
$915 169$\]

$\[7770 177$
$912 183$\]

$\[7818 196$
$866 162$\]

## KNN近邻

classifier = KNeighborsClassifier(n_neighbors =13,metric = 'minkowski' , p=2)
print("Mean accuracy: ",accuracyknn/K)
print("The best AUC: ", bestaucknn)
$\[7952 30$
$1046 15$\]

$\[7987 30$
$1010 15$\]

$\[7989 23$
$1017 13$\]

$\[7920 22$
$1083 17$\]

$\[7948 21$
$1052 21$\]

## 高斯朴素贝叶斯

kf = KFold(n_splits=K, shuffle=True)
gaussian = GaussianNB()
$\[7340 690$
$682 331$\]

$\[7321 633$
$699 389$\]

$\[7291 672$
$693 386$\]

$\[7300 659$
$714 369$\]

$\[7327 689$
$682 344$\]


models = pd.DataFrame({
'Model': $'KNN', 'Logistic Regression', 'Naive Bayes', 'Decision Tree','Random Forest'$,
'Score': $accuracyknn/K, accuracylogreg/K, accuracygnb/K, accuracydt/K, accuracyrf/K$,
'BestAUC': $bestaucknn,bestauclogreg,bestaucgnb, bestaucdt,bestaucrf$})

# 欠采样

gTrain, gValid = train\_test\_split

## 逻辑回归

predsTrain = logreg.predict(gTrainUrandom)

predsTrain = logreg.predict(gTrain20Urandom)

predsTrain = logreg.predict(gTrrandom)

## 决策树

print("Train AUC:", metrics.roc\_auc\_score(ygTrds))

## 随机森林

print("Train AUC:", metrics.roc\_auc\_score(ygTr, predsTrain),
"Valid AUC:", metrics.roc\_auc\_score(ygVd, preds))

## KNN近邻

print("Train AUC:", metrics.roc\_auc\_score(ygTrm, predsTrain),
"Valid AUC:", metrics.roc\_auc\_score(ygVal10, preds))

## 高斯朴素贝叶斯

print("Train AUC:", metrics.roc\_auc\_score(ygTraom, predsTrain),
"Valid AUC:", metrics.roc\_auc\_score(ygid, preds))

# 过采样

feates = datolist()
print(feures)
feaes.remove('y')

print(gTrainOSM.shape)
(31945, 39)

smt = SMOT
(32345, 39)

smt = SMOT
(32595, 39)

ygTrain10OSM=gTrain10OSM$'y'$
gTrain10OSM=gTrain10OSM.drop(columns=$'y'$)

## 逻辑回归

print("Train AUC:", metrics.roc\_auc\_score(ygTrin10SM, predsTrain),
"Valid AUC:", metrics.roc\_auc\_score(ygValid, preds))

## 决策树

dt2.fit(,ygTranOS)
predsTrain = dtpreict(TrainOSM)
preds = dt2.predict(gValid)

## 随机森林

random_forest.fit(rainOSM, ygTranOS)
predsTrain = random_forest.prect(gTraiOSM)
p

## KNN近邻

classifier.fit(granOSM, yTanOSM)
predsTrain = classifier.predict(gTaiSM)
preds = classifier.predict(Vaid)

## 高斯朴素贝叶斯

gaussian.fit(gTriOM, ygrainM)
predsTrain = gaussian.predcti)

# 结论

|
1天前
|

10 1
|
2天前
|

Python网络爬虫实战：抓取并分析网页数据

48 9
|
2天前
|

Python在金融数据分析中扮演关键角色，用于预测市场趋势和风险管理。本文通过案例展示了使用Python库（如pandas、numpy、matplotlib等）进行数据获取、清洗、分析和建立预测模型，例如计算苹果公司（AAPL）股票的简单移动平均线，以展示基本流程。此示例为更复杂的金融建模奠定了基础。【6月更文挑战第13天】
17 3
|
4天前
|

【6月更文挑战第14天】如何用Python处理大数据分析？
16 4
|
4天前
|

18 0
|
4天前
|

14 0
|
4天前
|

10 0
|
7天前
|

【6月更文挑战第11天】PAI-DSW 和 Free Prompt Editing 算法引领图像编辑革命，创造出个人AIGC绘图小助理。PAI-DSW擅长深度图像处理，通过复杂模型和深度学习精准编辑；Free Prompt Editing则允许用户以文本描述编辑图像，拓展编辑创意。结合两者，小助理能根据用户需求生成惊艳图像。简单Python代码示例展示了其魅力，打破传统编辑局限，为专业人士和普通用户提供创新工具，开启图像创作新篇章。未来，它将继续进化，带来更多精彩作品和体验。
30 7
|
1天前
|

**摘要：** 了解AI、ML和DL的旅程。AI是模拟人类智能的科学，ML是其分支，让机器从数据中学习。DL是ML的深化，利用多层神经网络处理复杂数据。AI应用广泛，包括医疗诊断、金融服务、自动驾驶等。ML助力个性化推荐和疾病预测。DL推动计算机视觉和自然语言处理的进步。从基础到实践，这些技术正改变我们的生活。想要深入学习，可参考《人工智能：一种现代的方法》和《深度学习》。一起探索智能的乐趣！
18 1
|
2天前
|

26 7