Python实现离散选择多项式对数模型(MNLogit算法)项目实战

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

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

Python实现离散选择多项式对数模型(MNLogit算法)项目实战,机器学习,python,python,机器学习,离散选择多项式对数模型,MNLogit算法,项目实战

Python实现离散选择多项式对数模型(MNLogit算法)项目实战,机器学习,python,python,机器学习,离散选择多项式对数模型,MNLogit算法,项目实战

1.项目背景

多项式对数模型是离散选择模型的一种。

本项目通过MNLogit算法来构建多项式对数模型。  

2.数据获取

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

编号 

变量名称

描述

1

x1

2

x2

3

x3

4

x4

5

x5

6

x6

7

x7

8

x8

9

x9

10

x10

11

y

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

Python实现离散选择多项式对数模型(MNLogit算法)项目实战,机器学习,python,python,机器学习,离散选择多项式对数模型,MNLogit算法,项目实战

3.数据预处理

3.1 用Pandas工具查看数据

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

Python实现离散选择多项式对数模型(MNLogit算法)项目实战,机器学习,python,python,机器学习,离散选择多项式对数模型,MNLogit算法,项目实战

关键代码:

Python实现离散选择多项式对数模型(MNLogit算法)项目实战,机器学习,python,python,机器学习,离散选择多项式对数模型,MNLogit算法,项目实战

3.2 数据缺失查看

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

Python实现离散选择多项式对数模型(MNLogit算法)项目实战,机器学习,python,python,机器学习,离散选择多项式对数模型,MNLogit算法,项目实战      

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

关键代码:

Python实现离散选择多项式对数模型(MNLogit算法)项目实战,机器学习,python,python,机器学习,离散选择多项式对数模型,MNLogit算法,项目实战

3.3 数据描述性统计

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

Python实现离散选择多项式对数模型(MNLogit算法)项目实战,机器学习,python,python,机器学习,离散选择多项式对数模型,MNLogit算法,项目实战

关键代码如下:    

Python实现离散选择多项式对数模型(MNLogit算法)项目实战,机器学习,python,python,机器学习,离散选择多项式对数模型,MNLogit算法,项目实战

4.探索性数据分析

4.1 y变量柱状图

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

Python实现离散选择多项式对数模型(MNLogit算法)项目实战,机器学习,python,python,机器学习,离散选择多项式对数模型,MNLogit算法,项目实战

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

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

Python实现离散选择多项式对数模型(MNLogit算法)项目实战,机器学习,python,python,机器学习,离散选择多项式对数模型,MNLogit算法,项目实战

4.3 相关性分析

Python实现离散选择多项式对数模型(MNLogit算法)项目实战,机器学习,python,python,机器学习,离散选择多项式对数模型,MNLogit算法,项目实战

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

5.特征工程

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

关键代码如下:

Python实现离散选择多项式对数模型(MNLogit算法)项目实战,机器学习,python,python,机器学习,离散选择多项式对数模型,MNLogit算法,项目实战

5.2 数据集拆分

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

Python实现离散选择多项式对数模型(MNLogit算法)项目实战,机器学习,python,python,机器学习,离散选择多项式对数模型,MNLogit算法,项目实战

6.构建多项式对数模型

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

6.1 构建模型

编号

模型名称

参数

1

MNLogit模型 

默认参数

6.2 模型的摘要信息

Python实现离散选择多项式对数模型(MNLogit算法)项目实战,机器学习,python,python,机器学习,离散选择多项式对数模型,MNLogit算法,项目实战

7.模型评估

7.1 评估指标及结果

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

模型名称

指标名称

指标值

测试集

MNLogit模型

准确率

0.9325

查准率

0.935

查全率

0.9303

F1分值

0.9327 

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

关键代码如下:   

Python实现离散选择多项式对数模型(MNLogit算法)项目实战,机器学习,python,python,机器学习,离散选择多项式对数模型,MNLogit算法,项目实战

7.2 分类报告

Python实现离散选择多项式对数模型(MNLogit算法)项目实战,机器学习,python,python,机器学习,离散选择多项式对数模型,MNLogit算法,项目实战      

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

7.3 混淆矩阵

