Description Usage Arguments Details Value Examples
Create a binary classification problem with spiral-shaped decision boundary.
1 2 3 4 5 6 7 | spiralData(n = 100, cycles = 1)
spiralLabels(data, cycles = 1)
spiralPosterior(data, cycles = 1)
spiralBayesClass(data, cycles = 1)
|
n |
Number of observations. |
cycles |
Number of cycles the spiral makes. |
data |
A |
These functions are based on the function
mlbench.1spiral
from package
mlbench.
spiralData
returns an object of class
"locClass"
, a list with components:
x |
(A matrix.) The explanatory variables. |
y |
(A factor.) The class labels. |
spiralLabels
returns a factor of class labels.
spiralPosterior
returns a matrix of posterior
probabilities.
spiralBayesClass
returns a factor of Bayes
predictions.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | # Generate a training and a test set
train <- spiralData(1000)
test <- spiralData(1000)
# Generate a grid of points
x.1 <- x.2 <- seq(-2,2,0.05)
grid <- expand.grid(x.1 = x.1, x.2 = x.2)
# Calculate the posterior probablities for all grid points
gridPosterior <- spiralPosterior(grid)
# Draw contour lines of posterior probabilities and plot training observations
contour(x.1, x.2, matrix(gridPosterior[,1], length(x.1)), col = "gray")
points(train$x, col = train$y)
# Calculate Bayes error
ybayes <- spiralBayesClass(test$x)
mean(ybayes != test$y)
if (require(MASS)) {
# Fit an LDA model and calculate misclassification rate on the test data set
tr <- lda(y ~ ., data = as.data.frame(train))
pred <- predict(tr, as.data.frame(test))
mean(pred$class != test$y)
# Draw decision boundary
gridPred <- predict(tr, grid)
contour(x.1, x.2, matrix(gridPred$posterior[,1], length(x.1)), col = "red", levels = 0.5, add = TRUE)
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.