逻辑回归和神经网络(原理+应用)

news2024/10/6 18:26:02

目录

一、背景介绍

二、题目要求

三、逻辑回归(Logistic Regression)与神经网络

四、输入输出变量

五、效果评估Gains介绍

六、模型构建


具体应用:预测客户是否有意预订有线电视交互服务

一、背景介绍

当今时代,有线电视交互服务已经成为人们日常生活中的一个重要组成部分。这种服务能够提供多样化的娱乐和信息,吸引了越来越多的消费者。然而,对于电视运营商来说,如何判断客户是否有意向预订这种服务是一个非常重要的问题。如果可以在客户购买前就预测出客户是否有购买该服务的意向,那么电视运营商就能够制定相应的销售策略来提高销售额。因此,通过机器学习算法来预测客户是否有意购买有线电视交互服务是一个非常有实际应用价值的任务。而逻辑回归和神经网络是常用的分类算法,可以用于这个任务。在本文中,我们将介绍如何使用逻辑回归和神经网络来预测客户是否有意购买有线电视交互服务,并分析模型的准确性和性能。

二、题目要求

业务:预测客户是否有意预订有线电视交互服务;

输入变量:年龄、性别、教育、收入类别、每天看电视的时间和子女数

输出变量:NEWSCHAN

算法:逻辑回归和神经网络

效果评估:Gains

三、逻辑回归(Logistic Regression)与神经网络

逻辑回归是一种广泛应用于二分类问题的线性模型。它基于输入特征的线性组合,通过一个sigmoid函数将输出映射到0和1之间的概率值。逻辑回归可以用于预测某个样本属于某个类别的概率。逻辑回归也称作logistic回归分析,是一种广义的线性回归分析模型,属于机器学习中的监督学习。其推导过程与计算方式类似于回归的过程,但实际上主要是用来解决二分类问题(也可以解决多分类问题)。通过给定的n组数据(训练集)来训练模型,并在训练结束后对给定的一组或多组数据(测试集)进行分类。其中每一组数据都是由p 个指标构成。

神经网络(也称为人工神经网络)是一种模仿人脑神经元之间连接的数学模型。它由输入层、隐藏层(可能有多层)和输出层组成。每个神经元都接收来自上一层神经元的输入,经过权重和激活函数的处理后,将输出传递给下一层神经元。神经网络通过学习调整权重来逼近训练数据的输出。

相比逻辑回归,神经网络在处理非线性问题时更加强大。神经网络可以通过调整隐藏层的神经元数量和层级,以及选择不同的激活函数和损失函数,来适应各种复杂的数据模式。它在计算机视觉、自然语言处理和推荐系统等领域取得了很大成功。

四、输入输出变量

在预测客户是否有意预订有线电视交互服务的问题中,有多个输入变量可以用于构建逻辑回归或神经网络模型。以下是一些常用的输入变量:

(1)年龄:客户的年龄是一个重要的输入变量,因为年龄可能会影响客户的观点、需求和心理特征。年龄可以被视为一种重要的社会属性,其对人们的观念和行为产生了深远的影响。

(2)性别:性别也是一个重要的输入变量,因为男女在消费行为和需求上有着显著的差异。例如,女性倾向于购买家庭用品和生活用品,而男性则更加关注个人化、科技和游戏娱乐。

(3)教育:客户的受教育程度可能会影响他们对于有线电视服务的需求和兴趣。通常来说,受过高等教育的人可能更加关注新闻、文化、娱乐等方面,对于有线电视交互服务也更有需求。

(4)收入类别:客户的收入水平可能会影响他们的需求和购买能力。通常来说,高收入人群相对会更多消费,更倾向于订购一些更加高端、高质的有线电视服务。

(5)每天看电视的时间:这是另一个重要的变量,可以反映客户对电视服务的需求。如果一个客户经常看电视,可能会更有兴趣尝试各种不同的有线电视服务。

(6)子女数:有孩子的家庭可能会有更高的消费能力,并需要订购更多的有线电视服务,例如亲子频道或教育频道。

通过这些输入变量,逻辑回归或神经网络模型可以尝试预测客户是否有意预订有线电视交互服务,帮助有线电视运营商更好地了解客户需求,制定更好的销售策略和服务。

