मैं ggplot2 के साथ contour
(बेस आर) के बराबर कैसे प्लॉट करूं?ggplot2 के साथ प्लॉट निर्णय सीमाएं?
require(MASS)
iris.lda<-lda(Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width, data = iris)
datPred<-data.frame(Species=predict(iris.lda)$class,predict(iris.lda)$x) #create data.frame
#Base R plot
eqscplot(datPred[,2],datPred[,3],pch=as.double(datPred[,1]),col=as.double(datPred[,1])+1)
#Create decision boundaries
iris.lda2 <- lda(datPred[,2:3], datPred[,1])
x <- seq(min(datPred[,2]), max(datPred[,2]), length.out=30)
y <- seq(min(datPred[,3]), max(datPred[,3]), length.out=30)
Xcon <- matrix(c(rep(x,length(y)),
rep(y, rep(length(x), length(y)))),,2) #Set all possible pairs of x and y on a grid
iris.pr1 <- predict(iris.lda2, Xcon)$post[, c("setosa","versicolor")] %*% c(1,1) #posterior probabilities of a point belonging to each class
contour(x, y, matrix(iris.pr1, length(x), length(y)),
levels=0.5, add=T, lty=3,method="simple") #Plot contour lines in the base R plot
iris.pr2 <- predict(iris.lda2, Xcon)$post[, c("virginica","setosa")] %*% c(1,1)
contour(x, y, matrix(iris.pr2, length(x), length(y)),
levels=0.5, add=T, lty=3,method="simple")
#Eqivalent plot with ggplot2 but without decision boundaries
ggplot(datPred, aes(x=LD1, y=LD2, col=Species)) +
geom_point(size = 3, aes(pch = Species))
यह जब ggplot साथ समोच्च पंक्तियों की साजिश रचने एक मैट्रिक्स का उपयोग करने के लिए संभव नहीं है: नीचे रैखिक विभेदक समारोह विश्लेषण के साथ एक उदाहरण है। मैट्रिक्स पिघलने का उपयोग कर डेटा फ्रेम पर पुन: व्यवस्थित किया जा सकता है। Iris.pr1 से संभाव्यता मानों के नीचे डेटा फ्रेम में निम्नलिखित कॉलम में x और y निर्देशांक के साथ पहले कॉलम में प्रदर्शित किया गया है। एक्स और वाई निर्देशांक 30 x 30 अंक का ग्रिड बनाते हैं।
df <- transform(melt(matrix(iris.pr1, length(x), length(y))), x=x[X1], y=y[X2])[,-c(1,2)]
मैं निर्देशांक (अधिमानतः एक समतल वक्र से जुड़े हुए) जहां पीछे संभावनाओं 0.5 (अर्थात निर्णय सीमाओं) कर रहे हैं साजिश करना चाहते हैं।
एक रेखा खींचने के लिए, हमें एक समोच्च साजिश से गुजरना है? Geom_line का उपयोग करने का कोई और तरीका नहीं है? – user3236841