Python实现离散选择多项式对数模型(MNLogit算法)项目实战,机器学习,python,python,机器学习,离散选择多项式对数模型,MNLogit算法,项目实战

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

8.结论与展望

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

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

链接:https://pan.baidu.com/s/1aY-cobZvwshVZnMQn6GVrA 
提取码:j5a6

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

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

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

相关文章

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

    说明:这是一个机器学习实战项目(附带 数据+代码+文档+视频讲解 ),如需 数据+代码+文档+视频讲解 可以直接到文章最后获取。 离散选择负二项式模型是一种统计和经济计量模型,它结合了离散选择理论与负二项分布的特点来分析计数型的离散决策变量。在实际应用中,

    2024年01月21日
    浏览(36)
  • 支持向量机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日
    浏览(88)
  • 用链表表示多项式,并实现多项式的加法运算

    输入格式: 输入在第一行给出第一个多项式POLYA的系数和指数,并以0,0 结束第一个多项式的输入;在第二行出第一个多项式POLYB的系数和指数,并以0,0 结束第一个多项式的输入。 输出格式: 对每一组输入,在一行中输出POLYA+POLYB和多项式的系数和指数。 输入样例: 输出样例: 本

    2024年02月07日
    浏览(66)
  • 机器学习-朴素贝叶斯之多项式模型

    贝叶斯概率公式,来自Wang’s Blog的原创 输出结果: 显示的没办法爬数据,我又换了一组数据 输出的效果还挺不错

    2024年02月08日
    浏览(39)
  • 无涯教程-分类算法 - 多项式逻辑回归模型函数

    Logistic逻辑回归的另一种有用形式是多项式Lo​​gistic回归,其中目标或因变量可以具有3种或更多可能的 unordered 类型,即没有定量意义的类型。 现在,无涯教程将在Python中实现上述多项式逻辑回归的概念。为此,使用来自sklearn的名为 digit 的数据集。 首先,需要导入必要的

    2024年02月10日
    浏览(37)
  • 每天五分钟机器学习:多项式非线性回归模型

    在前面的课程中,我们学习了线性回归模型和非线性回归模型的区别和联系。多项式非线性回归模型是一种用于拟合非线性数据的回归模型。与线性回归模型不同,多项式非线性回归模型可以通过增加多项式的次数来适应更复杂的数据模式。在本文中,我们将介绍多项式非线

    2024年02月16日
    浏览(47)
  • 【C 数据结构】 用单链表存储一元多项式,并实现两个多项式相加运算。

    本次代码纯c语言,可以支持输入两个多项式的项式、系数、指数。 实验目的: 1 掌握单链表的基本工作原理; 2 实现链式存储下的两个多项式的相加。 实验步骤 1 定义链式存储的数据结构 2 完成多项式的初始化,即给多项式赋初值 3 完成多项式的输出 4 实现多项式的相加及结

    2024年02月06日
    浏览(46)
  • Python多项式回归sklearn

    多项式回归是一种回归分析的方法,它通过使用多项式函数来拟合数据。与简单线性回归不同,多项式回归可以更灵活地适应数据的曲线特征,因为它可以包含多个特征的高次项。 多项式回归的一般形式为: 在实际应用中,可以通过调整多项式的次数来适应不同的数据特征

    2024年01月25日
    浏览(41)
  • numpy 多项式函数回归与插值拟合模型;ARIMA时间序列模型拟合

    参考: https://blog.csdn.net/mao_hui_fei/article/details/103821601 1、多项式函数回归拟合 x ^3+ x ^2… 2、多项式函数插值拟合 对于插值函数 interp1d(phone_time, phone_x, kind=‘cubic’),无法直接获取多项式的参数与具体函数表达式。这是因为该函数使用样条插值方法,它的内部实现是基于一组数

    2024年02月16日
    浏览(66)
  • 使用R语言进行多项式回归、非线性回归模型曲线拟合

    对于线性关系,我们可以进行简单的线性回归。对于其他关系,我们可以尝试拟合一条曲线。 相关视频 曲线拟合是构建一条曲线或数学函数的过程,它对一系列数据点具有最佳的拟合效果。 使用示例数据集 看起来我们可以拟合一条曲线。 我们可以看到每条曲线的拟合程度

    2024年02月09日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包