数据预处理
## 5.1 数据抽样 # 5.1.2 类失衡处理方法:SMOTE # 利用Thyroid Disease 数据来研究 # 下载数据 hyper <-read.csv('http://archive.ics.uci.edu/ml/machine-learning-databases/thyroid-disease/hypothyroid.data', header=F) names <- read.csv('http://archive.ics.uci.edu/ml/machine-learning-databases/thyroid-disease/hypothyroid.names', header=F, sep='\t')[[1]] # 对对象names删除冒号和句号 names <- gsub(pattern =":|[.]", replacement="", x = names) # 对对象hyper的列进行重命名 colnames(hyper)<-names colnames(hyper) # 我们将第一列的列名从 hypothyroid, negative改成target,并将该列中的因子negative变成0,其他值变成1 colnames(hyper)[1]<-"target" colnames(hyper) hyper$target<-ifelse(hyper$target=="negative",0,1) # 检查下0、1的结果 table(hyper$target) prop.table(table(hyper$target)) # 利用SMOTE对类失衡问题进行处理 # 将变量target变成因子型 hyper$target <- as.factor(hyper$target) # 加载DMwR包 if(!require(DMwR)) install.packages("DMwR") # 进行类失衡处理 # perc.over=10