作业7答案

练习1 分类预测基本流程

  1. 分类预测的基本流程是什么
  2. 在iris数据集上实现knn分类算法
  3. 绘制散点图查看2中算法的分类效果
  4. 计算2中分类预测正确率
> install.packages("kknn")
> library(kknn)
> m <- dim(iris)[1]
> val <- sample(1:m, size = round(m/3), replace = FALSE, prob = rep(1/m, m))
> iris.learn <- iris[-val,]
> iris.valid <- iris[val,]
> iris.kknn <- kknn(Species~., iris.learn, iris.valid, distance = 1, kernel = "triangular")
> fit <- fitted(iris.kknn)
> table(iris.valid$Species, fit)
> pcol <- as.character(as.numeric(iris.valid$Species))
> pairs(iris.valid[1:4], pch = pcol, col = c("green3", "red")[(iris.valid$Species != fit)+1])

练习2 数据预处理

  1. 数据预处理的主要方法是什么
  2. 查看数据集sleep数据集的缺失值分布
  3. 用合适的方法处理sleep数据集中的缺失值
> summary(sleep)
> md.pattern(nhanes2)

练习3 分类算法

  1. 在iris数据集上实现决策树分类算法
  2. 画出1中的决策树
  3. 对1中的分类算法进行评估
  4. 比较决策树算法与knn算法各自的优劣
> install.packages("party")
> library(party)
> data(iris)
> set.seed(1234)
> ind <- sample(2,nrow(iris),replace=TRUE,prob=c(0.7,0.3))
> testData <- iris[ind==2,]
> trainData <- iris[ind==1,]
> myFormular <- Species~Sepal.Length+Sepal.Width+Petal.Length+Petal.Width
> iris_ctree <- ctree(myFormular,data=trainData)
> table(predict(iris.ctree,trainData$Species))
> plot(iris_ctree,type=”simple”)

练习4 聚类算法

  1. k-means聚类算法的主要原理是什么
  2. 在iris数据集上实现k-means聚类算法
  3. 绘制散点图,查看聚类效果
> iris1 <- iris
> iris1$Species <- NULL
> (kmeans.result <- kmeans(iris1,3))
> plot(iris1[c("Sepal.Length","Sepal.Width")],col=kmeans.result$cluster)
> points(kmeans.result$centers[,c("Sepal.Length","Sepal.Width")],col=1:3,pch=8,cex=2)

练习5 回归分析

  1. 解释回归分析的主要原理
  2. 解释回归分析算法的应用场景
  3. 如何对回归分析的算法进行评估

results matching ""

    No results matching ""