我之前售价那么高的,只是为了找我老师给我些论坛币,现在免费我重新上传一个我自己实践过的R算法的代码,不对的地方轻轻的喷,各位下载这个就好!谢谢大家!
- data<-read.csv("data.csv")
- str(data)
- summary(data)
- table(data$type)
- #随机抽样
- n<-nrow(data)
- indices <- sort(sample(1:n, n * (2/3)))
- #标准化数据
- normalize <- function(x) {
- return((x - min(x)) / (max(x) - min(x)))
- }
- #构建训练集和测试集
- train_data<-data[indices,-ncol(data)]
- train_data<- as.data.frame(lapply(train_data, normalize))
- train_data[1:10,]
- train_data_label<-data[indices, ncol(data)]
- test_data<-data[-indices,-ncol(data)]
- test_data<- as.data.frame(lapply(test_data, normalize))
- test_data[1:10,]
- test_data_label<-data[-indices, ncol(data)]
- #使用KNN算法
- library(class)
- pred.knn<-knn(train = train_data,test = test_data,cl=train_data_label,k=17)
- accuracy.knn<-sum(pred.knn==test_data_label)/length(test_data_label)
- accuracy.knn
- #结果展现
- require(gmodels)
- CrossTable(x =test_data_label, y = pred.knn,
- prop.chisq=FALSE)
- agreement_KNN<- pred.knn==test_data_label
- table(agreement_KNN)
复制代码