加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 创业 > 模式 > 正文

数据科学思维 :打造健康数据驱动组织的 6 条原则

发布时间:2019-06-11 15:21:30 所属栏目:模式 来源:数据分析
导读:副标题#e# 要点 大多数组织都难以解锁数据科学以优化其操作流程,让数据科学家、分析师和业务团队采用一致的语言:不同的团队和数据科学流程常常是形成摩擦的根源。 健康的数据科学组织框架是一系列方法论、技术和资源的组合,它们将帮助你的组织 (从业务理

我们以预测性维护为例,这是一种用于预测在役机器何时会发生故障的技术,它使你能够对其维护提前很好地进行规划。事实证明,这是一个非常广泛的领域,有着各种各样的最终目标,比如预测故障的根本原因、哪些部件需要更换以及故障发生后何时提供维护建议等等。

许多公司正在尝试进行预测性维护,以及从各种传感器和系统中获得大量数据。但是,通常情况下,客户并没有足够的故障历史数据,这使得预测维护非常困难。毕竟,为了预测未来的故障事件,需要基于此类故障历史数据对模型进行培训。因此,尽管为任何分析项目制定愿景、目的和范围很重要,但是从收集合适的数据开始才至关重要。用于预测维护的相关数据源包括但不限于:故障历史、维护 / 维修历史、机器操作条件、设备元数据。让我们假定有一个车轮故障用例:训练数据应该包含与车轮操作相关的特征。如果问题是预测牵引系统的故障,训练数据必须包含牵引系统的所有不同部件。第一个案例针对特定的组件,而第二个案例针对较大子系统的故障。一般的建议是设计关于特定组件的预测系统,而不是更大的子系统。

给定上述数据源,预测维护领域中观察到的两种主要数据类型是:1)暂态数据(如操作遥感、机器条件、工作指令类型、记录时具有时间戳的优先级代码)。故障、维护 / 修理和使用历史记录也将有与每个事件相关联的时间戳);2)静态数据(机器特征和操作员特征一般是静态的,因为它们描述了机器或操作员属性的技术规格。如果这些特征随着时间的推移而改变,那么它们也应该具有与之相关联的时间戳)。预测器和目标变量应该根据使用的算法进行预处理 / 转换为数值、分类和其他数据类型。

2. 决定如何度量它

考虑组织如何度量数据也同样重要,尤其是在数据收集和摄入阶段之前。这一子步骤的关键问题包括:

时间是什么时候? 度量单位是什么? 应该包括哪些因素?

此步骤的中心目标是确定分析需要预测的关键业务变量。我们将这些变量称为模型目标,并使用与它们关联的度量来确定项目的成功。针对这类目标,举两个例子为销售预测或预测是欺诈性订单的可能性。

3. 定义成功指标

在标识关键业务变量之后,将业务问题转换为数据科学问题并定义界定项目是否成功的度量标准非常重要。组织通常使用数据科学或机器学习来回答以下五类问题:

多少?(回归) 哪一类?(分类) 哪一组?(聚类) 这奇怪吗?(异常检测) 应该采取哪种选择?(推荐)

确定公司正在询问哪些问题,以及如何回答这些问题,这样才能实现业务目标,并能够对结果进行度量。在这一点上,通过提出和精炼相关的、具体的、明确的尖锐问题来重新审视项目目标是很重要的。例如假设,一家公司想要实现客户流失率的预测,需要精确到在一个为期三个月的项目结束时达到“x”%。有了这些数据,公司就可以为客户提出减少客户流失率的促销活动了。

以我们的职业劳务公司为例,我们决定解决的第一个业务问题是,如何预测一个新项目的员工组合,例如一名高级会计师加两名会计助理。对于这种客户参与,我们使用了近五年个人级别的每日历史项目数据。我们删除了任何有负边际贡献或负总小时数的数据。我们首先从测试数据集中随机抽取了 1000 个项目,以加速参数调优。在确定了最优参数组合后,我们对测试数据集中的所有项目进行了相同的数据准备。

我们使用了一种聚类方法:K 最近邻 (KNN) 算法。KNN 是一种简单、易于实现的监督机器学习算法。KNN 算法假设相似的事物具有很近的距离,从而在训练数据中找到最相似的数据点,并根据它们的分类进行有根据的猜测。该方法虽然易于理解和实现,但在推荐系统、语义搜索和异常检测等领域也得到了广泛的应用。

在第一步中,我们使用 KNN 来预测一个新项目的人员组成,也就是说,使用历史项目数据预测每种人员分类 / 职务的数量。我们根据不同的项目属性,如项目类型、总账款、行业、客户、收入范围等,找出与新项目相似的历史项目。我们根据业务规则和标准为每个项目属性分配了不同的权重。我们还删除了任何有负边际贡献 (利润) 的数据。对于每一种人员分类,通过计算同类历史项目对应人员分类的人员数量加权和来预测人员数量。最后将这些权值规格化,使所有权值的和为 1。在计算加权和之前,我们剔除了 10% 的过高异常值和 10% 的过低异常值。

我们要解决的第二个业务问题是,如何计算新项目的员工适合度得分,我们决定使用基于内容的自定义过滤方法:具体来说,我们实现了一个基于内容的算法来预测员工的经验与项目需求的匹配度。在基于内容的过滤系统中,通常是根据用户对条目的历史评分来计算得出用户配置文件。这些用户配置文件描述了用户的品味和偏好。为了预测员工对新项目的适合度,我们使用历史数据为每个员工创建了两个员工档案向量:一个向量基于的是一个小时数,它代表员工在不同类型项目上的经验和专业技能;另一个向量基于的是每小时贡献利润率 (CMH),它代表员工在不同类型项目上的盈利能力。新项目的员工适合度评分是通过计算这两个员工轮廓向量和代表项目重要属性的二进制向量之间的内积来计算的。

我们使用Azure 机器学习服务实现了这个机器学习步骤。使用主流的 Python SDK和用于 Azure 机器学习的Data Prep SDK,我们在 Azure 机器学习服务工作区中构建我们的机器学习模型,并对其展开训练。这个工作区是为该服务准备的顶级资源,它为我们提供了一个集中的地方来处理这个项目创建的所有工件。

为了创建一个工作区,我们确定了以下配置项:

当我们创建一个工作区时,会自动添加以下 Azure 资源:

Azure Container Registry(Azure 容器注册表) Azure Storage(Azure 存储) Azure Application Insights(Azure 应用洞见) Azure Key Vault(Azure 密钥保管库)

该工作区保存了一个计算目标列表,你可以使用这些目标训练你的模型。它还保存执行训练的历史记录,包括日志、指标、输出和脚本快照。我们使用这些信息来确定哪个训练运行生成了最佳模型。

之后,我们将模型注册到工作区中,并使用注册的模型和计分脚本创建用于部署的镜像(为此用例构建端到端体系结构的相关更多细节将在下面讨论)。工作区的概念和机器学习流程如图 4 所示:

原则 3:构建端到端解决方案

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读