R与数据挖掘(学习决策树和随机森林的R语句).doc
文本预览下载声明
数据挖掘报告
乳腺癌的分析
摘要
此次实验的目的主要是研究分类,对乳腺癌的类型良性的还是恶性的进行分类。比较一下什么方法更好。数据共包括699个观测值,每个观测有11个变量。有缺失值。主要是运用了R和SAS两个软件进行分析的。R中用的方法都是数据挖掘中的一些典型方法。SAS中是采用了判别与聚类的方法。原始数据已经将类别分好了,对于分类研究使用不同的方法看一下哪种方法的精度更高。
关键词:数据挖掘方法、判别、聚类
一 数据的描述:
a)一共有699个观测,11个变量。
b)变量解释:
id
clump_thickness 肿块的密度 取值1-10
uniformity_cell_size 细胞的大小均匀度 取值1-10
uniformity_cell_shape 细胞的形状的均匀度 取值1-10
marginal_adhesion 边缘部分的黏着度 取值1-10
single_epithelialcell_size 单一的上皮细胞的大小 取值1-10
bare_nuclei 裸露细胞核 取值1-10
bland_chromatin 染色质 取值1-10
normal_nucleoli 正常的细胞核 取值1-10
mitoses 有丝分裂 取值1-10
btype 类型 2-良性,4-恶性
c)数据是共有16个缺失值的,在bare_nuclei 这个变量中
d)对缺失值的处理共采用了三种方法:直接删除、利用均值进行插补、利用中
位数进行插补。
e)后面采用的方法最基本的数据是采用了中位数的方法进行差补以后的。
二 R语言采用的方法介绍共5种方法
(决策树,神经网络,支持向量机,随机森林,最近邻方法)
A) 数据的基本处理
1)读入txt格式数据,将btype设为分类变量
breast_cancer - read.delim(breast_cancer.txt);
breast_cancer$btype - factor(breast_cancer$btype);
2) 显示16个缺失值所在的行数
which(complete.cases(breast_cancer) == F);
[1] 24 41 140 146 159 165 236 250 276 293 295 298 316 322 412 618
缺失值的处理方法
a)直接删除
breast_cancer_delete - na.omit(breast_cancer);
b)均值进行差补
breast_cancer_mean - breast_cancer;
for (r in which(!complete.cases(breast_cancer)))
{
breast_cancer_mean[r, which(is.na(breast_cancer[r, ]))] - apply(data.frame(breast_cancer[, which(is.na(breast_cancer[r, ]))]), 2, mean, na.rm = T);
}
c)中位数进行插补
breast_cancer_median - breast_cancer;
for (r in which(!complete.cases(breast_cancer)))
breast_cancer_median[r, which(is.na(breast_cancer[r, ]))] - apply(data.frame(breast_ca
显示全部