《Scala机器学习》一一导读

前  言

这是一本关于机器学习的书,它以Scala为重点,介绍了函数式编程方法以及如何在Spark上处理大数据。九个月前,当我受邀写作本书时,我的第一反应是:Scala、大数据、机器学习,每一个主题我都曾彻底调研过,也参加了很多的讨论,结合任何两个话题来写都具有挑战性,更不用说在一本书中结合这三个主题。这个挑战激发了我的兴趣,于是就有了这本书。并不是每一章的内容都像我所希望的那样圆满,但技术每天都在快速发展。我有一份具体的工作,写作只是表达我想法的一种方式。
下面先介绍机器学习。机器学习经历了翻天覆地的变换;它是由人工智能和统计学发展起来的,于20世纪90年代兴起。后来在2010年或稍晚些时候诞生了数据科学。数据科学家有许多定义,但Josh Wills的定义可能最通俗,我有幸在Cloudera工作时和他共事过。这个定义在图1中有具体的描述。虽然细节内容可能会有争议,但数据科学确实是几个学科的交叉,数据科学家不一定是任何一个领域的专家。据Jeff Hammerbacher(Cloudera的创始人,Facebook的早期员工)介绍,第一位数据科学家工作于Facebook。Facebook需要跨学科的技能,以便从当时大量的社交数据中提取有价值的信息。虽然我自称是一个大数据科学家,但我已经关注这个交叉领域很久了,以至于有太多知识出现混淆。写这本书就是想使用机器学习的术语来保持对这些领域的关注度。

目录

第1章 探索数据分析
1.1 Scala入门
1.2 去除分类字段的重复值
1.3 数值字段概述
1.4 基本抽样、分层抽样和一致抽样
1.5 使用Scala和Spark的Notebook工作
1.6 相关性的基础
1.7 总结
第2章 数据管道和建模
2.1 影响图
2.2 序贯试验和风险处理
2.3 探索与利用问题
2.4 不知之不知
2.5 数据驱动系统的基本组件
2.6 优化和交互
第3章 使用Spark和MLlib
3.1 安装Spark
3.2 理解Spark的架构
3.3 应用
3.4 机器学习库
3..5 Spark的性能调整
3.6 运行Hadoop的HDFS
3.7 总结

时间: 2024-11-18 20:32:26

《Scala机器学习》一一导读的相关文章

《算法设计与分析》一一导读

前言 算法是计算的灵魂(spirit of computing),而算法设计与分析的基础知识是计算机科学的基石.算法设计与分析的知识内容很丰富,可以从不同视角进行组织与阐述.一种视角是关注经典的算法问题,如排序.选择.查找.图遍历等:另一种视角是关注经典的算法设计策略,包括分治.贪心.动态规划等.本书的组织兼顾问题与策略两种视角.首先按照经典的算法设计策略,将书中的主体内容分为遍历.分治.贪心.动态规划4个部分.其次在每个部分之内,又围绕经典的算法问题来阐述该部分所着重讨论的策略. 本书集中讨论

《算法设计与分析》一一2.1 数学运算背后的算法操作

2.1 数学运算背后的算法操作 虽然我们已经熟知很多数学概念与性质,但是从算法设计与分析的角度来看,还需要进一步将这些数学的概念与算法的运作联系起来.下面就从这一角度来讨论几组算法设计与分析中常用的数学概念与性质.2.1.1 取整x和x 我们熟知取整函数的定义:下取整函数x表示不超过x的最大整数:上取整函数x表示不小于x的最小整数.需要取整函数的本质原因在于算法分析中涉及的一些量往往是某种离散对象的个数,它必然是正整数.例如,算法的代价是关键操作的个数,问题的规模经常表示为输入元素的个数.输入数

《算法设计与分析》一一第3章 线性表的遍历

第3章 线性表的遍历 线性表是一种简单又广泛使用的数据结构.线性表中所有的元素组成线性序列.除头尾之外的每个元素都有唯一的前驱和后继:头元素只有后继,没有前驱,而尾元素只有前驱,没有后继.线性表的特征决定了我们很容易从头至尾依次扫描其中的每一个元素,而这一简单的遍历过程可以解决很多重要的算法问题. 线性表的遍历是在算法的简单性与高效性之间的一种权衡.基于线性表遍历的算法往往原理简单.易于实现和维护:但是其效率往往较低,有较大的提升空间.以线性表遍历为基础,我们可以进行更复杂的算法设计,例如,以遍

