Python实现离散选择负二项式模型(NegativeBinomial算法)项目实战

这篇具有很好参考价值的文章主要介绍了Python实现离散选择负二项式模型(NegativeBinomial算法)项目实战。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。

Python实现离散选择负二项式模型(NegativeBinomial算法)项目实战,机器学习,python,python,机器学习,离散选择负二项式模型,项目实战,分类模型

Python实现离散选择负二项式模型(NegativeBinomial算法)项目实战,机器学习,python,python,机器学习,离散选择负二项式模型,项目实战,分类模型

1.项目背景

离散选择负二项式模型是一种统计和经济计量模型,它结合了离散选择理论与负二项分布的特点来分析计数型的离散决策变量。在实际应用中,这种模型主要用于处理那些具有“过度分散”(overdispersion)特性的计数数据,即观测到的数据方差显著大于基于某种简单概率模型(如泊松回归模型)所预测的方差。

在离散选择框架下,个体通常会从一系列选项中做出决策,每个选项对应一个特定的计数值(比如消费者购买产品的数量、企业在一定时期内的项目投资次数等)。负二项式分布可以灵活地捕捉到不同决策背后的成功或失败试验次数以及成功之间的异质性,同时允许因变量的方差独立于其期望值而变化。

因此,离散选择负二项式模型常用于估计个体在不同情境下选择某一数量级别的概率,尤其是在社会科学、经济学、市场营销等领域,当研究对象是计数数据且存在过度离散现象时。模型参数通常用来解释影响决策的各种因素及其效应大小。

本项目通过NegativeBinomial算法来构建负二项式模型。  

2.数据获取

本次建模数据来源于网络(本项目撰写人整理而成),数据项统计如下:

编号 

变量名称

描述

1

x1

2

x2

3

x3

4

x4

5

x5

6

x6

7

x7

8

x8

9

x9

10

x10

11

y

数据详情如下(部分展示):

Python实现离散选择负二项式模型(NegativeBinomial算法)项目实战,机器学习,python,python,机器学习,离散选择负二项式模型,项目实战,分类模型

3.数据预处理

3.1 用Pandas工具查看数据

使用Pandas工具的head()方法查看前五行数据: 

Python实现离散选择负二项式模型(NegativeBinomial算法)项目实战,机器学习,python,python,机器学习,离散选择负二项式模型,项目实战,分类模型

关键代码:

Python实现离散选择负二项式模型(NegativeBinomial算法)项目实战,机器学习,python,python,机器学习,离散选择负二项式模型,项目实战,分类模型

3.2 数据缺失查看

使用Pandas工具的info()方法查看数据信息:

Python实现离散选择负二项式模型(NegativeBinomial算法)项目实战,机器学习,python,python,机器学习,离散选择负二项式模型,项目实战,分类模型       

从上图可以看到,总共有11个变量,数据中无缺失值,共2000条数据。

关键代码:

Python实现离散选择负二项式模型(NegativeBinomial算法)项目实战,机器学习,python,python,机器学习,离散选择负二项式模型,项目实战,分类模型

3.3 数据描述性统计

通过Pandas工具的describe()方法来查看数据的平均值、标准差、最小值、分位数、最大值。

Python实现离散选择负二项式模型(NegativeBinomial算法)项目实战,机器学习,python,python,机器学习,离散选择负二项式模型,项目实战,分类模型

关键代码如下:    

Python实现离散选择负二项式模型(NegativeBinomial算法)项目实战,机器学习,python,python,机器学习,离散选择负二项式模型,项目实战,分类模型

4.探索性数据分析

4.1 y变量柱状图

用Matplotlib工具的plot()方法绘制柱状图:

Python实现离散选择负二项式模型(NegativeBinomial算法)项目实战,机器学习,python,python,机器学习,离散选择负二项式模型,项目实战,分类模型

4.2 y=1样本x1变量分布直方图

用Matplotlib工具的hist()方法绘制直方图:

Python实现离散选择负二项式模型(NegativeBinomial算法)项目实战,机器学习,python,python,机器学习,离散选择负二项式模型,项目实战,分类模型

4.3 相关性分析

Python实现离散选择负二项式模型(NegativeBinomial算法)项目实战,机器学习,python,python,机器学习,离散选择负二项式模型,项目实战,分类模型

从上图中可以看到,数值越大相关性越强,正值是正相关、负值是负相关。  

5.特征工程

5.1 建立特征数据和标签数据

关键代码如下:

Python实现离散选择负二项式模型(NegativeBinomial算法)项目实战,机器学习,python,python,机器学习,离散选择负二项式模型,项目实战,分类模型

5.2 数据集拆分

通过train_test_split()方法按照80%训练集、20%测试集进行划分,关键代码如下:

Python实现离散选择负二项式模型(NegativeBinomial算法)项目实战,机器学习,python,python,机器学习,离散选择负二项式模型,项目实战,分类模型

6.构建负二项式模型

主要使用NegativeBinomial算法,用于目标分类。

6.1 构建模型

编号

模型名称

参数

1

负二项式模型 

默认参数

6.2 模型的摘要信息

Python实现离散选择负二项式模型(NegativeBinomial算法)项目实战,机器学习,python,python,机器学习,离散选择负二项式模型,项目实战,分类模型

7.模型评估

7.1 评估指标及结果

评估指标主要包括准确率、查准率、查全率、F1分值等等。

模型名称

指标名称

指标值

测试集

负二项式模型

准确率

0.8075

查准率

0.7602

查全率

 0.875

F1分值

0.8136

