《数据挖掘:R语言实战》第二章 数据概览

2.1 n*m数据集

在n*m表格形式的数据集中,n代表数据的行,即观测点的数量;m代表列,即变量的数量;n*m为数据的维度。

一般来说,当拿到一份数据时,最先做的往往就是查看数据集的观测样本数、变量数,以及这些变量的实际含义,以此对数据集的庞大程度和各变量的相对重要性做到心中有数。这对选取何种数据挖掘算法,以及在这之前应该抽取多少及哪些变量及样本纳入建模都有重要的先导作用。

2.2 数据的分类

2.2.1 一般的数据分类

定量数据:连续型数据和离散型数据

定性数据:定类数据、定序数据、定距数据和定比数据,信息含量依次增加。

2.2.2 R的数据分类

numeric-数值型:定量变量

integer-整数型:仅含有整数

logical-逻辑型:TRUE和FALSE

character/string-字符型:每一个元素都是一个字符或者字符串,定类变量

factor-因子型:披着定量数据外壳的定性数据,即以数字代码形式表现的字符型数据,本质上也为定性数据。

> sex<-factor(c(1,1,0,0,1),levels=c(0,1),labels = c("male","female"))
> sex
[1] female female male male female
Levels: male female

levels和lables有对应关系。但当不对levels或lables进行设置时,各个字符的数字代码则按照字母表顺序从1开始依次取值。

> num<-factor(c("b","a","d","c"))
> as.numeric(num)
[1] 2 1 4 3

2.2.3 用R简单处理数据

1.基本信息

> install.packages("MASS")

> library(MASS)       加载含有数据集的软件包MASS
> data("Insurance")    获取数据集Insurance
> dim(Insurance)      获取数据集的维度
[1] 64 5

> dim(Insurance)[1]    红色部分可以表示数据框,包括两个元素。[]用来访问元素。
[1] 64
> dim(Insurance)[2]
[1] 5

> names(Insurance)         访问数据框的行名
[1] "District" "Group" "Age" "Holders" "Claims"

> head(names(Insurance),n=2)  访问前两个元素
[1] "District" "Group"
> tail(names(Insurance))     默认访问后六个,但本来只有五个
[1] "District" "Group" "Age" "Holders" "Claims"
> tail(names(Insurance),n=3)
[1] "Age" "Holders" "Claims"
> head(Insurance$Age)
[1] <25 25-29 30-35 >35 <25 25-29
Levels: <25 < 25-29 < 30-35 < >35

2.变量类型

通过class函数可以对变量的类型进行识别。

levels可以看到因子型数据的各个水平值,并且可以对水平值进行修改。

数据类型的判断:is.numeric(),is.integer(),is.logical(),is.character(),is.factor()

强制数据类型转换:as.numeric(),as.integer(),as.logical(),as.character(),as.factor()

2.3 数据抽样及R实现

2.3.1 简单随机抽样

sample(x,size,replace=FALSE,prob=NULL)

x表示待抽取对象,一般以向量形式表示;

size为非负整数,表示想要抽取的样本个数;

replace表示是否为可放回抽样,默认为不放回;

pro用于设置各抽取样本的抽样概率,默认为无取值,即等概率抽样。

1.有放回的随机抽样(replace=TRUE)

2.无放回的随机抽样(replace=FALSE)

2.3.2 分层抽样

install.packages("sampling")

library(sampling)  需要加载这个包

strata(data,stratanames=NULL,size,method=c("srswor","srswr","poisson","systematic"),pik,description=FALSE)

data为待抽样数据集;

stratanames中放置进行分层所依据的变量名称;

size各层中将要抽出的观测样本数,顺序与数据集中该变量各水平出现顺序一致;注意:在使用该函数前,应该对数据集按变量进行升序排列;

method抽样方法,无放回、有放回、泊松、系统抽样;

pik用于设置各层中样本的抽样概率;

description用于选择是否输出含有各层基本信息额结果。

sub<-strata(Insurance,stratanames = "District",size=c(1,2,3,4),method = "systematic",pik = Insurance$Claims)

按照District进行分层, 每一层中抽取的元素个数为1、2、3、4,在每一层内元素抽取的概率与Claims一致,claims值越大,抽到的概率就越大。

getdata(Insurance,sub)  输出具体的数据信息

2.3.3 整群抽样

install.packages("sampling")

library(sampling)  需要加载这个包

