1
在R中使用繪圖繪製knn分類圖以繪製樣本和輪廓以繪製將平面分類的線。R:在輪廓中填充封閉區域
這裏是我的代碼:
k<-1
datax<-rbind(matrix(rnorm(30,-1,5.25),15,2),matrix(rnorm(36,1,5.25),18,2))
datay<-rbind(matrix(1,15,1),matrix(0,18,1))
plot(datax[,1], datax[,2],pch = datay+1,axes=FALSE,ann=FALSE)
box()
n <- 1000
xp <- seq(length=n, from = min(datax[,1]), to = max(datax[,1]))
yp <- seq(length=n,from = min(datax[,2]) ,to = max(datax[,2]))
gr <- expand.grid(xp, yp)
library(class)
z <- as.numeric(knn(datax, gr, datay,k))-1
zM <- matrix(z, n, n, byrow = FALSE)
contour(xp, yp, zM, xlab="x",ylab="",nlevels = 1 ,lwd=2, add=TRUE, drawlabels =FALSE)
我的問題是:我怎樣才能顏色在劇情的封閉區域?我試過filled.contour,但沒有添加參數。我只想要分類器= 0的區域爲白色,並且其分類爲藍色的區域爲1。我應該怎麼做? 感謝
謝謝!當我這樣做的時候,小圈子和小混蛋們都走了。我如何保留它們? – user2058490 2013-04-09 12:07:29
對不起,我忘了一行:'points(datax [,1],datax [,2],pch = datay + 1)'。你必須在多邊形填充後繪製它們,否則它們會被它覆蓋。 – plannapus 2013-04-09 12:10:08
謝謝!然而存在一個問題:例如,如果你設置了.seed(24)並且按照上面的方式繪製,那麼以藍色繪製的區域儘管它們不屬於相應的類別。難道我不知道怎麼把knn的信息傳遞給情節,所以它知道哪些區域需要着色,哪些區域不着色? – user2058490 2013-04-09 12:38:56