01 案例介绍

某互联网公司记录了某一款产品的营销投入与收入额,如下表所示:当投入20万时,收入额是57万;投入38万元时,收入额是84万。

因为营销效果明显,公司决定再投入40万元,请您帮助公司预测收入额是多少?如果您能给出一个大概的预测收入区间,公司会对您有额外的奖励。

02 案例解析

根据案例描述,我们很容易确定其为预测问题。进一步,我们确定所用算法模型是回归分析算法。

除预测问题以外,在 Python数据挖掘中,我们还经常遇到分类问题、关联问题等等。面对不同的商业问题,我们需要使用不同的机器学习算法。Python实战圈以帮您总结完成,并配有大量案例实战。

03 什么是回归分析(Regression Analysis)


回归分析是研究自变量与因变量之间关系形式的分析方法。它主要是通过建立因变量y与影响它的自变量Xi (i = 1,2,3……)之间的回归模型来预测因变量y的发展趋势。回归的意思是找到最佳拟合参数,形成回归方程,然后对变量进行预测。

它的分类主要有:

  • 线性回归分析

    • 简单线性回归

    • 多重线性回归

  • 非线性回归分析

    • 逻辑回归

    • 神经网络


04 利用回归分析,四步预测广告收入


根据回归分析概念,我们总结出回归分析的解析步骤,共4步,如下:

第一步是数据处理,确定自变量和因变量

第二步是绘制图像,确定使用那种回归模型

第三步是建立回归模型

第四步是根据模型预测结果

根据4步,我们首先构建Python程序的主流程:

def main():
    file_name = 'data.csv'

# 预测数据 自变量
    predict_aim = 40

# 第一步 数据处理,确定自变量和因变量
    processed_data, x, y = process_data(file_name)

# 第二步 绘制图像,确定回归模型
    show_data(processed_data)

# 第三步 建立回归模型
    lrMode_predict, score_lr= model_data(processed_data, x, y, predict_aim)

# 第四步 根据模型预测结果
    predict_data(lrMode_predict, predict_aim, score_lr,predict_aim)

if __name__ == '__main__':
    # 主函数
    main()

05 第一步:数据处理


根据题目要求,求40万的营销收入。营销收入是未知的,而营销投入是已知的。营销投入是自变量;收入额是因变量。代码如下:

def process_data(file):
    """
        第一步:
        功能数据处理:导入数据
    :param file:
    :return:
    """
    print('开始处理')
    # 读取数据集
    data = read_csv(file)
    # print(data)

'''
        确定自变量和因变量, 未知的是因变量;已知的是自变量
    '''
    x = data[['营销投入']]
    y = data[['收入额']]

return data, x, y


06 第二步:判断使用哪种回归模型


根据数据集,我们可以画出自变量与因变量的散点图,进而判断是否可以建立回归方程。判断的依据是它们是否具有强相关关系。文末扫码获得完整代码。从结果,我们可以看到广告收入与销售额呈现线性关系,并且相关系数是0.84。我们可以使用简单线性回归方程预测40万广告费对应收入的结果

07 第三步:建立回归模型


要建立回归模型,就要先估计出回归模型的参数A和B,那么如何得到最佳的A和B,使得尽可能多的数据点落在或者更加靠近这条拟合出来的直线上呢?

统计学家研究出一个方法,就是最小二乘法,最小二乘法又称最小平方法,通过最小化误差的平方和寻找数据的最佳直线,这个误差就是实际观测点和估计点间的距离;最小二乘法名字的缘由有二个:一是要将误差最小化,二是使误差最小化的方法是使误差的平方和最小化;在古汉语中,平方称为二乘,用平方的原因就是要规避负数对计算的影响,所以最小二乘法在回归模型上的应用就是要使得实际观测点和估计点的平方和达到最小,也就是上面所说的使得尽可能多的数据点落在或者说更加靠近这条拟合出来的直线上;我们只要了解最小二乘法的原理即可,具体计算的过程就交给Python处理,具体代码如下:

def model_data(processed_data, x, y, predict_data):
    """
        第三步:
        功能:建立回归模型
        确定自变量:【'广告投入'】
        因变量:销售额
    :param processed_data:
    :return:
    """

# 使用sklearn模块中LinearRegression,初始化模型
    lrModel = LinearRegression()
    lrModel.fit(x, y)

# 对模型进行评分检验
    score_lr = lrModel.score(x, y)
    print(f'模型的评分是:{score_lr}')


08 第四步:预测结果


得到评分高的模型以后,我们就可以使用其预测结果,比如预测40万的销售额是多少?我们使用两种方法,第一个是直接使用模型预测,第二个是使用得到的线性方程预测。如果两者预测的结果一样,说明模型正确。代码如下:

def predict_data(lrMode_predict, data, score_lr, predict_data):
    """
    第四步:
        根据模型预测结果
    :param lrMode_predict:
    :return:
    """
    # 利用模型预测
    predict_50 = lrMode_predict.predict([[data]])
    print('40万的预测是:', predict_50)

'''
            请思考如何得到区间预测值?请后台或者加入实战圈与作者讨论
    '''

预测结果:

40万的预测结果是: [[96.46960667]]

40万预测的区间是:[ [69.41890637] [123.52030698] ]

09 推荐一个保你学会 Python的实战圈

手把手教你学Python

请扫码获得本案例完整代码与数据集

只需7天时间,跨进Python编程大门,已有1800+加入

