《Scala机器学习》一一第2章 数据管道和建模

简介:

第2章 数据管道和建模

上一章介绍了一些研究数据的基本工具。本章将深入介绍一些更复杂的主题,其中包括建立统计模型、最优控制以及科学驱动(science-driven)的工具等问题。不过事先声明,本书只会涉及最优控制的若干主题,因为本书是介绍基于Scala的机器学习(ML),而不是数据驱动的企业管理理论,企业管理理论本身就足以写成一本书。
本章不会介绍基于Scala的具体实现,而是在一个高层次上探讨构建数据驱动型企业的问题。后面的章节将详细讨论如何实现这些细节。本章也特别强调不确定性的处理。不确定性通常包含几个因素:首先,所得的信息肯定包含有噪声;其次,信息可能是不完整的,而系统在填充缺失部分时可能会有一定的随意性,这会带来不确定性。最后,可能对模型的解释和度量结果也存在差异,这一点容易被忽略,因为大多数经典教材都认为可以直接度量这些数据。但度量过程可能有噪音,而且度量的定义也是随时间变化的,比如满意度或幸福感的度量。当然,可以像通常所做的那样,只优化度量指标来避免歧义性。但这样做显然限制了应用领域。科学研究总是可以找到处理不确定性的方法。
预测的模型通常只是为理解数据而构建。从语言的衍化角度而言,模型是现实中复杂事物或处理过程的一种简化表示,以此来表明自己的观点并让人信服。预测模型的最终目标是通过为了找出最重要的影响因子来优化业务流程,使世界变得更美好。这正是本书(特别是本章)所关注的内容。建立预测模型必然有许多不确定因素,但是至少比优化点击率之类的模型要好得多。
传统的商业决策过程是这样的:传统商业可能是多个公司的高级主管做出的决策,该决策会基于一组可交互的图形信息,这些信息来自一个或多个数据库。自动化数据驱动业务声称能够自动做出不带主观因素的决策。但这并不是说不需要高级管理人员了,他们要帮助机器来做决策。
本章会涉及如下内容:
了解影响图的基本知识
在自适应Markov决策过程和Kelly准则下研究纯决策优化的各种情况
熟悉至少三种不同的实用策略,以便进行权衡
描述数据驱动的企业体系结构
讨论决策流程(pipeline)的主要结构组件
熟悉建立数据管道的标准工具

相关文章
|
存储 缓存 流计算
Flink / Scala- BroadCast 广播流数据先到再处理 Source 数据
Flink 支持增加 DataStream KeyBy 之后 conncet BroadCastStream 形成 BroadConnectedStream,广播流内数据一般为不间断更新的上下文信息,这里介绍如果等待广播流初始化完毕再处理 Source 数据
1878 0
Flink / Scala- BroadCast 广播流数据先到再处理 Source 数据
|
分布式计算 关系型数据库 MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
161 3
|
存储 分布式计算 NoSQL
Flink / Scala - 使用 Jedis、JedisPool 作为 Source 读取数据
现在有一批数据写入多台 Redis 相同 key 的队列中,需要消费 Redis 队列作为 Flink Source,为了提高可用性,下面基于 JedisPool 进行队列的消费。
1366 0
Flink / Scala - 使用 Jedis、JedisPool 作为 Source 读取数据
|
数据采集 XML 编译器
Scala爬虫实战:采集网易云音乐热门歌单数据
Scala爬虫实战:采集网易云音乐热门歌单数据
|
JSON 分布式计算 Hadoop
Spark-数据读取与保存(Scala版)
Spark-数据读取与保存(Scala版)
|
分布式计算 Java API
Flink / Scala - DataSource 之 DataSet 获取数据总结
数据源创建初始数据集,这里主要以 DataSet 数据源为例,例如从文件或者从 collection 中创建,后续介绍 DataStreaming 的数据源获取方法。
608 0
Flink / Scala - DataSource 之 DataSet 获取数据总结
|
消息中间件 存储 Java
Flink / Scala - DataSet & DataStream Sink 输出数据详解
一.引言 Flink 的数据处理主要分三步,第一步 Source 为数据源,分为 DataSet 和 DataStreaming ,后一步为 Transformation 负责处理和转换数据,针对不同的 DataSource,Transformation 可能会存在差异,最后一步是 sink 负责将结果输出。前面介绍了 DataSet 的 Source 和 Transformation,这里介绍下 DataSet 和 DataStreaming 的 Sink 相关 API。 Tips: 下述代码区
915 0
Flink / Scala - DataSet & DataStream Sink 输出数据详解
|
消息中间件 监控 NoSQL
Flink / Scala - DataSource 之 DataStream 获取数据总结
DataStream API 得名于特殊的 DataStream 类,该类用于表示 Flink 程序中的数据集合。你可以认为 它们是可以包含重复项的不可变数据集合。这些数据可以是有界(有限)的,也可以是无界(无限)的,但用于处理它们的API是相同的。下面将介绍 DataStream 的常见初始化方法。...
1468 0
Flink / Scala - DataSource 之 DataStream 获取数据总结
|
存储 分布式计算 NoSQL
Flink / Scala - 使用 RedisSink 存储数据
现在有一批流数据想要存储到 Redis 中,离线可以使用 Spark + foreach 搞定,由于是多流 join 且带状态,所以 SparkStreaming + foreach 也无法实现,而 Flink 不支持 foreach 操作触发 execute,这里采用 RedisSink 代替实现 foreach 逻辑。
1428 0
Flink / Scala - 使用 RedisSink 存储数据
|
存储 XML 分布式计算
小六六学大数据之 Spark(Scala)(上)
前言 文本已收录至我的GitHub仓库,欢迎Star:github.com/bin39232820… 种一棵树最好的时间是十年前,其次是现在
298 0