数据挖掘

来源:《数据挖掘:R语言实战》

1. 数据挖掘

数据挖掘的过程

img

img

img

img

数据挖掘的对象

img

数据挖掘的方法

img

img

img

2. 数据概览

R的数据分类

img

img

img

img

img

用R简单处理数据

这一部分我们以MASS软件包中的Insurance数据集为例,通过对其基本信息及变量类型等 方面的探索,介绍几个常用的R函数。在着手处理每一个数据集时,包括进行数据预处理及后续分析的过程中,这些函数通常会被反复使用,可以说是展开数据挖掘的必经步骤。

img

img

img

img

img

img

数据抽样

抽样技术是我们在和数据打交道过程中常常需要用到的基本技能之一。

比如:在收集数据过程中,绝大多数情况下,并不采取普查的方式获取总体中所有样本的数据信息,而是以各类抽样方法抽取其中的若干代表性样本来进行数据获取和分析:而在获得待分析数据集后,往往需要再次通过抽样技术选取出训练集与测试集,以便比较选择出最优的挖掘算法。

以下我们主要介绍简单随机抽样、分层抽样及整群抽样这三种基本抽样方法在R中的实现。其中主要用到base软件包中的sample()函数,该软件包是R中使用前不需加载的默认软件包之一,其中含有许多基本统计函数;以及sampling软件包中的strata()cluster()函数,该软件包专用于实现调查抽样技术,其中含有大量各类抽样方法及相关指标的计算等函数。

简单随机抽样

img

有放回的随机抽样

img

img

img

无放回的随机抽样

img

分层抽样

img

img

img

img

img

img

img

整群抽样

img

img

img

img

训练集与测试集

一般我们控制两者的比例为3:1左右,这是为了在保证建立模型的训练集样本足够的前提下,尽量使测试集的评价结果可信。

img

总结

img

img

3. 用R获取数据

获取内置数据集

datasets数据集

img

img

img

img

包的数据集

除了datasets软件包外,R中许多其他软件包也自带有少量数据集,我们首先通过如下程序代码,来获得如图3.3所示的所有数据集的列表。

img

我们要知道,某一软件包中的数据集,往往正是由于适合诠释该软件包内相关函数的功能而收集并添置的,也就是说,某一软件包中的数据集在格式、内容,甚至取值等方面,在某种程度上是迎合于该软件包的功能需要的。

img

获取其他格式的数据

这一节我们主要介绍如何用R读取由固定分隔符作为数据间隔的文件,如CSV和TXT;如何读取Excel文件中的数据;如何从SPSS、Minitab、STATA、SYSTAT等统计软件中获取多种格式的数据。为了完成上述任务,我们将用到utlls、RODBC、gdata、foreign及Hmisc加载包中的多种函数。

CSV与TXT格式

下面我们使用到utils软件包中的read.csv()和read.table()函数,utils包中含有大量R中最实 用的函数,其中包括帮助函数help()以及安装软件包函数installed.packages()等。

读取CSV格式

img

img

img

读取TXT格式

img

从Excel直接获取数据

img

img

img

从其他统计软件中获取数据

我们将使用foreign软件包中的相关函数,该软件包的主要功能即是读写SPSS、SAS、Minitab、 Stata、Systat等统计软件中的数据。

从SPSS获取数据

img

img

img

img

从SAS、Minitab、STATA、SYSTAT中获取数据

img

获取数据库数据

img

img

img

img

img

img

获取网页数据

img

http://stockdata.stock.hexun.com/2008en/zxcwzb.aspx?stockid=000002&type=1&date=2013.06.30

img

img

1
2
3
4
library(XML)
ul = "http://stockdata.stock.hexun.com/2008en/zxcwzb.aspx?stockid=000002&type=1&date=2013.06.30"
tables1 = readHTMLTable(ul)
names(tables1)

[1] "NULL" "NULL" "NULL" "NULL"

如上我们知道所读取结果共有4个部分,因此,可以分别查看tables1中4个维度中所储存的 信息,以下仅输出其中的第2、3维度的数据。

1
tables1[[2]]

img

1
tables1[[3]]

img

总结

img