从数据科学实施方案中的资源、需求、工具分类、选型、及成本聊开去

本文主要是介绍从数据科学实施方案中的资源、需求、工具分类、选型、及成本聊开去,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

数据科学实施方案

首先请读者朋友们注意,虽然数据科学与数据分析有不同的使用场景,但在本系列中我们将两个名词不加区别的混用,也是为了突出分析或洞察是数据科学的核心所在。

了解我们所在组织的具体情况和目标

随着一些组织(包括个人)业务上的发展,对数据科学的重视程度日益增长,但对于具体如何将数据科学应用在业务上,并没有一个统一的答案。这主要是因为对于不同的组织,他们的目标以及可以调动的资源不尽相同。

有的组织,不仅拥有很多数据科学家,还拥有很多程序员,那么他们就有更多的方案进行选择,不管是自研、部分外包、使用商业方案或是进行各种混合都可以,非常的灵活;有的组织,认为数据科学很重要,但并没有人力资源能够投入,这种情况他们有可能会将具体问题外包给第三方,定制解决;还有一些组织,他们的需求很常见、很标准,并不需要太多特别的东西,只需要与其他组织差不多一样即可,这种情况他们可能直接购买商业成熟产品更为合适。所以,当数据科学具体实施时,需要具体了解我们组织的特点,选择实用的方案。

在选择方案之后,我们也应该意识到我们选择方案的局限性。比如我们想实现图像分类这个很标准的功能,那么我们就不应该花费太多时间和精力进行图像收集和模型训练的工作。我们只需要选择一些在这个方面出色的公司,比如 Google、Amazon 或百度等公司,然后再查看他们具体的图像分类 API 的接口,进行编码就可以了。当然有的时候,可能不是那么特别标准的功能,比如识别一些特定的、不在 API 文档中的东西。这种情况我们也许需要一些额外的工作,少量标注图像,然后进行迁移学习就可以了,比如 Google 的 AutoML Vision 就支持这样的工作流程。再比如我们的人员有限,也并不想组织一个数据科学团队,那么我们也许可以选择一个自动化的方案,虽然达不到最优方案,但至少是一个够用,beating the averages(超过平均水平)的方案。

如果我们想要达到行业最佳性能,那么我们的组织需要更多的投资来组建科学家团队以及工程团队。

所以我们只有详细了解了我们组织的具体情况和目标,才能选出一套恰当的方案。

数据分析工具分类

当了解了自己组织的资源情况,确定了具体的数据分析目标之后,接下来就是数据分析工具的选型了。选型涉及到的问题非常宽广,从供应商提供什么样的软件,他们是否能够了解客户需求,是否能够根据需求持续提供服务与支持,他们下一步的发展是如何计划的,如何进行数据的迁移和整合,如何进行数据治理与数据资产管理,如何和现有技术架构融合,是否支持混合云和云间环境的数据集成,其他使用这款软件的公司什么样的感受,等等等等。在选型之前,我们先粗略了解下数据分析工具的分类。

根据工具抽象层次进行分类

任何一个理工科专业的同学,肯定都接触过数据分析类的工具,但可能大部分工具(在抽象层次上)都比较底层。比如有的专业甚至需要用 c/c++ 去做一些分析数据,在这种情况下,需要一个人去做一些与数据分析没有直接关系,但却支持着整个分析过程的繁琐工作。

而文科专业的同学,因为专业所限,大部分情况下不会像理工科专业的同学一样,用一些非常底层的工具去做分析。他们在分析时大多会使用一些抽象层次比较高的工具,这些工具在带来便利性的同时,也损失了一部分的灵活性。

以上是在抽象层次角度对工具进行了高、低两类划分。值得强调的是,这里的高、低只是工具抽象层次上的不同,并没有优劣区别。对于不同情况下的问题,需要根据情况进行合理的选择。

根据分析过程进行分类

从整体分析过程角度来看,大致可以分为三类:

  • 第一类的重点在于记录,不在于分析,比如 Excel 和数据库都归入此类。也许你能够写一些 VBA 对 Excel 中的表格进行一些基础操作,或是写一些 SQL 语句对数据库中的数据进行统计,这类工具可扩展性总归有限;

  • 第二类的重点在于转换、分析,比如 SAS,SPSS,Lingo,Orange,KNIME,Pentaho,Rapidminer,Weka,R,Matlab,Python,Alloma,Spark,Google's dataprep 等工具。甚至连 Linux 中的命令,sed、awk,熟练使用后,都会相当强大。这些工具有一些是开源的,有一些是收费的;有一些是离线使用的,有一些是在线使用的,复杂度也各有差异;

  • 第三类的重点在于展示,可视化。近些年流行起来的工具在这一方面都做的不错,比如 Tableau,PowerBI,QlikView 或是一些专门制作 dashboard(可视化面板)的工具等。