基础】0基础入门python,24小时有人快速解答问题;
提高】40多个项目实战,老手可以从真实场景中学习python;
直播】不定期直播项目案例讲解,手把手教你如何分析项目;
分享】优质python学习资料分享,让你在最短时间获得有价值的学习资源;圈友优质资料或学习分享,会不时给予赞赏支持,希望每个优质圈友既能赚回加入费用,也能快速成长,并享受分享与帮助他人的乐趣。
人脉】收获一群志同道合的朋友,并且都是python从业者
价格】本着布道思想,只需 69元 加入一个能保证学习效果的良心圈子。

赠予】后续圈主将开发python,0基础入门在线课程,免费送给圈友们,供巩固和系统化复习

三重福利)最近入圈送大礼包:

1、2.7G、308份最新数据分析报告
2、40G 人工智能算法  视频课
3、Python爬虫课,共14课

利用Python 回归分析,四步预测广告收入 (附数据集与代码)相关推荐

  1. 网传天猫双十一数据造假?利用Python对其进行预测分析

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 朱小五 PS:如有需要Python学习资料的小伙伴可以加点击下方链接 ...

  2. python数据预测_利用Python编写一个数据预测工具

    利用Python编写一个数据预测工具 发布时间:2020-11-07 17:12:20 来源:亿速云 阅读:96 这篇文章运用简单易懂的例子给大家介绍利用Python编写一个数据预测工具,内容非常详细 ...

  3. 用python画动态樱花_利用python画一棵漂亮的樱花树,turtle画图代码大全,此处感谢知乎大佬小白...

    利用python画一棵漂亮的樱花树,turtle画图代码大全,此处感谢知乎大佬小白 此处感谢知乎大佬 小白练手 练习一下比较流行的turtle(海龟库) 画一棵漂亮的樱花树,效果如下: ps: 是动态 ...

  4. python实现按键精灵的功能_利用Python实现Windows下的鼠标键盘模拟的实例代码

    本文介绍了利用Python实现Windows下的鼠标键盘模拟的实例代码,分享给大家 本来用按键精灵是可以实现我的需求,而且更简单,但既然学python ,就看一下呗. 依赖: pip install ...

  5. Python仅四步写出完整漂亮的五子棋

    最近比较闲,将写游戏练习python的心得发出来.先以五子棋为例,实现基本功能简单四步即可写出完整漂亮的五子棋,代码不过140余行.现一步一步分解发出来,方便初学者交流. 虽然代码看上去不是很专业,不 ...

  6. 掌握这四步,月收入1万+的自媒体人可能就是你

    大家每天都在刷头条和看抖音,有没想过这些内容是从哪里来的呢? 答案是:我们自媒体提供了99%的内容来源.而当广告商给平台广告费的时候,平台拿出高达45%的广告费给自媒体人作为回报.毕竟没有内容,他们也 ...

  7. 利用Python简单两步监控电脑

    文章目录 一.利用python定时截取电脑桌面,保存到指定目录 二.将监控程序设置为开机自动启动 1.新建start.bat文件,打开输入以下代码: 2.将start.bat添加到任务计划 三.附注过 ...

  8. 利用python进行AdaBoost模型预测

    以信用卡违约数据为例,该数据集来源于UCI网站,一共包30 000条记录和25个变量,其中自变量包含客户的性别.受教育水平.年龄.婚姻状况.信用额度.6个月的历史还款状态.账单金额以及还款金额,因变量 ...

  9. 利用Python对销售额进行预测

    来源:DeepHub IMBA 大家经常会遇到一些需要预测的场景,比如预测品牌销售额,预测产品销量. 今天给大家分享一波使用 LSTM 进行端到端时间序列预测的完整代码和详细解释. 我们先来了解两个主 ...

最新文章

  1. 找对象的过程中,我竟然理解了什么是机器学习!
  2. 利用Charles抓https包
  3. document对象相关信息
  4. c语言四字节转浮点数_C语言浮点书于字节互相转换
  5. Chrome浏览器扩展程序的本地备份
  6. Photoshop 手动画金标准流程
  7. 一位Oracle老司机的openGauss初体验
  8. windows10怎么锁定计算机,别让Windows 10锁住亲友
  9. Android性能优化-过度绘制解决方案
  10. 光纤MPO端面脏了也会造成您所不知道的故障
  11. 【Grub Grub2】万能优盘启动盘 (WinPE、LinuxPE)-- 方法1 U盘三分区法(不推荐,供参考)
  12. 【学习笔记】用Excel制作随机抽奖器(Visual Basic编程)。
  13. CAN学习笔记二:OSEK NM 学习
  14. JAVA IO流读取中文出现乱码
  15. C++超详细五子棋游戏(AI实现人机对弈+双人对弈+EasyX图形化界面+详细介绍)
  16. 权重较高的几个分类信息网站
  17. SQL Sever 2014 使用sql sever身份验证登录
  18. win10计算机屏幕暗怎么办,win10屏幕调到最亮还是很暗怎么办
  19. j2cache两级缓存框架
  20. icc校色文件使用教程_Windows7色彩管理显示器ICC设置方法

热门文章

  1. 计算机毕业设计:基于微信小程序的校园求职系统
  2. 新氧“自律破圈” 医美新生态而立时
  3. mysql的表面sno大全_学生表学号sno数据库
  4. Docker安装java环境并部署jar包运行
  5. VS Code连接linux服务器 配置ninja
  6. 如果企业微信不用了怎么解绑手机?
  7. 华为 Telnet aaa认证模式
  8. pcie总线协议入门基础知识
  9. 阿昌教你使用谷歌guava工具包---集合包
  10. Jest 单元测试术语解析:describe、it、expect、test