Apache Spark机器学习.1.8 Spark notebook简介

简介:

1.8 Spark notebook简介


在本节中,我们首先讨论有关面向机器学习的notebook方法。然后,我们介绍R Markdown,以其作为一个成熟的notebook案例,最后介绍Spark中的R notebook。

学习完本节,读者将掌握notebook相关的方法和概念,并为将其用于管理和开发机器学习项目做好准备。

1.8.1 面向机器学习的notebook方法

notebook已经成为众人青睐的机器学习工具,因为该工具既能动态驱动,还具备可重复生成的特点。

大部分notebook接口由一系列代码块(称为单元)构成。其开发过程是一个探索的过程,开发者借此可以在一个单元中开发和运行代码,然后基于上一个单元的结果继续编写下一单元代码。特别是机器学习从业者分析大型数据集时,这种交互式方法利于从业者迅速发现数据模式或提出数据洞见。因此,notebook型的开发过程提供了探索式和交互式途径来编写代码,并可立即检查结果。

notebook允许用户在同一文件中无缝地融合代码、输出和注释,这便于机器学习从业者在后一阶段复用他们的工作。

采用notebook方法确保了可复用性,分析与计算、展现的一致性,从而结束了研究管理的复制和粘贴方式。

具体而言,运用notebook,用户可以实现:

迭代分析

透明报告

无缝协作

清晰计算

涵盖结果等的评估推理

以统一方式,notebook方法也为机器学习实践集成提供了许多分析工具

关于使用重现方法的更多信息,请访问:http://chance.amstat.org/2014/09/reproducible-paradigm/(R Markdown)。

R Markdown是一款非常流行的工具,可以帮助数据科学家和机器学习从业者生成动态报告,也能帮助他们重复使用分析流程。R Markdown是一种先进的notebook工具。

参照RStudio的说明:

“R Markdown是一种标签格式,允许方便地制作来源于R语言中可复写的web报表。通过把Markdown核心语法(一种易于编写网页内容的纯文本格式)与嵌入运行的R代码块连接,输出结果将包含在最终文件中。”

这样,我们可以使用R语言和Markdown程序包加上其他一些第三方相关的程序包,比如knitr,编写可复用的分析报告。然而,如果整合使用RStudio和Markdown包,将使数据科学家的工作变得更简便。

对R语言用户来说,使用Markdown非常容易。下面我们通过一个例子,说明如何使用三个简单的步骤创建一个报告。

第1步:做好软件准备

1.下载RStudio软件,网址:http://rstudio.org/。

2.设置RStudio选项:在菜单“Tools >Options”下,单击“Sweave”,选择“Knitr at Weave Rnw files using Knitr”。

第2步:安装Knitr包

1.在RStudio中安装包,你可以选择菜单“Tools >Install Packages”,然后可选择一个CRAN镜像站点和包进行安装。安装包的另一种方法是使用函数install.packages()。

