大数据数据建模[通俗易懂]

大数据数据建模[通俗易懂]今天给大家分享一下 数据开发工作中数据建模的步骤,                           第一步:选择模型或者自定义模型这第一步需要我们基于业务问题,来决定我们需要选择哪种模型,目前市场中有很多模型可以供我们选择,比如,如果要预测产品销量,则可以选择数值预测模型(比如回归模型,时序预测……);如果要预测员工是否离职,则可…

大家好,又见面了,我是你们的朋友全栈君。

今天给大家分享一下 数据开发工作中数据建模的步骤,大数据数据建模[通俗易懂]

                                                     第一步:选择模型或者自定义模型

这第一步需要我们基于业务问题,来决定我们需要选择哪种模型,目前市场中有很多模型可以供我们选择,

比如,如果要预测产品销量,则可以选择数值预测模型(比如回归模型,时序预测……);如果要预测员工是否离职,则可以选择分类模型(比如决策树、神经网络……)。

如果没有现成的模型可用,就需要我们自定义模型了,自定义模型不是一件容易的事情,需要非常nb的数学基础和科研精神,当前绝大多数人所谓的建模,都只是选择一个已有的数学模型来工作而已

一般情况,模型都有一个固定的模样和形式。但是,有些模型包含的范围较广,比如回归模型,其实不是某一个特定的模型,而是一类模型。我们知道,所谓的回归模型,其实就是自变量和因变量的一个函数关系式而已,如下表所示。因此,回归模型的选择,也就有了无限的可能性,回归模型的样子(或叫方程)可以是你能够想到的任何形式的回归方程。所以,从某种意义上看,你自己想出一个很少人见过的回归方程,也可以勉强算是自定义模型了哈!

这么多可选模型,到底选择哪个好呢?

这里我告诉你,模型的好坏是不能单独出来评论的,对不同的需求场景模型的选择也不同。

                                                   第二步 : 训练模型

模型选择好以后,就到训练模型这一步,

我们知道,之所以叫模型,这个模型大致的形状或模式是固定的,但模型中还会有一些不确定的东东在里面,这样模型才会有通用性,如果模型中所有的东西都固定死了,模型的通用性就没有了。模型中可以适当变化的部分,一般叫做参数,就比如前面回归模型中的α、β等参数。

所谓训练模型,其实就是要基于真实的业务数据来确定最合适的模型参数而已。模型训练好了,也就是意味着找到了最合适的参数。一旦找到最优参数,模型就基本可用了。

如何找到一个非常好的参数呢?不用担心,会有分析工具来帮我们来查找。

                                                   第三步:评估模型

所谓评估模型,就是决定一下模型的质量,判断模型是否有用。

前面说过,模型的好坏是不能够单独评估的,一个模型的好坏是需要放在特定的业务场景下来评估的,也就是基于特定的数据集下才能知道哪个模型好与坏。

既然要评估一个模型的好坏,就应该有一些评价指标。比如,数值预测模型中,评价模型质量的常用指标有:平均误差率、判定系数R2,等等;评估分类预测模型质量的常用指标(如下图所示)有:正确率、查全率、查准率、ROC曲线和AUC值等等。

对于分类预测模型,一般要求正确率和查全率等越大越好,最好都接近100%,表示模型质量好,无误判。

                                                                       

                                                    第四步:应用模型

如果评估模型质量在可接受的范围内,而且没有出现过拟合,于是就可以开始应用模型了。

这一步,就需要将可用的模型开发出来,并部署在数据分析系统中,然后可以形成数据分析的模板和可视化的分析结果,以便实现自动化的数据分析报告。

应用模型,就是将模型应用于真实的业务场景。构建模型的目的,就是要用于解决工作中的业务问题的,比如预测客户行为,比如划分客户群,等等。

当然,应用模型过程中,还需要收集业务预测结果与真实的业务结果,以检验模型在真实的业务场景中的效果,同时用于后续模型的优化。

                                                      第五步:优化模型

优化模型,一般发生在两种情况下:

一是在评估模型中,如果发现模型欠拟合,或者过拟合,说明这个模型待优化。

二是在真实应用场景中,定期进行优化,或者当发现模型在真实的业务场景中效果不好时,也要启动优化。

