基于机器学习的信用卡办卡意愿模型预测项目

基于机器学习的信用卡办卡意愿模型预测项目

在金融领域,了解客户的信用卡办卡意愿对于银行和金融机构至关重要。借助机器学习技术,我们可以根据客户的历史数据和行为模式预测其是否有办理信用卡的倾向。本项目通过Python中的机器学习库,构建了两个常用的分类模型:随机森林和逻辑回归,来预测客户的信用卡办卡意愿,通过使用Django框架通过构架可视化的方式分析数据。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数据准备

首先,我们从MySQL数据库中获取处理后的客户数据。这些数据经过预处理和特征工程,包含了客户的各种特征信息,以及是否流失的标签。

# 数据库连接和数据获取
import pandas as pd
import pymysql
from data.mapper import host, user, password, database# 连接MySQL数据库
conn = pymysql.connect(host=host,user=user,password=password,database=database
)# 从MySQL数据库中读取处理后的数据
query = "SELECT * FROM processed_customer_data"
df = pd.read_sql(query, conn)# 关闭数据库连接
conn.close()

模型训练与评估

随机森林模型
随机森林是一种集成学习方法,通过构建多个决策树来进行分类或回归。我们使用随机森林模型对客户的信用卡办卡意愿进行预测,并评估模型性能。

# 随机森林模型训练与评估
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score, classification_report, confusion_matrix# 特征与标签分割
X = df.drop(columns=['Attrition_Flag'])
y = df['Attrition_Flag']# 数据集划分
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=2)# 随机森林模型训练
rf_model = RandomForestClassifier()
rf_model.fit(X_train, y_train)# 模型预测
y_pred = rf_model.predict(X_test)# 模型评估
accuracy = accuracy_score(y_test, y_pred)
classification_rep = classification_report(y_test, y_pred)
conf_matrix = confusion_matrix(y_test, y_pred)

在这里插入图片描述

逻辑回归模型
逻辑回归是一种线性模型,常用于二分类问题。我们同样使用逻辑回归模型对客户的信用卡办卡意愿进行预测,并评估模型性能。

# 逻辑回归模型训练与评估
from sklearn.linear_model import LogisticRegression# 数据集划分
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 逻辑回归模型训练
logreg_model = LogisticRegression()
logreg_model.fit(X_train, y_train)# 模型预测
y_pred = logreg_model.predict(X_test)# 模型评估
accuracy = accuracy_score(y_test, y_pred)
classification_rep = classification_report(y_test, y_pred)
conf_matrix = confusion_matrix(y_test, y_pred)

在这里插入图片描述

数据可视化

我们使用Django作为后端框架实现数据可视化,通过Pyecharts库创建多种图表,以更直观地展示数据分布和模型评估结果。

# Django视图函数中的数据可视化
from django.shortcuts import render
from pyecharts.charts import Bar, Pie, Line
from pyecharts import options as opts
from pyecharts.globals import CurrentConfig, ThemeTypefrom web.service.task_service import get_custormer_age, get_income_category, get_education_level, get_credit_limit, \get_months_inactive_12_mondef bar_chart(request):# 获取客户年龄分布数据x, y = get_custormer_age()line = (Line().add_xaxis([str(age) for age in x]).add_yaxis("Count", y).set_global_opts(title_opts=opts.TitleOpts(title="客户年龄分布图"),xaxis_opts=opts.AxisOpts(name="Age"),yaxis_opts=opts.AxisOpts(name="Count"),))# 获取客户信用卡额度分布数据x1, y1 = get_credit_limit()line1 = (Line().add_xaxis([str(age) for age in x1]).add_yaxis("Count", y1).set_global_opts(title_opts=opts.TitleOpts(title="客户信用卡额度top10分布图"),xaxis_opts=opts.AxisOpts(name="Age"),yaxis_opts=opts.AxisOpts(name="Count"),))# 获取客户非活跃月数分布数据bar1 = Bar()x1, y1 = get_months_inactive_12_mon()bar1.add_xaxis(x1)bar1.add_yaxis("客户去年非活跃月数分布", y1)# 获取客户收入范围趋势数据bar = Bar()x, y = get_income_category()bar.add_xaxis(x)bar.add_yaxis("收入范围趋势图", y)# 获取客户教育水平分布数据pie = Pie()tuple = get_education_level()pie.add("教育水平分布图", tuple)# 获取图表的JavaScript代码line_js = line.render_embed()bar_js = bar.render_embed()pie_js = pie.render_embed()bar1_js = bar1.render_embed()line1_js = line1.render_embed()return render(request, 'charts/bar_chart.html', {'line': line_js, 'bar': bar_js, 'pie': pie_js, 'line1': line1_js, 'bar1': bar1_js})