这三类并不是完全割裂开的,而是各有重点,互相渗透,而且各类工具发展的方向也是在做好自己本职任务之后,对其他工具的领域攻城略地。

数据分析工具的选型指南640?wx_fmt=png

授人以渔,教你怎样自己做工具选型调研,并接受咨询,我会根据你自身的背景以及你需要解决的问题, 在工具选型问题上给出建议。

点击此链接或扫描二维码,前往面包多进行付费阅读

数据分析的成本

在选型时,除了功能性的考虑之外,需要特别注意的一点是考虑数据分析工具的成本。数据分析的工具(软件)成本和市场中普通的产品成本并没有太大区别,总成本都是由设计成本,生产成本,维护成本,营销成本四大类组合而成的,各类的占比有所差别而已。

拿一个非软件行业的产品 -- 电视机来举例,有人喜欢买 M 牌电视,有人喜欢买 S 牌电视,花同样的钱,他们买到的产品是不一样的。(以下只是虚无缥缈的举例,并无实际数据支撑)也许 M 牌电视的硬件性能更好,原料成本,生产成本更高。但假如 M 牌电视的故障率要比 S 牌电视的故障率高的话,那么 M 牌电视的维护成本也会高一些;另一方面,如果 S 牌在外观,屏幕,声音系统较M牌电视好,那么 S 牌电视在设计成本上会高一些。而营销成本则取决于产品的定位以及市场,营销人员的具体操作了,略过不提。

软件成本也很类似,对于不同的软件,成本的组成也是不一样的。对于复杂程度不高的(类)一次性软件,比如,软件公司如果要向某某机构兜售只有新闻等简单功能的网站,那么总成本有很大一部分需要分配在营销上,其他方面就可以相对减少;对于一个需求变动比较大的软件,那么设计成本,生产成本和维护成本就要占很高比例,其中软件的内在设计是最最重要的,如果设计的好,那么生产成本和维护成本都可以显著降低,如果设计的的不好,那么,生产成本和维护成本就会急剧上升,而且对于越大的,设计越不好的项目,生产成本和维护成本会上升的更快。

对于用户来说,花了成本(钱或者时间),学习使用了软件,在使用过程中,也许会遇到各式各样的软件问题。软件的问题在表现形式上可以分为两类,一类是 bug -- 指显著表现出来的程序错误;另一类是缺陷,大部分情况下,它是隐藏状态,只有在特定的情况下,缺陷才会被触发,变成 bug。可以说,缺陷是未发现的 bug,或 bug 是已经发现了的缺陷。假如一个软件由三个部分构成,因为设计或编码生产的问题,这三个部分的固有缺陷都是2个,看上去不太多对吗?但实际上,如果缺陷被触发,那么程序表现出来的异常可能有4*4*4-1种组合(对吗?=P),这也是为什么有时会觉得,原来软件都是正常的,但后来只新增了一个模块,怎么一下子出现了这么多莫名其妙的问题的逻辑所在。

也正是因为这种乘数效应,所以程序中大到模块,小到函数,都鼓励写成高内聚,低耦合的方式,并在"尽可能简单,而不过于简单"的总体思路下进行设计。锻炼良好的判断力和品味应该是每一个程序设计者所追求的。

软件行业中的很多活动其实可以理解为,它们都是围绕着降低成本来运行的。比如,敏捷开发是近些年很流行(且被一些管理人员滥用)的概念,它的主导思想是以用户尽量独立的"小需求"为核心,采用迭代,循序渐进的方法进行软件开发,它是把总需求划分成了若干"小需求",在每个"小需求"中使用迭代开发,及时将产品交付客户体验,紧跟客户真正的需求,通过这种方式来提升开发质量以降低维护成本;还有 TDD,BDD 等开发模式,是在开发成本和维护成本上下功夫;再比如软件文档,命名规范等都是为了减少维护成本而适当增加开发成本,用以达到降低总成本的目的。

当你自己需要做一款软件,或是分析数据时,成本也是你重点考虑的内容之一,如果这个任务是一次性使用的,那么你应该有一套方案,如果这个任务是要经常做的,或者这个任务会不停的变动内容,那么你需要另外不同的方案。

如果你在一个任务不停变动(需求在不停变动)的时候选择了一个一次性的解决方案,那么你这套解决方案在后期的维护成本可能会非常巨大,甚至导致这个解决方案完全无法使用,需要全部推倒重来。而在整个过程中,除了一些金钱成本之外,你浪费了你最重要的时间成本。What A Sad/Bad Thing。

