我想绘制knn回归图,有没有适合绘制机器学习回归的函数或最佳方法?一旦我选择了最佳模型,我应该绘制什么图表呢?
非常感谢您的帮助!
df <- mtcarslibrary(caret)set.seed(123)trainRowNumbers <- createDataPartition(df$mpg, p=0.8, list=FALSE)trainData <- df[trainRowNumbers,]testData <- df[-trainRowNumbers,]y = trainData$mpgpreProcess_range_model <- preProcess(trainData, method='range')trainData <- predict(preProcess_range_model, newdata = trainData)trainData$mpg <- yset.seed(123)options(warn=-1)subsets <- c(2:5, 8, 9, 12)ctrl <- rfeControl(functions = rfFuncs, method = "repeatedcv", repeats = 5, verbose = FALSE)lmProfile <- rfe(x=trainData[, 2:11], y=trainData$mpg, sizes = subsets, rfeControl = ctrl)lmProfilecontrol <- trainControl(method = "cv", number = 15)set.seed(123)model_lm = train(mpg ~ wt+hp+disp+cyl, data=trainData, method='lm', trControl = control)model_lmlinear.predict <- predict(model_lm, testData)linear.predictpostResample(linear.predict, testData$mpg) model_knn = train(mpg ~ wt+hp+disp+cyl, data=trainData, method='knn', trControl = control)model_knnknn.predict <- predict(model_knn, testData)knn.predictpostResample(knn.predict, testData$mpg)
回答:
您可以绘制以下两种图表
# 显示调节参数变化时RMSE的变化plot(model_knn)
# 观测值与预测值的图表library("lattice")library(mosaic)df1 <- data.frame(Observed=testData$mpg, Predicted=linear.predict)xyplot(Predicted ~ Observed, data = df1, pch = 19, panel=panel.lmbands, band.lty = c(conf =2, pred = 1))