前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据科学入门指南

数据科学入门指南

作者头像
大数据杂货铺
发布2020-02-11 16:16:07
6100
发布2020-02-11 16:16:07
举报
文章被收录于专栏:大数据杂货铺大数据杂货铺

随着世界进入大数据时代,对其存储的需求也在增长。直到2010年,它一直是企业行业面临的主要挑战和关注点。主要重点是构建用于存储数据的框架和解决方案。现在,当Hadoop和其他框架成功解决了存储问题时,重点就转移到了处理这些数据上。数据科学是这里的秘诀。您在好莱坞科幻电影中看到的所有想法实际上都可以通过数据科学变成现实。数据科学是人工智能的未来。因此,了解什么是数据科学及其如何为您的业务增加价值非常重要。

在此博客中,我将介绍以下主题。

• 对数据科学的需求。

• 什么是数据科学?

• 它与商业智能(BI)和数据分析有何不同?

• 借助用例,数据科学的生命周期。

到本博客结束时,您将能够了解什么是数据科学及其在从我们周围的复杂和大型数据集中提取有意义的见解中的作用。

让我们了解为什么我们需要数据科学

• 传统上,我们拥有的数据大多是结构化的,并且规模较小,可以使用简单的BI工具进行分析。与传统的系统中大多数数据是结构化的数据不同,如今大多数数据是非结构化或半结构化的。让我们看看下图中的数据趋势,该趋势表明,到2020年,超过80%的数据将是非结构化的。

此数据是从不同来源生成的,例如财务日志、文本文件、多媒体表格、传感器和工具。简单的BI工具无法处理如此庞大的数据量。这就是为什么我们需要更复杂和高级的分析工具和算法来处理,分析和汲取有意义的见解的原因。

这不是数据科学如此受欢迎的唯一原因。让我们更深入地了解数据科学如何在各个领域中使用。

• 如何从现有数据(例如客户的过去浏览历史记录、购买历史记录、年龄和收入)中了解客户的确切要求,该怎么办。毫无疑问,您也早先拥有了所有这些数据,但是现在有了大量和各种各样的数据,您可以更有效地训练模型,并以更高的精度向客户推荐产品。因为它将为您的组织带来更多业务,这会令人惊讶吗?

• 让我们采用另一种情况来理解数据科学在决策中的作用。 如果您的汽车具有将您开车回家的智能,该怎么办?自动驾驶汽车从传感器收集实时数据,包括雷达,摄像机和激光,以绘制周围环境的地图。基于这些数据,它可以使用先进的机器学习算法来做出决策,例如何时加速,何时减速,何时超越,何时转向。

• 让我们看看如何在预测分析中使用数据科学。让我们以天气预报为例。可以收集并分析来自船舶,飞机,雷达,卫星的数据,以建立模型。这些模型不仅可以预测天气,而且可以预测任何自然灾害的发生。它将帮助您事先采取适当措施并挽救许多宝贵的生命。

让我们看一下下面的信息图,以查看Data Science为其创造印象的所有领域。

既然您已经了解了数据科学的需求,那么让我们了解什么是数据科学。

什么是数据科学?

术语“数据科学”的使用越来越普遍但是它的确切含义是什么?您需要什么技能才能成为数据科学家?BI和数据科学之间有什么区别?数据科学如何做出决策和预测?这些是将进一步回答的一些问题。

首先,让我们看看什么是数据科学。数据科学融合了各种工具,算法和机器学习原理,旨在从原始数据中发现隐藏的模式。这与统计学家多年来所做的有何不同?

答案在于解释和预测之间的差异。

从上图可以看到,Data Analyst 通常通过处理数据的历史来解释发生了什么。另一方面,数据科学家不仅进行探索性分析以从中发现见解,而且还使用各种先进的机器学习算法来识别将来特定事件的发生。数据科学家会从多个角度(有时是以前未知的角度)查看数据。

因此,数据科学主要用于通过预测因果分析,说明性分析(预测性与决策科学)和机器学习来做出决策和预测。

预测因果分析– 如果您想要一个可以预测未来特定事件可能性的模型,则需要应用预测因果分析。假设,如果您以信贷方式提供资金,那么客户将来按时还款的可能性就是您所关心的问题。在这里,您可以构建一个模型,该模型可以对客户的付款历史执行预测分析,以预测未来的付款是否按时进行。

规范分析:如果您想要一个具有自行决策能力并能够使用动态参数进行修改的模型,那么您当然需要对其进行规范分析。这个相对较新的领域就是提供建议。在其他术语中,它不仅可以预测,而且可以建议一系列规定的操作和相关的结果。