数据分析、机器学习在工程上来看,和软件开发并无二致,并且是一种特定类型的软件开发 -- 需求和行动变动的都比较频繁的那种。所以,以上的软件成本理论,完全可以应用在数据分析以及机器学习上,对于个人来说,除去一些微不足道的金钱成本之外,唯一需要考虑的就是自己最宝贵的时间,自己的时间怎么在这些方面分配,是一个需要持续思考和改进的问题。对于我们所在的组织来说,金钱成本、人力成本、整个技术栈是否有良好的后续支持(我们所在组织的技术水平以及技术栈相关的社区环境)等等方面都需要进行综合考虑。

案例:一次聊天

有一次朋友一上来就问我:微软的 PowerBI 和 Oracle hypersion or TM1 有什么区别?她查了一下,说没有看太懂,所以来请教我。

PowerBI 曾经简单试用过,Oracle 家的这个工具我却知之甚少,但那不重要。对于软件区别的问题,只需要打开搜索引擎, 搜索 tool A vs tool B, 或者 tool A tool B 对比 就肯定能够找到答案。如果朋友看了区别之后还是感觉疑惑,那么肯定是他自己真正的问题并不在软件层面。(关于如何问问题请回顾 [01 前言 - 02 方法论 之 你会问问题吗?](../../01 前言/02 方法论 之 你会问问题吗?/))

朋友在国外做金融模型,所以下面节选的对话中夹杂了一些不中不英的内容,对对话中具体工具不了解完全可以跳着看,不影响理解

Sarah: 我想找的工具需要处理不同系统出来的数据,通过自动做 mapping 或 data cleaning 来生成想要的 report 或 dashboard

HaveF: 其实你想一想这个问题,这是一个非常通用(general)的需求,但这个需求不是一个需求,在它里面其实夹杂着很多小需求。简单来说,你要求的工具,涉及到的子功能比较多:处理不同系统出来的数据,叫做 Data Integration(数据集成), 你这个集成工作是一次性的还是以后会多次重复,是你一个人用的,还是团队的人都要用?mapping 或 data cleaning (数据清洗)也会有类似的问题,而且又会涉及到 data quality,影响到后续模型的精度。分析又是 data management or analytics,又会有一大堆可选项。我只能提供方向,具体还得你看哪个适合你,本地部署还是云端部署、私有云或公有云又是不同的解决方案。如果是特定细分领域的又要看特定细分领域的工具和你想找的工具的结合是否容易,数据流是否通畅。需不需要编程?上手难度怎么样?需不需要扩展性?扩展性怎么样?对于大数据平台的支持情况怎么样?执行效率是否能接受?都需要按照自己的情况具体考量。没有通用的平台,只有适合你的平台,需要自己先搞清楚自己的问题。

640?wx_fmt=png各种数据工具

Sarah: 面临主要问题是做一个分析员工效率及成本的 dashboard. 但分析所需的 data source from different systems. 我可以实现用 power BI 把数据导进来形成最后的 dashboard. 但因为 system 之间无 connection, 如何做到时时监控更新我的 dashboard?我不能每次新数据出来,还要重新系统里导出,refresh my financial model

HaveF: 对于你这个case,自动化导出流程是最实际的方法。但,你这不是已经通过power bi把各系统连接起来了吗

Sarah: 但是不能时时看更新了的 dashboard. 比如说下个月又要去各系统 export data source, 再导到 power BI 生成新月份的 dashboard 结果。我说的时时,就是每时每刻由于企业系统数据都在变,随之我的 dashboards 跟着随时变。Power BI 主要是可以 import 比如几个 excel worksheet or word file 进来进行整理。我知道了,各系统可以和 excel 通过写 query 建立联系。我所有 data source 是 excel format 就好

HaveF: power bi 可以直接接数据库吧?Excel这一步似乎多余了

Sarah: 真的?就是能接就太棒了 接数据库是要专业IT写个程序么

HaveF: 如图,power bi是可以直接连数据库的640?wx_fmt=pngpower bi 连接数据源

你的 excel 是从哪里导出的 谁负责,就问谁,连个数据库很快的,不需要专门写程序

Sarah: 明白了 行,我知道了,谢啦


朋友本来以为这个事情可能会比较复杂,结果最后没想到解决方案会这么简单。

有这么一句古老的箴言:

如果你手里有一把锤子,所有东西看上去都像钉子。

                               \`..--------------.___________) \|//|___________[ ]`--------------'           ) ('-'

当你遇到一个问题时,先别急,先别急着找锤子。先去理解你要解决都真正问题,再根据你的时间、金钱预算去寻找适合的工具,也许一把螺丝刀就够了呢?

这篇关于从数据科学实施方案中的资源、需求、工具分类、选型、及成本聊开去的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/231462

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只