实战案例|金融行业客户流失预警模型~

简介: 大家好,我是志斌~今天跟大家分享一下逻辑回归模型在商业实战中的应用。

00原理


逻辑回归模型的主要用途是判断某物品属于A类、B类、C类...的概率,概率的取值范围是(0,1),因为线性回归方程的取值是(-∞,+∞),我们无法直接使用线性回归方程,所以我们需要利用Sigmoid函数进行转换,将(-∞,+∞)转化为(0,1)。Sigmoid函数图像,如下图所示。


61.png


Sigmoid函数图像绘制代码为:


import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-10,10)
y = 1.0 / (1.0+np.exp(-x))
ax = plt.gca() 
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.spines['bottom'].set_position(('data', 0))  
ax.spines['left'].set_position(('data', 0))
plt.plot(x,y)
plt.show()


有了概率,就可以开始预测分类了,根据概率的大小,来判定物品属于哪个分类。下面用一个实际案例来跟大家演示一下。


01概述


大家知道,股民在股市中的每一笔交易,都需要给其账户所在的证券公司支付一笔手续费,这笔费用对于证券公司来说,是一笔非常可观的收入。


如果一个股民不在该证券公司进行交易,那么这个股民就流失了,证券公司也就失去了一个收入来源。因此,证券公司为了预防股民流失会搭建一套客户流失预警模型,来对股民流失概率进行预测,对流失概率大的客户采取相应的挽回措施。


本文以客户流失预警模型为例来跟大家分享逻辑回归模性在商业实战中的应用。


02数据预处理


我们先读取数据,并对其进行预处理。

01

读取数据


import pandas as pd
df = pd.read_excel('股票客户流失.xlsx')
df.head(10)


66.png


划分数据集


逻辑回归模型在搭建和使用前,需要将数据集分为训练集和测试集。前者用于对模型的搭建,后者是为了检验模型。

from sklearn.model_selection import train_test_split
X = df.drop(columns='是否流失')
Y = df['是否流失']
X_train,X_test,Y_train,Y_test = train_test_split(X,Y,test_size=0.2)  # test_size可以调节测试集大小


03模型搭建和使用


上面我们已经将数据集划分好,接下来我们可以开始对模型进行搭建和使用了。


01 模型搭建


Python的Sklearn库已经将模型给集成了,我们只需要调用使用即可。

from sklearn.linear_model import LogisticRegression  # 引入回归模型
model = LogisticRegression()
model.fit(X_train,Y_train)                # 进行训练


02

模型使用


逻辑回归模型是用来预测结果的方式为:


Y_predict = model.predict(X_test)   # 预测结果


对前10个预测结果观察发现,预测准确度为90%。


67.png


查看模型的预测准确度可以使用score函数,代码如下:


model.score(X_test,Y_test)    # 查看模型预测准确度


得到结果为:78.7%,看来该模型搭建的不错。


04小结


  1. 本文简单介绍了逻辑回归模型原理,并搭建客户流失预警模型来进行实战操作,有兴趣的读者可以自己复现一下。
  2. 模型搭建好后,还需要进行评估,下一篇文章教大家怎么用ROC曲线和KS曲线对模型进行评估。
  3. 本文仅供参考学习,不做它用。
  4. 有需要本文数据集和代码的,联系志斌获取~