• 最好的例子就是Google的自动驾驶汽车。车辆收集的数据可用于训练自动驾驶汽车。您可以在此数据上运行算法以为其带来智能。这将使您的汽车能够做出决定,例如何时转弯,走哪条道路,何时减速或加速。

机器学习来进行预测-如果您拥有金融公司的交易数据,并且需要建立模型来确定未来趋势,那么机器学习算法是最好的选择。这属于监督学习的范式。之所以称为有监督的,是因为您已经有了可以训练机器的基础数据。例如,可以使用欺诈性购买的历史记录来训练欺诈性检测模型。

用于模式发现的机器学习— 如果您没有可以进行预测的依据,那么您需要找出数据集中的隐藏模式才能做出有意义的预测。这只是无监督的模型,因为 您没有用于分组的预定义标签。模式发现最常用的算法是聚类。

• 假设您在一家电话公司中工作,并且需要通过在某个区域放置塔来建立网络。然后,您可以使用聚类技术找到那些信号塔位置,以确保所有用户都能获得最佳信号强度。

让我们看看上述方法在数据分析和数据科学中的比例有何不同。如下图所示,数据分析在一定程度上包括描述性分析和预测。另一方面,数据科学更多地涉及预测因果分析和机器学习。

我相信您可能也听说过商业智能(BI)。数据科学常常与BI混淆。我将陈述两者之间的简洁明了的对比,这将有助于您更好地理解。

商业智能(BI)与数据科学

• BI基本上会分析先前的数据,以找到事后的见解和见解来描述业务趋势。BI使您能够从外部和内部来源获取数据,进行准备,在其上运行查询以及创建仪表板来回答诸如季度收入分析或业务问题之类的问题。BI可以在不久的将来评估某些事件的影响。

• 数据科学是一种更具前瞻性的方法,是一种探索性方法,重点在于分析过去或当前数据并预测未来结果,以做出明智的决策。它回答了有关“什么”和“如何”事件发生的开放式问题。

让我们看一下一些对比功能。

特征

商业智能(BI)

数据科学

数据源

结构化(通常为SQL,通常为数据仓库)

结构化和非结构化(日志,云数据,SQL,NoSQL,文本)

方法

统计与可视化

统计,机器学习,图分析,神经语言程序设计(NLP)

焦点

过去和现在

现在与未来

工具类

Pentaho,Microsoft BI, QlikView,R

RapidMiner,BigML,Weka,R

这就是什么是数据科学,现在让我们了解数据科学的生命周期。

数据科学项目中的一个常见错误是在不了解需求甚至无法正确地构架业务问题的情况下匆匆进入数据收集和分析。因此,对您而言,在数据科学的整个生命周期中遵循所有阶段以确保项目的顺利运行非常重要。

数据科学的生命周期

以下是数据科学生命周期主要阶段的简要概述:

第1阶段-发现: 在开始项目之前,了解各种规格,要求,优先级和所需预算很重要。您必须具备提出正确问题的能力。 在这里,您可以评估是否存在所需的人力、技术、时间和数据方面的资源来支持该项目。 在此阶段,您还需要确定业务问题并制定初始假设(IH)进行测试。

第2阶段-数据准备: 在此阶段,您需要分析沙箱,您可以在其中对项目的整个持续时间进行分析。您需要在建模之前浏览,预处理和调整数据。此外,您将执行ETLT(提取,转换,加载和转换)以将数据获取到沙箱中。让我们看一下下面的统计分析流程。

您可以使用R进行数据清理,转换和可视化。这将帮助您发现异常值并在变量之间建立关系。 清理并准备好数据后,就该对数据进行探索性分析了。让我们看看如何实现这一目标。

第3阶段-模型规划:在这里,您将确定绘制变量之间关系的方法和技术。 这些关系将为您将在下一阶段实现的算法奠定基础。 您将使用各种统计公式和可视化工具来应用探索性数据分析(EDA)。

让我们看一下各种模型规划工具。

1. R 具有完整的建模功能,并为构建解释模型提供了良好的环境。

2. SQL Analysis Services 可以使用常见的数据挖掘功能和基本预测模型来执行数据库内分析。

3. SAS / ACCESS 可用于从Hadoop访问数据,并用于创建可重复和可重用的模型流程图。

尽管市场上有很多工具,但是R是最常用的工具。

现在,您已经洞悉了数据的性质,并决定了要使用的算法。在下一阶段,您将应用算法并建立模型。

阶段4-构建模型:在此阶段中,您将开发用于训练和测试目的的数据集。 您将考虑您现有的工具是否足以运行模型,或者是否需要更强大的环境(例如快速和并行处理)。 您将分析各种学习技术,例如分类,关联和聚类以构建模型。

您可以通过以下工具实现模型构建。