如果在评估模型时,发现模型欠拟合(即效果不佳)或者过拟合,则模型不可用,需要优化模型。所谓的模型优化,可以有以下几种情况:

1)重新选择一个新的模型;

2)模型中增加新的考虑因素;

3)尝试调整模型中的阈值到最优;

4)尝试对原始数据进行更多的预处理,比如派生新变量。

不同的模型,其模型优化的具体做法也不一样。比如回归模型的优化,你可能要考虑异常数据对模型的影响,也要进行非线性和共线性的检验;再比如说分类模型的优化,主要是一些阈值的调整,以实现精准性与通用性的均衡。

当然,也可以采用元算法来优化模型,就是通过训练多个弱模型,来构建一个强模型(即三个臭皮匠,顶上一个诸葛亮)来实现模型的最佳效果。

实际上,模型优化不仅仅包含了对模型本身的优化,还包含了对原始数据的处理优化,如果数据能够得到有效的预处理,可以在某种程度上降低对模型的要求。所以,当你发现你尝试的所有模型效果都不太好的时候,别忘记了,这有可能是你的数据集没有得到有效的预处理,没有找到合适的关键因素(自变量)。

不可能有一个模型适用于所有业务场景,也不太可能有一个固有的模型就适用于你的业务场景。好的模型都是需要根据需求进行优化的!

希望能帮助到各位程序员们!!!

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135389.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月3日 下午4:40
下一篇 2022年5月3日 下午5:00


相关推荐

  • KNative_buenas

    KNative_buenasKnative 简介

    2022年4月20日
    40
  • ELK入门

    ELK入门ELK入门

    2022年4月25日
    33
  • HOOK消息钩子

    HOOK消息钩子大致的过程是当系统I/O上发生一个事件时,系统捕获该事件,并向指定的应用程序的消息队列发送一个消息,应用程序从消息队列中顺次取出一个消息,交由系统调度相应的窗口回调程序进行消息处理。这里可以看到,从OS捕捉到消息开始处理,到最后交还给OS调度回调函数,就像走了一个循环,我自己理解这也是为什么叫做“回调函数”的原因之一。接下来我们要进行的HOOK就是在上面的第二步和第三步之间进行的额外工作。钩子机制允许应用程序截获(且或)处理window消息或特定事件。钩子实际上是一个处理消息的程序段,通过系统调用,把

    2022年7月26日
    6
  • 图像处理—-lena图像的由来「建议收藏」

    图像处理—-lena图像的由来「建议收藏」作者: 邓亮来源http://kexuesongshuhui.blog.163.com/blog/static/935965672009626101158405/?163toutiao 她是让无数专家为之痴迷和痛苦的研究对象,她是充斥着枯燥数学公式的论文中最吸引眼球的光芒,翻开任何一本关于计算机图像处理的教材,你都能看到她动人的微笑。她就是雷娜(Lena),她的照片是图像处理领域使用最

    2022年6月19日
    33
  • Typora+pandoc最新版下载套装[通俗易懂]

    Typora+pandoc最新版下载套装[通俗易懂]Typora,一款免费开源的的markdown软件,用于各种博客排版,记录代码,操作简单,没有工具栏的说,平台:多平台(macOS、Windows、linux)下面是记录代码的格式图片:快捷键:推荐链接https://blog.csdn.net/qq_26838315/article/details/90437107我的下载地址https://download.csdn…

    2022年5月12日
    45
  • 利用Python的folium包绘制城市道路图

    利用Python的folium包绘制城市道路图写在前面很长一段时间内 我都在研究在线地图的开发者文档 百度地图和高德地图的开发者中心提供了丰富的在线地图服务 虽然有一定的权限限制 但不得不说 还是给我的科研工作提供了特别方便的工具 在博客前面我先放上这两个在线地图开放平台的 webAPI 的地址链接 百度地图开放平台高德地图开放平台基于这两个平台 博主进行了一系列的开发研究工作 本文介绍其中一项技术 如何用 folium 包绘制城市道路图 当然 也可绘制非城市道路图 只要提供正确的路名就行了 开发工具 Python3 7Spyder 编译器

    2026年3月26日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号