R应用空间数据科学

原文地址:http://blog.dominodatalab.com/applied-spatial-data-science-with-r/

概述

最近我开始着手我的博士论文,其中利用大量不同的空间数据类型。在这一过程中,我发现有很多我还没有意识到的R空间数据分析概念。这份报告的目的是记录其中一些概念,以及我最爱的空间数据分析包。报告的结构如下:首先我们需要问问为什么R是空间分析的首选工具,其次将会探索一个典型的数据分析生命周期。

为什么用R做空间数据分析

你可能会问自己,为什么在有商业和开源地理信息系统(分别以ESRI ArcMap和QGIS为代表)时还要用R做空间分析。下面是我的原因中的一些:

  • R是免费和开源的;
  • 可重复性:研究者可以重复他们自己或其他人的分析,并验证发现;
  • 包:有许多R包用于空间数据分析、统计建模、可视化、机器学习和其他。
用于空间数据分析的R

一些我最爱的空间数据分析包包括:

  • sp:这个包提供用于空间数据的类和方法;绘制地图,使用坐标的实用函数。
  • rgdal:这个包提供了不同栅格和向量地理空间数据格式的导入与导出;坐标参考系;投影,等等。
  • rgeos:提供函数用于处理拓扑操作。
  • ggplot2:最流行的数据可视化包,作者是Hadely Wickham
  • ggmap:提供在来自Google地图、Open Street Map,cloudmade和stamen等源的静态地图之上的空间数据可视化函数。
  • leaflet:leaflet for R提供函数在R中控制和整合Leaflet,一个交互式地图JavaScript库。
  • lubridate:我的空间数据大部分有日期-时间测量,这个包提供了操作日期时间的函数。

(更多…)

继续阅读

如何使用R进行机器学习

Jason Brownlee

