乳腺癌的数据准备函数
> 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