在预测客户是否有意预订有线电视交互服务的问题中,一个重要的输出变量是NEWSCHAN,即新闻频道。 它是指客户是否订阅了有线电视运营商提供的新闻频道服务。 新闻频道是有线电视服务的一个重要组成部分,提供丰富的新闻资讯和专题节目,受到了广大观众的喜爱。NEWSCHAN这个输出变量是一个二元变量,1表示订阅了新闻频道服务,0表示没有订阅。它是一个关键的预测变量,因为与有线电视交互服务相关的特征很可能与订阅新闻频道服务有关。比如说,一个客户订阅了新闻频道服务,很可能表明他们对新闻和信息的需求比较高,同时也可能意味着他们对其他有线电视服务的需求也比较高。输出变量NEWSCHAN的预测结果,将为电视运营商的公司发展和销售策略做出决策提供有价值的信息。 如果通过逻辑回归或神经网络等分类算法能够成功的预测出客户是否订阅了新闻频道服务,将可以为电视公司提供重要的数据支持,以便公司能够更好地为客户定制服务。

五、效果评估Gains介绍

在机器学习中,对模型性能进行评估非常重要,选择适当的评估指标是保证模型成功的关键之一。Gains是一种常用的评估模型性能的方式,它可以衡量分类算法在预测结果时的效果,并与随机方法进行比较。

Gains原理的核心是,将样本按照预测结果的概率值从高到低进行排序,然后计算分类算法在不同预测概率值下的累积收益率曲线。累积收益率曲线(Cumulative Gain Curve)展示了针对某个标注为1的类别问题的(比如说欺诈检测)在不同置信区间内预测的准确率。通常情况下,我们需要确认两个基准线。第一个基准线指的是总人口比例下标注为1的比例,第二个基准线是在保持总人口比例的同时,标注为1的人数/max(1,标注为1的总人数)。将累积收益率曲线与随机曲线进行比较可以评估模型的准确性和性能。随机曲线表示的是随机预测的结果,它帮助我们评估模型准确率的下限。如果模型的累积收益率曲线高于随机曲线,就说明分类器的性能比随机猜测要好。

Gains方法的优点是简单易用,并且可以用来比较不同算法的表现。它也有缺点,比如它不能检测出分类过程中的错误,而只能衡量预测的准确度。因此,在使用Gains方法时需要注意解释结果的含义以及它的有限性。

六、模型构建

代码:

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.neural_network import MLPClassifier
from sklearn.impute import SimpleImputer
from sklearn.metrics import classification_report, roc_curve, auc
import matplotlib.pyplot as plt

# 读取Excel数据
data_path = r'E:\研究生学习\人工智能训练营\第三次作业\TVdata.xlsx'
df = pd.read_excel(data_path)

# 提取输入变量和输出变量
X = df[['EDUCATE', 'GENDER', 'AGE', 'TVDAY', 'ORGS', 'CHILDS', 'INC']]
y = df['NEWSCHAN']

# 使用SimpleImputer将缺失值填充为0
imputer = SimpleImputer(strategy='constant', fill_value=0)
X = imputer.fit_transform(X)

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 构建逻辑回归模型
logreg = LogisticRegression()
logreg.fit(X_train, y_train)

# 在测试集上进行预测
logreg_pred = logreg.predict(X_test)

# 输出分类报告
print("逻辑回归分类报告:")
print(classification_report(y_test, logreg_pred))

# 计算ROC曲线的参数
y_scores = logreg.predict_proba(X_test)[:, 1]
fpr, tpr, thresholds = roc_curve(y_test, y_scores)
roc_auc = auc(fpr, tpr)

# 绘制ROC曲线
plt.plot(fpr, tpr, color='darkorange', lw=2, label='ROC curve (area = %0.2f)' % roc_auc)
plt.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Receiver Operating Characteristic')
plt.legend(loc="lower right")
plt.show()

结果:

输出逻辑回归模型在测试集上的分类报告。这个报告包含了一些评估指标,用于衡量模型的性能。

分类报告中的每一行代表一个类别,包括"precision"(精确率)、"recall"(召回率)、"f1-score"(F1值)和"support"(支持度)等指标。

下面是对分类报告中每个指标的解释:

1.precision(精确率):对于类别0,模型预测为0的样本中,有64%是真正的0。对于类别1,模型预测为1的样本中,有62%是真正的1。精确率衡量了模型预测为某个类别时的准确性。

2.recall(召回率):对于类别0,模型成功找到了73%的真正0样本。对于类别1,模型成功找到了51%的真正1样本。召回率衡量了模型对于某个类别的识别能力。

