为了演示 dashDB 功能,您需要了解 Kaggle 数据挖掘比赛,以及如何使用 IBM Bluemix™ 和 dashDB 中提供的分析服务来充分参与到比赛中。即使您没有计划参加 Kaggle 比赛,也可以更深入地了解 dashDB 中的分析服务。
Kaggle 是一个数据科学家社区,科学家在该社区中合作解决复杂的数据科学问题。Kaggle 提供了公开的数据科学挑战,许多公司在这些挑战中提交了他们的数据。挑战(参见 图 1)发布给来自全球的统计学家和数据挖掘者,让他们比赛开发最佳的预测模型。任何人都可参与解决这些挑战,成功者将获得非常有诱惑力的奖励。
图 1. 示例 Kaggle 比赛
阅读: 进一步了解 Kaggle
阅读: 我需要学习 R 吗?
运行应用程序
获取代码
在本教程中,我们将使用 Kaggle Titanic Challenge 。2,000 多人参加了这次比赛,该比赛是一个开始掌握数据挖掘的非常流行的用例。
本案例分析引用了 1912 年英国皇家邮轮泰坦尼克号的沉没。泰坦尼克号的灾难因为与历史上 “优先抢救妇女儿童” 的海商法有关联而出名。因为泰坦尼克号没有配备足够数量的救生艇,所以只有极少数乘客得以幸存。
在这次挑战赛中,您需要分析哪些类型的人可能幸存。将使用一个决策树来确定泰坦尼克号的乘客是否会幸存。该决策树是根据输入参数而动态生成的。图 2 显示了将创建的一个决策树的示例。
图 2. 示例决策树
点击查看大图
关闭 [x]
本教程的输出包括:
Kaggle 比赛需要的一些高级工具。在本教程中,我们将解释哪些工具最好以及它们为什么是最好的。
R 是 Kaggle 参赛者最常使用的工具,与随后的 Matlab 和 SAS 拉开了很大差距。图 3显示了 Kaggle 上使用的最流行工具的条形图。
图 3. 图 2:Kaggle 参赛者使用的流行工具
R 是一种用于统计计算和绘图的开源编程语言和环境。编写 R 代码的最佳 IDE 是 RStudio。
R 工具的优势源于其灵活性和广泛的功能,但众所周知,它的底层内存模型效率低下。不幸的是,由于数据集很大,许多 Kaggle 比赛都需要处理大量内存。
要在比赛中取得成功,拥有一个能在项目的不同阶段之间来回迁移并测试它们的强大基础架构非常重要。使用简单的笔记本电脑在大部分情况下已行不通。所以,要解决这些 Kaggle 比赛中的大数据挑战,可在 IBM Bluemix 分析服务中获取该基础架构。
IBM dashDB 是云上的一个强大的数据仓库解决方案,它提供了强大的分析功能。
IBM dashDB 不仅提供了数据存储空间,还全面集成了 R。这种集成具有强大的威力,因为它提供了一个完全嵌入在 Web 浏览器中的完整 R Studio 实例,是最佳的 R IDE。IBM dashDB 利用您最喜欢的工具以最佳方式解决所有分析挑战。
在尝试解决 Kaggle 比赛挑战时,需要提供合适的位置来存储数据,还需要拥有合适的软件来分析它。IBM dashDB 为二者提供了解决方案。这些解决方案都包含在云中,而且为了提供最佳性能而进行了优化,以便您可以将精力集中在算法上,而不是处理基础架构。
阅读: 进一步了解 dashDB 技术
单击上面的 获取代码 按钮从 Github 导出源代码。单击 Download ZIP 获取整个项目。
点击查看大图
关闭 [x]
。然后完成以下字段:
点击查看大图
关闭 [x]
几秒之后,您的 Bluemix 仪表板中将会有一个 dashDB 实例。
在大多数 Kaggle 比赛中,您都会获得两个数据集:
可在第 1 步中下载的 Github 上的存储库中的 data 目录中找到这些数据集。
要将这些数据集加载到 dashDB 中:
点击查看大图
关闭 [x]
登录后,您就处于嵌入到 Web 浏览器中的一个完整的 RStudio 实例中。
点击查看大图
关闭 [x]
。
source("TitanicShinyApplication-master/init.r")
此命令将您需要的一些包安装在云中的 R 实例中。这是个一次性过程;安装这些包后,不需要再执行安装。
IBM dashDB 提供了一个名为 ibmdbR 的 R 包,它已安装在 dashDB 中您的 RStudio 实例中。这个包将许多基本和复杂的 R 操作推入数据库中,这会消除 R 的主要内存边界,有助于在底层数据中充分利用并行处理能力。
在 R 中,使用一个数据帧来存储数据表,这就像数据的电子表格。要使用数据库中的数据创建数据帧,可运行以下命令:
library(ibmdbR) con <- idaConnect("BLUDB","","") idaInit(con) query1<-paste('select * from train') trainDF <- idaQuery(query1,as.is=F)
图 4 显示了 RStudio 中显示的数据帧。
图 4. 泰坦尼克号数据集的数据帧的屏幕截图
将数据加载到 RStudio 中后,可应用许多不同的技术来分析数据并开始构建预测模型。本教程的目的不是介绍支撑预测模型的数学原理。为了提交用于比赛的模型,您需要构建一个包含乘客 ID 和幸存概率预测值的 CSV 文件。“ R 入门:Kaggle 中的泰坦尼克比赛 ” 中的 R Markdown 列出了一些可使用的技术:
在 RStudio 中,可以使用 Shiny 框架创建一种交互式、基于 Web 的方法来可视化和共享结果。
阅读: 自学 Shiny
您可以通过各种各样的方式来运行和创建 R Shiny 应用程序。例如,可以使用下面这条命令直接从 GitHub 存储库运行应用程序:
runGitHub("TitanicShinyApplication","aruizga7")
R Shiny 应用程序的文件包含在第 4 步中上传的存储库中。随意自定义应用程序。要运行它,可执行下面这条命令:
runApp("TitanicShinyApplication-master")
在 R Shiny 应用程序中,不需要使用 HTML、CSS 或 JavaScript 知识。可向分析中添加不同的文档,比如布局、控件、小部件和显示。我们的 Titanic 应用程序包含 4 个选项卡:
点击查看大图
关闭 [x]
点击查看大图
关闭 [x]
的变量。
该算法首先会处理根节点上的所有数据,扫描所有变量以找到最适合拆分的变量。
点击查看大图
关闭 [x]
点击查看大图
关闭 [x]
在本教程中,您学习了 IBM dashDB,这个解决方案集成了云上的数据仓库和分析技术,还全面集成了 RStudio 来实现强大的分析。使用 IBM Bluemix,我们展示了如何在云上创建一个具有 R 分析功能的 dashDB 实例,为您的数据集开发一个预测模型,然后利用 R 的 Shiny 应用程序框架生成交互式、可靠的可视化展示和预测结果。最后,我们还介绍了 Kaggle 数据挖掘比赛。我们邀请您了解这次比赛,了解数据挑战,并使用这些强大的工具创建您自己的预测模型和可视化展示。
相关主题: IBM dashDB