[http://machinelearningmastery.com/how-to-use-r-for-machine-learning/]

R有很多包,哪个最适合用于你的机器学习项目?

在这篇文章中你将会找到为机器学习旅程中每个子任务推荐的R函数和包。

这很有用,保存这篇文章,我保证你会再次查看它。

如果你是R用户并且知道更好的方法,在评论中分享吧。

R有超过6000个第三方包。大量可用软件包是R平台的好处之一,但也是个挫败之处。

你应该用哪个包?

有一些特定的任务是需要作为机器学习项目的一部分执行的,例如加载数据、评估算法和改善准确性。每个任务都可以使用多种方法,并且可能有多个包都提供了这些方法。

考虑到有这么多不同方法完成同一个子任务,你需要从这些函数和包中找到最符合需求的。

把同类最佳的包映射到项目任务

解决这个问题的方法是创建一个机器学习项目工作中可能遇到的所有子任务到可以使用的最佳包和函数的映射。

从列出机器学习项目中所有子任务开始。可以仔细读一下process of applied machine learningmachine learning project checklist两篇文章。

由于R是一种统计语言,它提供了许多用于数据分析及预测模型的工具,可以用来训练并生成预测。

使用最喜欢的搜索引擎,你可以找到完成每个任务的所有包与其中的函数。这样详尽无遗,你也可以在不同候选解决方案处结束。

你需要把每个选项列表削减到完成某个任务最好的一个。可以实验每一个,看看它们如何工作;也可以仔细检查搜索结果,梳理出在其他人中最流行的函数。

下面是一个从R包和函数到机器学习项目任务的映射,有了它,你今天就可以开始使用R进行机器学习。

如何在机器学习项目中使用R

这一节列出了通用机器学习项目中很多主要的子任务。每个人物列出了R中可以完成任务的特定函数和父包。

选中函数的一些特性如下:

  • 最低限度:该列表是最低限度的,只有项目中的机器学习任务和可以使用的函数名与包名。实际使用列出的每个函数都需要更多的功课。
  • 简单:函数出于简单性被选择,传递任务的直接结果。单个函数优于多个函数调用。
  • 偏好:函数选择基于我的偏好和最佳估计,其他人可能有不同的选项。

任务被分成三个宽泛的组:

  1. 为建模进行的数据准备任务
  2. 为比较和评估预测模型算法的评估算法任务
  3. 为得到更多更好执行的算法的改进结果任务

1.数据准备任务

数据加载

从文件中加载一个数据集:

  • CSV:read.csv函数,来自utils包

数据清洗

清洗一个数据集以确保数据的合理和一致性,为分析和建模做准备。

  • 填充:impute,来自Hmisc包
  • 离群值:来自outliers包的各种函数
  • 重新平衡:SMOTE函数,来自DMwR包

数据汇总

使用描述性统计汇总一个数据集。

  • 汇总分布:summary,来自base包
  • 汇总相关系数:cor函数,来自stats包

数据可视化

可视地汇总一个数据集。

  • 散点图矩阵:pairs函数,来自graphics包
  • 直方图:hist函数,来自graphics包
  • 密度图:densityplot函数,来自lattice包
  • 箱线图:boxplot函数,来自graphics包

荣誉提名:

  • ggpairs函数,来自GGally包,可以在一个图中完成所有的一切。
  • ggplot2和lattice包,在绘图方面通常非常棒。

特征选择

选择数据集里与构建预测模型最相关的那些特征。

  • RFE:rfe函数,来自caret包
  • 相关:findCorrelation函数,来自caret包

caret包提供了一整套特征选择方法,参见评估算法任务。

荣誉提名:

  • FSelector包

数据转换

创建数据集转换以得到最适合学习算法问题的结构。

  • 规范化:自定义函数
  • 标准化:scale函数,来自base包

caret包提供了数据转换,作为测试工具的一部分,参见下一节。

2.评估算法任务

caret包中的函数被用于评估模型。

carpet包支持多种表现度量和测试选项,例如数据切分和交叉验证。预处理也可以作为测试工具的一部分被配置。

模型评估

  • 模型评估:train函数,来自caret包
  • 测试选项:trainControl函数,来自caret包
  • 预处理选项:preProcess函数,来自caret包

注意许多现代预测模型(例如高级决策树的某些种类)提供了一些形式的内建特征选择、参数调整和集成。

预测模型

caret包提供了所有最好的预测建模算法。

3.改进结果任务

为了得到最好表现模型从而做出更准确预测的方法。

算法调整

caret包提供了作为测试工具的算法调整,并包含类似随机、网格化和自适应搜索的方法。

模型集成

许多现代预测模型算法提供内建集成。caret包也提供了一套bagging和boosting函数。

  • Blend:caretEnsemble,来自caretEnsemble包
  • Stacking:caretStack,来自caretEnsemble包
  • Bagging:bagging函数,来自ipred包

总结

在本篇文章中,你发现用R做机器学习的最佳方式是映射具体的R函数和包到机器学习计划的任务。

你找到了用于大多数机器学习项目共同任务的特定包与函数。

下一步

开始用R进行机器学习。在当前或下一个项目中使用上面的建议。

继续阅读

20张图片完美捕捉数据科学发展的瞬间

Manish Saraswat

http://www.analyticsvidhya.com/blog/2016/01/20-powerful-images-perfectly-captures-growth-data-science/

概述

数据不会让过去更好,但是,它确实可以创造一个美妙的未来。

近年来,许多公司已经在数据科学领域投资数百万美元。这显示了对数据科学潜力的巨大信仰,相信它可以创造更好的世界、更好的生活和更好的未来。

数学、计算机科学和领域专业知识这强大的三重奏重新定义了做出决策的过程。直觉或本能不再是复杂决策的关键。

几年前的开创性发明现在已经变得过时。数据科学赋予我们超乎想象的可能性。许多东西随着时间腐朽和进化。然而,最好的技术即将到来。我十分兴奋地看到它就在我的眼前!

这些图片显示了什么?

我们都知道图片易于理解,而且传递的信息比文本更多。基本上,这些图片描绘了数据科学作为一个领域的旅程,包括发展、发明、成就以及对我们日常生活产生影响的一切。

你谈论政治、经济、科学、人生、运动,几乎一切都得益于数据科学的服务。我尝试在这些图片中捕捉它们最好的瞬间。

希望你喜欢它们! (更多…)

继续阅读

学习复杂事物的简单方式:三个步骤获得超能力

Per Harald Borgen

[https://medium.com/learning-new-stuff/a-simple-technique-to-learn-hard-stuff-ffaa7879bf7c#.k6gud0wqq]

1-2q1YNBxgiFJd4xeZFKPUtg

在过去几年,我花费了很多时间教自己web开发和机器学习。

虽然主题有所不同——从Javascript,Node和React到Python,Scikit Learn和神经网络——但我的学习方法一直保持不变。

尽管只是一个简单(几乎老套)的三步方法,它是帮助我在5个月内从业余爱好者变成专业web开发人员的关键。

因此我决定写一篇关于它的文章,如果有其他人会觉得很有用。

我写下这篇文章,就像能够把它发给2012年的自己,我希望在开始着手学习时能对这一切有一个更明晰的视图。 (更多…)

继续阅读

2015年的NLP应用:音乐创作,打击犯罪和寻找爱

Olga Korobova

http://idibon.com/composing-musicals-fighting-crime-finding-love-nlp-applications-of-2015/


我在Idibon开始干的最好玩工作之一,就是浏览每天的在线新闻源和Twitter流,找寻AI和NLP领域发生的最有趣的事情,并发布在我们的社会媒体频道上。趁着2015年即将结束,我想分享一下这一年中最有趣的NLP应用。

今年,世界各地的人工智能系统已经将NLP用做艺术家、评论家和算命大师。 (更多…)

继续阅读

R结合分析初学者指南

conjoint

 

http://www.analyticsvidhya.com/blog/2015/12/beginner-tutorial-conjoint-analysis/


 

概述

品牌已经变得智能化。他们现在可以清楚地意识到客户喜好。数据真了不起!它几乎揭示了客户过往做过的一切。但是,实现这些里程碑并不是数据本身,还需要数据科学家的专门知识和理解。

分析在市场研究领域的使用尤其突出。让我们举一个例子来理解市场分析。

一家电信公司有不同产品客户的用户信息和交易数据。为设计一个新产品的广告预算是有限的。在这样的条件下,基于历史消费找到感兴趣的客户群对公司来说变得越来越重要。

有一种方法不仅预算友好,还能弄清新设计产品的价值。该方法不做他想,正是结合分析。 (更多…)

继续阅读

Python快速数据处理库CSVkit

借助Python的力量和命令行证明观点,利用数据和一个快速处理库。

Matthew Ritter

http://www.kdnuggets.com/2016/01/csvkit-fast-python-library.html

你是否曾经参与过电子邮件讨论,或者有某个人宣称你确信的“事实”并不是真的?这是不是令人沮丧,不得不停下正在做的,把事情带回正确的轨道?试一下这个轻量级的Python库,你会得到可以更快粘贴到回复的确凿结果,而不是键入“如果运行附件中的代码你会清楚地看到……”。

进入csvkit

这个Python库允许你在命令行中使用Python。顾名思义,它输入csv,并提供单行分析选项的“瑞士军刀”。我将用来自一些列象棋比赛中的真实数据展示这些步骤。 (更多…)

继续阅读

物联网:通过平台、数据分析和可视化实现商业价值

1-OapB00WNHoFf239eURPF2g

 

Pranay Prakash
View profile at Medium.com


在过去几年中,我沉浸在物联网(IoT)中,发现客户试图解决的问题非常具体,例如获得能源效益,早期故障检测或远程设备诊断及维修。决策由削减运营成本(OPEX)和节省资本开支(CAPEX)所驱动。

有了全部物联网设备生成的数据,强大的分析和可视化能力有助于做出准确决策并采取及时行动,从而实现这些重要的业务目标。当然,尽管这听起来很吸引人,却没那么简单。为了通过降低运营成本和/或资本开支实现有意义的价值,我们需要有效处理数据收集、分析、可视化和控制。没有这些基本的要素,我们无法利用物联网的力量。

下面是对这些关键要素和利用它们充分实施成功物联网解决方案的概述。

(更多…)

继续阅读