3.f1-score(F1值):F1值是精确率和召回率的加权调和平均值。对于类别0,F1值为0.68;对于类别1,F1值为0.56。F1值综合考虑了精确率和召回率,是一个综合性的评估指标。

4.support(支持度):测试集中每个类别的样本数量。对于类别0,有48个样本;对于类别1,有41个样本。

最后,还输出了整体的准确率(accuracy),为0.63。准确率是模型在整个测试集上预测正确的样本比例。

图形部分会绘制逻辑回归模型在测试集上的ROC曲线。ROC曲线是二分类问题中常用的评估指标,它表示了分类器在不同阈值下的真阳性率(True Positive Rate)与假阳性率(False Positive Rate)之间的关系。曲线下面积(AUC)是ROC曲线下方的面积,用于衡量分类器的性能,AUC值越接近1,说明分类器的性能越好。这个数据的ROC的值为0.71

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

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

相关文章

【JavaEE 初阶(四)】多线程进阶

❣博主主页: 33的博客❣ ▶️文章专栏分类:JavaEE◀️ 🚚我的代码仓库: 33的代码仓库🚚 🫵🫵🫵关注我带你了解更多线程知识 目录 1.前言2.常见的锁策略2.1悲观锁vs乐观锁2.2轻量级锁vs重量级锁2.3自旋锁vs挂起锁2.4读写…

JS控制台代码:淘宝PC网页付款页面定时确认付款