cluster(data,clustername,size,method=c("srswor","srswr","possion","systemstic",pik,description=FALSE)

clustername指用来划分群的变量名称;

size指需要抽取的群数。

整群抽样一般要求各群对数据总体有较好的代表性,即群内各样本的差异要大,而群间的差异要小。

当群间差异较大时,整群抽样往往具有样本分布面不广、样本对总体代表性相对较差等缺点。

2.4 训练集与测试集

训练集用于建立模型,测试集用于评价模型。

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

> train_sub<-sample(nrow(Insurance),3/4*nrow(Insurance))   可以将红色部分理解为行号的一个向量
> train_data<-Insurance[train_sub,]
> test_data<-Insurance[-train_sub,]
> dim(train_data);dim(test_data)
[1] 48 5
[1] 16 5

时间: 2024-10-11 12:36:24

《数据挖掘:R语言实战》第二章 数据概览的相关文章

《数据挖掘R语言实战》图书介绍,数据挖掘相关人员看过来!

今天介绍一本书<数据挖掘R语言实战>.数据挖掘技术是当下大数据时代最关键的技术,其应用领域及前景不可估量.R是一款极其优秀的统计分析和数据挖掘软件,R语言的特点是入门容易,使用简单. 这本书侧重使用R进行数据挖掘,重点进述了R的数据挖掘流程.算法包的使用及相关工具的应用,同时结合大量精选的数据挖掘实例对R软件进行深入潜出和全面的介绍,以便读者能深刻理解R的精髓并能快速.高效和灵活地掌握使用R进行数据挖掘的技巧. 本书以数据预处理.基本算法及应用和高级算法及应用这三篇展示. (1)上篇:数据预处

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

<数据挖掘:R语言实战> 基本信息 作者: 黄文    王正林 丛书名: 大数据时代的R语言 出版社:电子工业出版社 ISBN:9787121231223 上架时间:2014-6-6 出版日期:2014 年6月 开本:16开 页码:292 版次:1-1 所属分类:计算机 > 软件与程序设计 > 综合 > 高级程序语言设计 更多关于>>><数据挖掘:R语言实战> 内容简介 书籍 计算机书籍 数据挖掘技术是当下大数据时代最关键的技术,其应用领域及前景

R入门&lt;三&gt;-R语言实战第4章基本数据管理摘要

入门书籍:R语言实战 进度:1-4章 摘要: 1)实用的包 forecast:用于做时间序列预测的,有auto.arima函数 RODBC:可以用来读取excel文件.但据说R对csv格式适应更加良好,相应的导入导出均较为方便(read.table, write等) reshape:目前用到rename函数,可以方便的对数据变量重命名 fCalendar:在日期输入处提及,据说对日期运算有奇效,但无具体示例.同理如lubridate sqldf:在数据选取处提及,可代替subset以及各种whe

大数据分析学习之使用R语言实战机器学习视频课程

大数据分析学习之使用R语言实战机器学习网盘地址:https://pan.baidu.com/s/1Yi9H6s8Eypg_jJJlQmdFSg 密码:0jz3备用地址(腾讯微云):https://share.weiyun.com/5tk6j1Z 密码:rdia9t 机器学习的核心主要侧重于找出复杂数据的意义.这是一个应用广泛的任务,机器学习的使用是非常广泛的. 本课程主要分为两个阶段,第一个部分:掌握R语言的处理数据的基本语法.第二部分:介绍机器学习原理,并通过大量的案例,为学员介绍R语言通过机

R电子书资料《学习R》+《R语言实战第2版》+《R数据科学》学习推荐

如果没有任何编程基础,想学习如何使用R,并进行练习,建议大家看看<学习R>电子书和代码资料,上半部分主要介绍R的技术细节和使用技巧,下半部分更侧重实践,展示了从输入数据到发布结果这一标准的数据分析流程. <学习R>电子书,帮助学习编写简单的R程序,知道R语言能做什么: 1.使用向量.数组.列表.数据框和字符串等数据类型 2.掌握条件语句以及分支和循环控制语句 3.应用R的扩展包,将你自己的工作成果打包发给其他人 4.清理从各种来源导入的数据 5.通过可视化和汇总统计理解数据 6.使

《R语言实战》(中文完整版)pdf

下载地址:网盘下载 基本介绍 编辑 原作名: R in Action[2] 作者: Robert I. Kabacoff 译者: 高涛 / 肖楠 / 陈钢 出版社: 人民邮电出版社 出版年: 2013-1 页数: 388 定价: 79.00元 装帧: 平装 ISBN: 978-711-529-990-1 内容简介 编辑 数据时代已经到来,但数据分析.数据挖掘人才却十分短缺.由于"大数据"对每个领域的决定性影响,相对于经验和直觉,在商业.经济及其他领域中基于数据和分析去发现问题并作出科学

R语言实战(五)方差分析与功效分析

本文对应<R语言实战>第9章:方差分析:第10章:功效分析 ==================================================================== 方差分析: 回归分析是通过量化的预测变量来预测量化的响应变量,而解释变量里含有名义型或有序型因子变量时,我们关注的重点通常会从预测转向组别差异的分析,这种分析方法就是方差分析(ANOVA).因变量不只一个时,称为多元方差分析(MANOVA).有协变量时,称为协方差分析(ANCOVA)或多元协方差分析

R语言实战(八)广义线性模型

本文对应<R语言实战>第13章:广义线性模型 广义线性模型扩展了线性模型的框架,包含了非正态因变量的分析. 两种流行模型:Logistic回归(因变量为类别型)和泊松回归(因变量为计数型) glm()函数的参数 分布族 默认的连接函数 binomial (link = "logit") gaussian (link = "identity") gamma (link = "inverse") inverse.gaussian (lin

《R语言实战》学习笔记fourth

又拖了好久继续写R 语言的学习笔记了啊 这次到了基本数据管理了,众所周知数据准备是数据分析的最重要的前提 书本是从一个例子开始本章的内容的,例子是一个类似调查问卷的 然后把回答标为从1到5,再进行分析(这让我想到了自学SPSS 的时候啊) > manager <- c(1, 2, 3, 4, 5) > date <- c("10/24/08", "10/28/08", "10/1/08", "10/12/08&q