2.为安装源自Carnegi Mellon Statlib CRAN镜像站点下的knitr包,我们可以使用函数命令:install.packages(“knitr”, repos = “http://lib.stat.cmu.edu/R/CRAN/”)。

第3步:创建一个简单的报告

1.单击菜单“File >New >R Markdown”,创建一个空白R Markdown文件。接下来将打开一个新建的.Rmd文件。

2.当你创建了空白文件,会看到一个已经写好的模块。

一个简单的方法是用你自己的信息替换相应的部分内容。

 

3.输入所有信息后,单击“Knit HTML”。

 

4.现在你会看到已经生成一个.html文件。

1.8.2 Spark notebook

目前,有一些与Apache Spark计算兼容的notebook。其中,由Spark原创团队开发的Databricks是最好的。Databricks notebook与R Markdown类似,但Databricks notebook实现了与Apache Spark无缝集成。

除了SQL、Python和Scala,现在Databricks notebook也可用于R语言,并且Spark 1.4默认包含了SparkR包。也就是说,从现在开始,数据科学家和机器学习从业者在R语言环境中通过在Spark之上编写和运行R notebook,就可毫不费力地从Apache Spark强大的能力中获益。

除了SparkR,通过运用install.packages(),能够十分方便地在Databricks的R notebook中安装R程序包。因此,数据科学家和机器学习从业者运用Databricks R notebook,即可获得Spark上R Markdown的技术功效。数据科学家和机器学习从业者可以(使用SparkR)访问和操作分布式存储(如亚马逊S3)或数据仓库(如Hive)上的大数据集(例如TB级的数据)。甚至,他们可以收集SparkR DataFrame的数据到本地的数据框中。

可视化是机器学习项目的重要组成部分。在R notebook中,数据科学家和机器学习从业者可以使用任何R语言的可视化库,包括R基本绘图函数,ggplot或者Lattice。如同R Markdown,绘图在R notebook中内联显示。用户可以对R DataFrame或SparkR DataFrame应用Databricks的内置函数display()。其结果在notebook显示为一个表,随后点击就可绘图。类似于其他(如Python notebook)的Databricks notebook,数据科学家还可以在R notebook里使用displayHTML()函数,生成任意基于HTML和Javascript的可视化。

Databricks端到端的解决方案也使建立从采集到生产的机器学习pipeline模型更加简便,应用于R notebook时,数据科学家可在Spark集群上安排R notebook作业的运行。包括可视化在内的每个运行作业的结果,可立即被浏览,这样使得工作到生产力的转化效率更加简洁快速。

综上所述,Databricks R notebook运用简约的Spark集群管理、丰富的一键可视化和生产作业的即时部署,让R语言用户充分利用了Spark的强大功能。Databricks R notebook提供了一个30天的免费试用。

请访问:https://databricks.com/blog/2015/07/13/introducing-r-notebooks-in-dat-a-br-icks.html。

相关文章
|
7月前
|
存储 机器学习/深度学习 Apache
如何将Apache Hudi应用于机器学习
如何将Apache Hudi应用于机器学习
67 0
|
7月前
|
机器学习/深度学习 数据采集 分布式计算
【机器学习】Spark ML 对数据进行规范化预处理 StandardScaler 与向量拆分
标准化Scaler是数据预处理技术,用于将特征值映射到均值0、方差1的标准正态分布,以消除不同尺度特征的影响,提升模型稳定性和精度。Spark ML中的StandardScaler实现此功能,通过`.setInputCol`、`.setOutputCol`等方法配置并应用到DataFrame数据。示例展示了如何在Spark中使用StandardScaler进行数据规范化,包括创建SparkSession,构建DataFrame,使用VectorAssembler和StandardScaler,以及将向量拆分为列。规范化有助于降低特征重要性,提高模型训练速度和计算效率。
142 6
|
7月前
|
机器学习/深度学习 分布式计算 算法
【机器学习】Spark ML 对数据特征进行 One-Hot 编码
One-Hot 编码是机器学习中将离散特征转换为数值表示的方法,每个取值映射为一个二进制向量,常用于避免特征间大小关系影响模型。Spark ML 提供 OneHotEncoder 进行编码,输入输出列可通过 `inputCol` 和 `outputCol` 参数设置。在示例中,先用 StringIndexer 对类别特征编码,再用 OneHotEncoder 转换,最后展示编码结果。注意 One-Hot 编码可能导致高维问题,可结合实际情况选择编码方式。
119 6
|
6月前
|
机器学习/深度学习 分布式计算 API
技术好文:Spark机器学习笔记一
技术好文:Spark机器学习笔记一
46 0
|
7月前
|
机器学习/深度学习 分布式计算 算法
使用Spark进行机器学习
【5月更文挑战第2天】使用Spark进行机器学习
84 2
|
7月前
|
存储 机器学习/深度学习 Apache
Apache Hudi与机器学习特征存储
Apache Hudi与机器学习特征存储
87 0
|
7月前
|
存储 机器学习/深度学习 分布式计算
Apache Hudi在Hopsworks机器学习的应用
Apache Hudi在Hopsworks机器学习的应用
136 0
|
7月前
|
机器学习/深度学习 分布式计算 算法
Spark MLlib简介与机器学习流程
Spark MLlib简介与机器学习流程
|
7月前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
251 14
|
7月前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)

推荐镜像

更多