淘宝定时抢东西用的 必须先输入完正确密码,考虑上了网络延迟,程序提前一秒钟点击确认,可自行修改: function checkTime() {var now new Date();var hours now.getHours();var minutes now.getMinutes();var seconds now.getS…

线程池核心原理浅析

前言 由于系统资源是有限的,为了降低资源消耗,提高系统的性能和稳定性,引入了线程池对线程进行统一的管理和监控,本文将详细讲解线程池的使用、原理。 为什么使用线程池 池化思想 线程池主要用到了池化思想,池化思想…

vivado 低级别 SVF JTAG 命令

低级别 SVF JTAG 命令 注释 : 在 Versal ™ 器件上不支持 SVF 。 低级别 JTAG 命令允许您扫描多个 FPGA JTAG 链。针对链操作所生成的 SVF 命令使用这些低级别命令来访问链中的 FPGA 。 报头数据寄存器 (HDR) 和报头指令寄存器 (HIR) 语法 HDR length […

健康知识集锦

页面 页面代码 <% layout(/layouts/default.html, {title: 健康知识管理, libs: [dataGrid]}){ %> <div class"main-content"><div class"box box-main"><div class"box-header"><div class"box-title"&g…

CDGA|电子行业数据治理六大痛点及突围之道

CDGA|电子行业数据治理六大痛点及突围之道 随着信息技术的迅猛发展&#xff0c;电子行业对数据的需求和依赖日益增强。然而&#xff0c;数据治理作为确保数据质量、安全性及有效利用的关键环节&#xff0c;在电子行业中却面临着一系列痛点。本文将深入探讨电子行业数据治理的六…

基于LMV358的负电源架构

嘿UU们&#xff0c;中午好啊&#xff01;吃了没&#xff1f;算算时间我的餐桌上应该快上杨梅和鱼胶冻了。 今天看某群&#xff0c;突然想到Jim williams的书里一个架构&#xff0c;但老爷子的东西是正负输出的&#xff0c;而且略微有点麻烦&#xff0c;我就想怎么样整个更适合…

实现网站HTTPS访问:全面指南

在当今网络安全至关重要的时代&#xff0c;HTTPS已经成为网站安全的基本标准。HTTPS&#xff08;超文本传输安全协议&#xff09;通过在HTTP协议基础上加入SSL/TLS加密层&#xff0c;确保了数据在用户浏览器和服务器之间的传输是加密的&#xff0c;有效防止数据被窃取或篡改&am…

专题六_模拟(2)

目录 6. Z 字形变换 解析 题解 38. 外观数列 解析 题解 6. Z 字形变换 6. Z 字形变换 - 力扣&#xff08;LeetCode&#xff09; 解析 题解 class Solution { public:string convert(string s, int numRows) {// 42.专题六_模拟_N 字形变换_C// 处理边界情况if (numRows …

多线程典型例子(4)——线程池

文章目录 一、线程池的基本情况1.1、使用线程池的必要性1.2、线程池为什么比直接在系统中创建线程更高效&#xff1f;1.2.1、纯内核态操作1.2.2、纯用户态操作 1.3、那为什么用户态操作比内核态操作更高效&#xff1f;二、如何在Java中使用线程池2.1、ExecutorService2.1、Thre…

常见JavaWeb混合Vue.js课设中的要点

在校期间我们要做很多课设&#xff0c;实际上&#xff0c;学校教的大概率不足以让多数学生独立做出系统。在网上随便一搜&#xff0c;大抵都是千篇一律的“XXXX”管理系统。这些项目出于方便&#xff0c;往往采用vue作为前端框架而不用原生的JavaScript。 vue的本质要点是避免原…

FPGA HDMI Sensor无线航模摄像头

FPGA方案&#xff0c;接收摄像头sensor 图像数据后&#xff0c;通过HDMI输出到后端 客户应用&#xff1a;无线航模摄像头 主要特性&#xff1a; 1.支持2K以下任意分辨率格式 2.支持多种型号sensor 3.支持自适应摄像头配置&#xff0c;并补齐输出时序 4.可定制功能&#xff…

一文详解|影响成长的关键思考(二)

之前写过一篇《一文详解&#xff5c;影响成长的关键思考》&#xff0c;里面对自己工作前几年的心法进行了总结&#xff0c;并分享了出来。现在又工作了一段时间后&#xff0c;有了一些新的体会&#xff0c;想进一步分析一下&#xff0c;于是便有了此文。的确&#xff0c;思考也…

2024服贸会,参展企业媒体宣传报道攻略

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 2024年中国国际服务贸易交易会&#xff08;简称“服贸会”&#xff09;是一个重要的国际贸易平台&#xff0c;对于参展企业来说&#xff0c;有效的媒体宣传报道对于提升品牌知名度、扩大…

docker学习笔记(五):harbor仓库搭建与简单应用

harbor私有仓库 简介 Docker容器应用的开发和运行离不开可靠的镜像管理&#xff0c;虽然Docker官方也提供了公共的镜像仓库&#xff0c;但是从安全和效率等方面考虑&#xff0c;部署私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管…

【快捷部署】022_ZooKeeper(3.5.8)

&#x1f4e3;【快捷部署系列】022期信息 编号选型版本操作系统部署形式部署模式复检时间022ZooKeeper3.5.8Ubuntu 20.04tar包单机2024-05-07 一、快捷部署 #!/bin/bash ################################################################################# # 作者&#xff…

晶片的厚度会影响晶振的频率吗?

晶振&#xff0c;是一种能够产生稳定频率的电子元件&#xff0c;广泛应用于各种电子设备中。晶振的频率参数&#xff0c;即其振荡产生的频率大小&#xff0c;是晶振性能的重要指标之一。石英晶体的切割方式显得至关重要。不同的切割方式&#xff0c;如AT-cut、CT-cut、SC-cut等…

实力再获认可!WeTrade荣获“最佳交易流动性”大奖

WeTrade在泰国举行的颁奖典礼上荣获“最佳交易流动性”奖项。 颁奖典礼于2024年4月28日在曼谷 Grande Centre Point Surawong 隆重举行&#xff0c;与FastBull 2024交易影响力颁奖典礼同期举办。FastBull是一家全球领先的金融资讯平台&#xff0c;覆盖全球多市场金融服务&…

推荐4个可用的github国内镜像

Github是全球最大的代码托管云平台&#xff0c;超过1亿用户在平台上分享代码及数据&#xff0c;深受生物信息学软件开发者的喜爱&#xff0c;并且现在发表文章&#xff0c;若涉及到代码&#xff0c;编辑还要求我们把代码及数据存放在github上&#xff0c;以便检查数据的真实性和…

风电齿轮箱轴承为风电齿轮箱核心部件 滑动轴承为其主要类型

风电齿轮箱轴承为风电齿轮箱核心部件 滑动轴承为其主要类型 风电齿轮箱轴承全称为风力发电机组齿轮箱轴承&#xff0c;为风电齿轮箱核心部件&#xff0c;起到减少摩擦损失、支撑齿轮等作用。风电齿轮箱轴承具备耐腐蚀、可靠性高、体积小、使用寿命长等优势&#xff0c;在大型风…