从上表可以看出,F1分值为0.8136,说明模型效果较好。 

关键代码如下:   

Python实现离散选择负二项式模型(NegativeBinomial算法)项目实战,机器学习,python,python,机器学习,离散选择负二项式模型,项目实战,分类模型

7.2 分类报告

Python实现离散选择负二项式模型(NegativeBinomial算法)项目实战,机器学习,python,python,机器学习,离散选择负二项式模型,项目实战,分类模型      

从上图可以看出,分类为0的F1分值为0.80;分类为1的F1分值为0.81。

7.3 混淆矩阵

Python实现离散选择负二项式模型(NegativeBinomial算法)项目实战,机器学习,python,python,机器学习,离散选择负二项式模型,项目实战,分类模型

从上图可以看出,实际为0预测不为0的 有53个样本;实际为1预测不为1的 有24个样本,整体预测准确率良好。   

8.结论与展望

综上所述,本文采用了NegativeBinomial算法来构建负二项式模型,最终证明了我们提出的模型效果良好。此模型可用于日常产品的预测。  文章来源地址https://www.toymoban.com/news/detail-812247.html

# 本次机器学习项目实战所需的资料,项目资源如下:
 
# 项目说明:
 
# 获取方式一:
 
# 项目实战合集导航:
 
https://docs.qq.com/sheet/DTVd0Y2NNQUlWcmd6?tab=BB08J2
 
# 获取方式二:

链接:https://pan.baidu.com/s/1MHmxzubKZcmwR4frXgScXg 
提取码:37on

到了这里,关于Python实现离散选择负二项式模型(NegativeBinomial算法)项目实战的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python实现离散选择Logit模型(Logit算法)项目实战

    说明:这是一个机器学习实战项目(附带 数据+代码+文档+视频讲解 ),如需 数据+代码+文档+视频讲解 可以直接到文章最后获取。 Logit模型(Logit model,也译作“评定模型”,“分类评定模型”,又作Logistic regression,“逻辑回归”)是离散选择法模型之一,属于多重变量分析

    2024年01月21日
    浏览(26)
  • 负二项分布(一种离散分布)

    负二项分布是伯努利分布的推广,它模拟了在指定(非随机)失败次数(表示为r)发生之前,一系列独立且同分布的伯努利试验中的成功次数 负二项分布可以用来确定一个系列中多于1次失败的概率 比如:计算一台机器彻底崩溃前的天数、输掉系列赛冠军需要进行多少场比赛

    2024年02月15日
    浏览(29)
  • 数学建模--多项式拟合方法Python实现

    目录    1.算法设计思路  2.算法核心代码  3.算法效果展示 1.算法设计思路  2.算法核心代码  3.算法效果展示

    2024年02月07日
    浏览(30)
  • 数学建模--非多项式拟合法的Python实现

    目录   1.算法异同区别   2.算法核心步骤   3.算法核心代码   4.算法效果展示 1.算法异同区别   2.算法核心步骤   3.算法核心代码   4.算法效果展示

    2024年02月09日
    浏览(22)
  • 【模型预测控制MPC】使用离散、连续、线性或非线性模型对预测控制进行建模(Matlab代码实现)

     💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 本文的

    2024年02月14日
    浏览(35)
  • 【离散数学】Python语言实现关系性质的判断

    实验内容: 用矩阵表示二元关系;通过矩阵的特征判断二元关系所具有的性质;运用二维数组实现矩阵的输入,然后判断自反性,反自反性,对称性,反对称性,传递性 先复习一下相关的基础知识:  1.    判断自反性:矩阵主对角线元素全为1 2.    判断反自反性:矩阵主

    2024年02月04日
    浏览(32)
  • Python实现竞争性自适应重加权采样法(CARS)进行特征变量选择并构建LightGBM回归模型(LGBMRegressor算法)项目实战

    说明:这是一个机器学习实战项目(附带 数据+代码+文档+视频讲解 ),如需 数据+代码+文档+视频讲解 可以直接到文章最后获取。 竞争性自适应重加权采样法(competitive adapative reweighted sampling, CARS)是一种结合蒙特卡洛采样与PLS模型回归系数的特征变量选择方法,模仿达尔

    2024年02月02日
    浏览(31)
  • 支持向量机SVM(包括线性核、多项式核、高斯核)python手写实现+代码框架说明

    理论参考《统计学习方法》Chapter.7 支持向量机(SVM) 完整代码见github仓库:https://github.com/wjtgoo/SVM-python 借鉴sklearn的代码构架,整体功能实现在SVM类中,包括各种类属性,以及常用的模型训练函数 SVM.fit(x,y,iterations) ,以及预测函数 SVM.predict(x) , 类输入参数 kernal: 默认:线性

    2023年04月17日
    浏览(76)
  • 【Python】二维离散小波变换(2D-DWT)实现

    小波变换(Wavelet Transform)是一种数学信号处理技术,用于将信号或图像分解为不同频率的小波成分,从而可以在不同时间尺度上分析信号的特征。小波变换具有许多重要的特性,使其在许多领域中有广泛的应用。 小波变换的意义包括以下几个方面: 多尺度分析:小波变换可

    2024年02月06日
    浏览(34)
  • 基于改进的离散PSO算法的FJSP的研究(Python代码实现)

    💥 💥 💞 💞 欢迎来到本博客 ❤️ ❤️ 💥 💥 🏆 博主优势: 🌞 🌞 🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳ 座右铭: 行百里者,半于九十。 📋 📋 📋 本文目录如下: 🎁 🎁 🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Python代码实现 文

    2024年02月09日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包