Đây là một câu hỏi liên quan đến https://stats.stackexchange.com/questions/21572/how-to-plot-decision-boundary-of-a-k-nearest-neighbor-classifier-from-elements-oBiến thể về "Làm thế nào để lô ranh giới quyết định của một phân loại hàng xóm gần nhất k từ các yếu tố của học thống kê?"
Để hoàn chỉnh, đây là ví dụ gốc từ liên kết đó:
library(ElemStatLearn)
require(class)
x <- mixture.example$x
g <- mixture.example$y
xnew <- mixture.example$xnew
mod15 <- knn(x, xnew, g, k=15, prob=TRUE)
prob <- attr(mod15, "prob")
prob <- ifelse(mod15=="1", prob, 1-prob)
px1 <- mixture.example$px1
px2 <- mixture.example$px2
prob15 <- matrix(prob, length(px1), length(px2))
par(mar=rep(2,4))
contour(px1, px2, prob15, levels=0.5, labels="", xlab="", ylab="", main=
"15-nearest neighbour", axes=FALSE)
points(x, col=ifelse(g==1, "coral", "cornflowerblue"))
gd <- expand.grid(x=px1, y=px2)
points(gd, pch=".", cex=1.2, col=ifelse(prob15>0.5, "coral", "cornflowerblue"))
box()
Tôi đã chơi với ví dụ đó, và muốn cố gắng làm cho nó hoạt động với ba lớp. Tôi có thể thay đổi một số giá trị của g với một cái gì đó giống như
g[8:16] <- 2
chỉ để giả vờ rằng có một số mẫu mà là từ một lớp thứ ba. Tôi không thể làm cho cốt truyện làm việc, mặc dù. Tôi đoán tôi cần phải thay đổi dòng mà đối phó với tỷ lệ phiếu bầu cho lớp chiến thắng:
prob <- attr(mod15, "prob")
prob <- ifelse(mod15=="1", prob, 1-prob)
và cũng là mức trên đường viền:
contour(px1, px2, prob15, levels=0.5, labels="", xlab="", ylab="", main=
"15-nearest neighbour", axes=FALSE)
Tôi cũng không chắc chắn đường viền là quyền công cụ này. Một phương án thay thế hoạt động là tạo một ma trận dữ liệu bao trùm vùng tôi quan tâm, phân loại từng điểm của ma trận này và vẽ các điểm có điểm đánh dấu lớn và các màu khác nhau, tương tự như những gì đang được thực hiện với các điểm (gd .. .) bit.
Mục đích cuối cùng là có thể hiển thị các ranh giới quyết định khác nhau được tạo bởi các trình phân loại khác nhau. Ai đó có thể chỉ cho tôi hướng đi đúng không?
nhờ Rafael
Fantastic, âm mưu cuối cùng là một bước tiến khổng lồ trên những gì tôi muốn làm! –