在这里插入图片描述
在这里插入图片描述

总结

通过本项目,我们使用了机器学习模型预测了客户的信用卡办卡意愿,并通过Django实现了数据的可视化展示。这使得银行和金融机构能够更好地理解客户行为模式,并做出相应的业务决策。

如有遇到问题可以找小编沟通交流哦。另外小编帮忙辅导大课作业,学生毕设等。不限于python,java,大数据,模型训练等。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/800669.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS变换

CSS变换 根据 CSS 的变换的功能特性,它可以分为位移、旋转、缩放、倾斜和透视: 也可以分成2D变换和3D变换,2D变换是二维平面上进行的,即 X 轴和 Y 轴。这些变换不涉及 Z 轴。3D 变换允许元素在三维空间中进行操作,这些…

大学英语ab级题搜题软件?分享7个支持答案和解析的工具 #笔记#其他

合理利用学习辅助工具和资料,可以帮助大学生更好地组织学习内容、掌握知识点和提升学术水平。 1.智能翻译官 这是一款多语言在线翻译神器,除了最基础的英语以外,还支持日语、德语、俄语、法语等几十种语言文本翻译和拍照翻译,并…

php代码执行计划任务dos实现方式和宝塔面板实现方式

dos php 计划任务 echo off :loop echo 这是一个死循环 echo This is an infinite loop. php think gpt php think ai timeout /t 2 goto loop 宝塔面板 php 计划任务 #!/bin/bash PATH/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH ste…

关于Ansible模块 ⑤

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 继《关于Ansible的模块 ①》、《关于Ansible的模块 ②》与《关于Ansible的模块 ③》之后,继续学习ansible常用模块之…

如何利用Flutter将应用成功上架至iOS平台:详细指南

引言 🚀 Flutter作为一种跨平台的移动应用程序开发框架,为开发者提供了便利,使他们能够通过单一的代码库构建出高性能、高保真度的应用程序,同时支持Android和iOS两个平台。然而,完成Flutter应用程序的开发只是第一步…

医院要不要安装医疗设备漏费控费管理系统

19339904493(康溪) 不知道大家有没有去医院做过检查,比如说做B超、彩超、多普勒、胃肠镜、心电、脑电,核磁、CT、DR、X光、钼靶、生化分析仪、血球等。你们可能不知道,在做检查、检验的时候还会存在一个漏洞。医院的存…

HarmonyOS NEXT应用开发之@Link装饰器:父子双向同步

子组件中被Link装饰的变量与其父组件中对应的数据源建立双向数据绑定。 说明: 从API version 9开始,该装饰器支持在ArkTS卡片中使用。 概述 Link装饰的变量与其父组件中的数据源共享相同的值。 限制条件 Link装饰器不能在Entry装饰的自定义组件中使用…

Java常用API_时间

一,JDK7时间: 1.Date: 我先通过一段代码简单展示一下它的几个方法及功能 代码: 这里要注意的是 时间原点:1970年1月1日 00:00:00 中国的时间原点:由于中国处在东八区,时间原点要晚上8小时&…

MySQL 主从 AUTO_INCREMENT 不一致问题分析

本文介绍了 MySQL5.7 中常见的replace into 操作造成的主从auto_increment不一致现象,一旦触发了主从切换,业务的正常插入操作会触发主键冲突的报错提示。 一、问题描述 1.1 问题现象 在 MySQL 5.7 版本中,REPLACE INTO 操作在表存在自增主键…

nssm 工具把asp.net core mvc变成 windows服务,使用nginx反向代理访问