相关文章
手机号码段自动生成器
海豚号码生成器,是一个在电脑上常用的办公软件。但是有些对电脑不太会操作的朋友们还是不太明白它的操作方法。它具有多种手机号码生成功能、号码导入手机通讯录和对号码进行综合整理的功能。具体说有这七种功能:手机号码随机生成功能、手机豹子号靓号生成功能、自定义手机号段生成功能、手机号码批量导入手机通讯录功能、杂乱文本中提取手机号码功能、手机号码打印前排版功能、手机号码综合整理功能。 下面我详细讲解七大功能之一的自定义手机号段生成的操作方法,以便帮到更多不太会操作电脑软件的朋友们。 自导入号段生成的操作步骤: 第一步:导入号码段。你自己来输入某个前七位的号段,多个号段也可以批量导入,txt格式里面一个号段
手机号码段自动生成器
|
4月前
|
存储 SQL 人工智能
​​告别AI“纸上谈兵”?解锁LangGraph+OceanBase数据融合构建Agent蓝图
本文探讨企业级AI应用落地难题,分析为何许多AI项目上线后无人问津,指出核心在于真实业务需求复杂、数据割裂导致检索效率低下。文章提出通过构建融合AI数据底座,实现多模态数据统一存储与混合检索,并结合实战Demo展示如何提升AI应用效果,助力企业真正发挥AI的商业价值。
262 2
|
9月前
|
存储 人工智能 监控
星云智控科技-优雅草星云物联网AI智控系统软件产品技术栈一览表-优雅草卓伊凡
星云智控科技-优雅草星云物联网AI智控系统软件产品技术栈一览表-优雅草卓伊凡
297 7
星云智控科技-优雅草星云物联网AI智控系统软件产品技术栈一览表-优雅草卓伊凡
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
AI专业术语解析
本文围绕AI领域常见专业术语展开解析,涵盖基础概念、模型与算法、数据处理、生成式人工智能、自然语言处理等多个方面。基础概念类包括人工智能、机器学习、深度学习等,详细阐述其定义、原理及应用场景。模型与算法类涉及支持向量机、决策树、生成对抗网络等。数据处理类介绍了数据标注、特征工程、模型评估等。生成式人工智能相关术语有生成式AI、文本生成、图像生成等。自然语言处理方面涵盖分词、词向量、注意力机制等。此外,还解释了大模型、小样本学习、端到端、对齐等其他专业术语,为读者理解AI领域提供了全面且深入的参考。
1761 4
|
安全 Unix Linux
Windows如何远程连接服务器?服务器远程连接图文教程
服务器操作系统可以实现对计算机硬件与软件的直接控制和管理协调,任何计算机的运行离不开操作系统,服务器也一样,服务器操作系统主要分为四大流派:Windows Server、Netware、Unix和Linux。今天驰网飞飞将和你分享Windows server远程连接图文教程,希望可以帮助到你
5838 4
Windows如何远程连接服务器?服务器远程连接图文教程
|
SQL 存储 分布式计算
MaxCompute近实时数仓能力升级
本文介绍了阿里云自研的离线实时一体化数仓,重点涵盖MaxCompute和Hologres两大产品。首先阐述了两者在ETL处理、AP分析及Serverless场景中的核心定位与互补关系。接着详细描述了MaxCompute在近实时能力上的升级,包括Delta Table形态、增量计算与查询支持、MCQ 2.0的优化等关键技术,并展示了其性能提升的效果。最后展望了未来在秒级数据导入、多引擎融合及更高效资源利用方面的改进方向。
|
Apache 图形学
WebGL☀️Unity WebGL适配到各平台的教程
WebGL☀️Unity WebGL适配到各平台的教程
|
存储 JavaScript 开发者
【Docker】什么是Docker镜像?
【4月更文挑战第20天】【Docker】什么是Docker镜像?
|
弹性计算 运维 安全
阿里云服务器Windows和Linux操作系统区别对比
阿里云服务器Windows和Linux操作系统区别对比,性能有差异吗?有,同配置下Linux性能要优于Windows,但这与阿里云无关,仅仅是linux和windows之间的区别。另外,阿里云提供的windows和linux操作系统均为正版授权,用户不需要额外支付许可费用,如何选择?看用户自己的应用程序情况。
|
存储 监控 算法
JVM调优深度剖析:内存模型、垃圾收集、工具与实战
【10月更文挑战第9天】在Java开发领域,Java虚拟机(JVM)的性能调优是构建高性能、高并发系统不可或缺的一部分。作为一名资深架构师,深入理解JVM的内存模型、垃圾收集机制、调优工具及其实现原理,对于提升系统的整体性能和稳定性至关重要。本文将深入探讨这些内容,并提供针对单机几十万并发系统的JVM调优策略和Java代码示例。
358 2