阶段5-操作化: 在此阶段中,您将提供最终报告、简介、代码和技术文档。 此外,有时还会在实时生产环境中实施试点项目。在全面部署之前,这将为您提供小规模的性能和其他相关约束的清晰画面。

阶段6-沟通结果: 现在,重要的是评估您是否能够实现您在第一阶段中计划的目标。因此,在最后一个阶段中,您将确定所有关键发现,与利益相关者进行交流,并根据阶段1中开发的标准确定项目的结果是成功还是失败。

现在,我将进行一个案例研究,以向您解释上述各个阶段。

案例研究:糖尿病预防

如果我们可以预测糖尿病的发生并事先采取适当的预防措施,该怎么办?

在此用例中,我们将利用我们之前讨论的整个生命周期来预测糖尿病的发生。让我们完成各个步骤。

步骤1:

• 首先,我们将根据阶段1中讨论的患者病史来收集数据。您可以参考以下示例数据。

• 如您所见,我们具有如下所述的各种属性。

属性:

代码语言:javascript
复制
1. npreg –怀孕次数
2. glucose–血浆葡萄糖浓度
3. bp –血压
4. skin–三头肌皮褶厚度
5. bmi –体重指数
6. ped –糖尿病谱系功能
7. age–年龄
8. income–收入

步骤2:

• 现在,一旦有了数据,就需要清理并准备数据以进行数据分析。

• 此数据有很多不一致之处,例如缺少值,空白列,突变值和不正确的数据格式,需要清除。

• 在这里,我们将数据按照不同的属性组织到一个表中-使其看起来更加结构化。

• 让我们看看下面的示例数据。

此数据有很多不一致之处。

1. 在npreg列中,“ one”是用单词写的,而它应该是数字形式,如1。

2. 在bp列中,值之一是6600,这是不可能的(至少对于人类而言), 因为bp不能上升到如此大的值。

3. 如您所见,“ income”列为空白,对预测糖尿病也没有任何意义。因此,将其放在此处是多余的,应将其从表中删除。

• 因此,我们将通过消除异常值,填充空值并标准化数据类型来清理和预处理此数据。记住,这是我们的第二阶段,即数据预处理。

• 最后,我们获得了如下所示的干净数据,可用于分析。

步骤3:

现在让我们进行一些分析,如之前在第3阶段中讨论的那样。

• 首先,我们将数据加载到分析沙箱中并对其应用各种统计功能。例如,R具有诸如describe这样的函数,该函数为我们提供了缺失值和唯一值的数量。我们还可以使用摘要功能,该功能将为我们提供统计信息,例如平均值,中位数,范围,最小值和最大值。

• 然后,我们使用直方图,折线图,箱形图等可视化技术来获得数据分布的合理思路。

步骤4:

现在,根据上一步得出的见解,最适合此类问题的是决策树。让我们看看如何?

• 由于我们已经具有npreg,bmi等分析的主要属性,因此我们将在这里使用监督学习技术来构建 模型。

• 此外,我们之所以特别使用决策树,是因为它一并考虑了所有属性,例如具有线性关系的属性和具有非线性关系的属性。在我们的情况下,npregage之间具有线性关系npregped之间具有非线性关系。

• 决策树模型也非常健壮,因为我们可以使用属性的不同组合来制作各种树,然后最终以最大的效率实施一棵。

让我们看一下决策树。

在这里,最重要的参数是葡萄糖水平,因此它是我们的根节点。现在,当前节点及其值确定要采用的下一个重要参数。直到我们得到posneg的结果为止。Pos表示患糖尿病的倾向是阳性,而neg表示患糖尿病的倾向是阴性。

如果您想了解有关决策树实施的更多信息,请参阅此博客如何创建完美的决策树

步骤5:

在此阶段,我们将运行一个小型试点项目,以检查我们的结果是否合适。我们还将寻找性能限制(如果有)。如果结果不准确,则我们需要重新计划和重建模型。

步骤6:

成功执行项目后,我们将共享输出以进行完整部署。

作为数据科学家,说起来容易做起来难。因此,让我们来看一下成为一名数据科学家所需的一切。 数据科学家基本上需要以下三个主要领域的技能 。

如上图所示,您需要掌握各种硬技能和软技能。您需要精通统计数学才能分析和可视化数据。毋庸置疑,机器学习构成了数据科学的核心,并要求您精通它。另外,您需要对所使用的领域有深刻的了解,才能清楚地了解业务问题。您的任务不会在这里结束。您应该能够实现各种需要良好编码技能的算法。最后,一旦做出某些关键决策,将这些决策交付给利益相关者就很重要。所以,良好的沟通 肯定会为您的技能增添印象分。

来源:https://www.edureka.co/blog/what-is-data-science/

作者:Hemant Sharma

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-01-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据杂货铺 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档