hvData: Create the Artificial Dataset of Hand and Vinciotti (2003)

Description Usage Arguments Value References Examples

View source: R/hvData.R

Description

Create the artificial data set of Hand and Vinciotti (2003).

Usage

1
2
3
4
5
6
7
  hvData(n, d = 2, k = 2)

  hvLabels(data, k = 2)

  hvPosterior(data, k = 2)

  hvBayesClass(data, k = 2)

Arguments

n

Number of observations.

d

The dimensionality.

k

Parameter to adjust the class prior probabilities.

data

A data.frame.

Value

hvData returns an object of class "locClass", a list with components:

x

(A matrix.) The explanatory variables.

y

(A factor.) The class labels.

hvLabels returns a factor of class labels.

hvPosterior returns a matrix of posterior probabilities.

hvBayesClass returns a factor of Bayes predictions.

References

Hand, D. J., Vinciotti, V. (2003), Local versus global models for classification problems: Fitting models where it matters, The American Statistician, 57(2) 124–130.

Examples

 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 <- hvData(1000)
test <- hvData(1000)

# Generate a grid of points
x.1 <- x.2 <- seq(0.01,1,0.01)
grid <- expand.grid(x.1 = x.1, x.2 = x.2)

# Calculate the posterior probablities for all grid points
gridPosterior <- hvPosterior(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 <- hvBayesClass(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)

}

locClassData documentation built on May 2, 2019, 5:26 p.m.