乳腺癌的数据准备
> par(ask=TRUE) #布局可以恢复
> loc <- "http://archive.ics.uci.edu/ml/machine-learning-databases/"
> ds <- "breast-cancer-wisconsin/breast-cancer-wisconsin.data"
> url <- paste(loc, ds, sep="")
> breast <- read.table(url,sep = ",",header = F,na.strings = "?") #sep=","间隔,na,strings="?":“?”的都用NA表示
> names(breast) <- c("ID", "clumpThickness", "sizeUniformity", #names(brest)获取breast数据框的变量名组成的字符向量
+ "shapeUniformity", "maginalAdhesion", #将右边的变量字符向
+ "singleEpithelialCellSize", "bareNuclei", #量赋值给breast的变量
+ "blandChromatin", "normalNucleoli", "mitosis", "class")
> df <- breast[-1] #剔除第一个变量(实际数据框中第一个变量名为ID,没有用所以剔除)
> df$class <- factor(breast$class,levels=c(2,4),labels=c("benign","malignant")) ##将class变量设置为因子
#-------设置训练集和验证集
> set.seed(1234) #set.seed()让随机抽样的结果可复制
> train <- sample(nrow(df),0.7*nrow(df)) #sample(x,size)从x总获取size大小的随机数,nrow(df)获取df的函数,0.7*(nronw)df或70%的
> df.train <- df[train,] #获取70%行的数据框数据作为训练集
> table(df.train$class) #使用N个类别型变量(因子)创建一个N维列联表并进行简单的频数统计
benign malignant
329 160
> df.validate <- df[-train,] #剔除训练集剩下的就是验证集
> table(df.validate$class)
benign malignant
129 81