nssm工具的作用&#xff1a;把项目部署成Windows服务&#xff0c;可以在系统后台运行 1.创建一个asp.net core mvc的项目weblication1 asp.net core mvc项目要成为windows服务需要安装下面的nuget包 <ItemGroup><PackageReference Include"Microsoft.Extension…

2_7.Linux中的无人值守安装脚本kickstart

## 一.kickstart自动安装脚本的作用 ## #在企业中安装多台操作系统时面临的问题# 当安装Linux操作系统时&#xff0c;安装过程会需要回答很多关于设定的问题 这些问题必须手动选择&#xff0c;否则无法进行安装 当只安装1台Linux系统&#xff0c;手动选择设定工作量比较轻松 当…

『VUE』14. Style绑定(详细图文注释)

目录 行内css动态样式对象引入数组引入代码演示总结 欢迎关注 『VUE』 专栏&#xff0c;持续更新中 欢迎关注 『VUE』 专栏&#xff0c;持续更新中 大体上和前面的class绑定是一致的,只是class换成了style. 请注意,实际开发中,我们一般建议用class,因为style的权重太高了,用sty…

边缘计算采集网关如何助力制造企业解决数采问题-天拓四方

一、企业背景 某大型制造企业&#xff0c;位于国内某经济发达的工业园区内&#xff0c;拥有多个生产线和智能化设备&#xff0c;致力于提高生产效率、降低运营成本。随着企业规模的扩大和生产自动化的推进&#xff0c;该企业面临着海量数据处理、实时响应和网络安全等多重挑战…

ElementUI使用问题记录:设置路由+iconfont图标+自定义表单验证

一、关于导航怎么设置路由 1、在el-menu这个标签的属性中添加 router ,官方文档的解释是&#xff1a;启用vue-router 这种模式 2、在el-menu-item标签中的index属性直接书写路由&#xff0c;就可以实现正常vue-router了 3、在el-menu-item标签中书写路由属性&#xff1a;:route…

【C++进阶】哈希的应用之位图和布隆过滤器

位图和布隆过滤器 一&#xff0c;位图1. 实现2. 位图的应用 二&#xff0c;布隆过滤器1. 使用场景2. 模拟实现 三&#xff0c;海量数据面试题哈希切分 四&#xff0c;总结 这一节我们来看哈希的应用 一&#xff0c;位图 先来看一个面试题 这里如果用unordered_set来解决&…

C++11可变模板参数:海纳百川的Args

目录 一、可变模板参数的概念及功能 1.1Args的概念与使用 1.2获取args中的参数 二、emplace可变模板参数的实际应用 三、逗号表达式展开参数包 一、可变模板参数的概念及功能 1.1Args的概念与使用 C11的新特性可变参数模板能够让您创建可以接受可变参数的函数模板和类模板…

二维码门楼牌管理应用平台建设:物业缴费的数字化革新

文章目录 前言一、物业缴费的数字化革新二、在线缴费功能的实现三、智能化缴费管理的优势四、面临的挑战与未来展望五、结语 前言 随着科技的不断进步&#xff0c;二维码门楼牌管理应用平台已成为物业管理的新趋势。在这样一个平台上&#xff0c;物业缴费的数字化革新不仅提高…

【计算机网络】TCP协议可靠传输保证(序列号/确认应答机制、超时重传、最长消息长度、滑动窗口控制、拥塞控制)

TCP协议可靠传输 1.序列号确认应答机制2.超时重传3.最长消息长度4.滑动窗口控制5.拥塞控制 1.序列号确认应答机制 这个机制类似于问答的形式。比如在课堂上老师会问你“明白了吗&#xff1f;”&#xff0c;假如你没有隔一段时间没有回应或者你说不明白&#xff0c;那么老师就会…

橘子学JDK之JMH-03(@State)

这里我们来搞官方的第三个案例&#xff0c;引入新的注解State。 一、案例三代码 package com.levi;/*** Description:* Author: Levi* Date: 2024/4/8 18:44*/import org.openjdk.jmh.annotations.*; import org.openjdk.jmh.runner.Runner; import org.openjdk.jmh.runner.R…

【YOLOV8】项目目录重点部分介绍和性能评估指标

目录 一 项目目录重点部分介绍 二 性能评估指标 一 项目目录重点部分介绍 1 ultralytics