《算法设计与分析》一一第2章 从算法的视角重新审视数学的概念

第2章 从算法的视角重新审视数学的概念 CHAPTER 2 第2章 从算法的视角重新审视数学的概念根据我们在第1章中对抽象算法设计与分析的讨论,算法的本质是预先给定的一组指令的排列组合:而算法分析是对指令的执行和存储单元的使用等离散现象的计数.源于算法的这一本质属性,我们需要熟练掌握相应的数学知识为抽象算法设计与分析服务.这些数学知识往往是我们已经学习过的,现在的重点是要从抽象算法设计与分析的角度来重新审视它们.本章首先讨论算法设计与分析中常用的数学对象与数学性质.其次,为了进一步讨论算法代价的

屈婉玲-算法设计与分析课后习题答案

问题描述 算法设计与分析课后习题答案 需要算法设计与分析屈婉玲课后习题答案,希望哪位大神帮帮忙!大恩不言谢 解决方案 算法设计与分析课后习题3.2算法设计与分析课后习题3.5数据结构与算法分析课后习题第四章(1) 解决方案二: http://download.csdn.net/download/xiaomashengjie/6828333 不谢~

动态规划法求文本串的最优分行问题河海大学考博计算机算法设计与分析真题着急求解中

问题描述 动态规划法求文本串的最优分行问题河海大学考博计算机算法设计与分析真题着急求解中 列表并至少给出4步典型过程,求文本串"Do you like those people who always think of money and cannot remember the past."在列宽为15,惩罚函数为行空余空间的平方(最后一行不计惩罚)时的最优分行方案.不需要给出具体的实现代码.用动态规划算法给出列表

概率-算法设计与分析基础》书上看到的一道练习题

问题描述 算法设计与分析基础>书上看到的一道练习题 2C 丢失的袜子:假设在洗了5双各不相同的袜子以后,你发现有两只袜子不见了且每只袜子丢失的概率都相同,请找出最佳情况(留下四双完整袜子)的发生概率和最差情况(留下三双完整袜子)的发生概率以及平均情况下的概率. 解决方案 最佳情况发生的概率: C(51)/C(210) = 1/9最差情况发生的概率: 1 - 1/9 = 8/9 (因为非4即3),即:1-C(51)/C(102).顶多丢2双.期望: 4×(1/9)+ 3×(8/9) = 28/9

算法设计与分析 (希望答案能具体点)

问题描述 算法设计与分析 (希望答案能具体点) 设S1S2..Sk是整数集合每个集合Si(1<=i<=k)中整数取值范围是1到n且(求和 符号)|Si|=n试设计一个算法在O(n)时间内将S1S2..Sn分别排序.答案说用桶排序或者基数排序,有大神能快点解决么 解决方案 就用基数排序好了int sort(int * data int n){ int temp[k + 1]; for (int i = 1; i <=k; i++) temp[i] = 0; for (int i = 0;

《算法设计与分析》一一2.3 “分治递归”求解

2.3 "分治递归"求解 递归是一种基本的算法设计方法,而递归算法的代价往往可以用递归方程来描述,因而解递归方程就成为递归算法分析的重要技术.分治策略(divide and conquer)是一种简单而有效的算法设计策略(详见第三部分各章节的讨论),源自于分治算法分析的一类特定形式的递归方程我们称之为"分治递归"(divide and conquer recursion).本节着重讨论"分治递归"的求解方法.2.3.1 替换法 有一种"

《算法设计与分析》一一1.2 抽象算法设计

1.2 抽象算法设计 算法设计源于我们面临一个有待解决的算法问题.为此,我们首先讨论算法问题的严格定义,其次讨论算法设计,主要讨论证明算法正确性的基本方法.1.2.1 算法问题规约 基于RAM模型,我们主要讨论这样的算法:它接受有限的数据作为输入,进行相应的处理,在有限步内终止,并给出输出.因此我们可以将算法问题严格地定义为精确限定输入/输出的"规约"(specification)形式. 定义1.1(算法问题规约) 一个算法问题的规约主要包括两部分: ●输入:明确规定了算法接受的所有合