# NOT RUN {
library(spnn)
library(datasets)
data(iris)
# shuffle the iris data set
indexRandom <- sample(1:nrow(iris), size = nrow(iris), replace = FALSE)
# use 100 observations for training set
trainData <- iris[indexRandom[1:100],]
# use remaining observations for testing
testData <- iris[indexRandom[101:length(indexRandom)],]
# fit spnn
spnn <- spnn.learn(set = trainData, category.column = 5)
# estimate probabilities
predictions <- spnn.predict(nn = spnn, newData = testData[,1:4])
# reference matrix must be supplied
# this is not the optimal reference matrix
# this matrix is provided as a simple example
xr <- matrix(c(c(5.00, 3.41, 1.44, 0.24),
c(5.88, 2.75, 4.23, 1.30),
c(6.61, 2.97, 5.59, 2.01)),
nrow = length(unique(trainData$Species)),
ncol = ncol(trainData) - 1,
byrow = TRUE)
# fit cspnn
cspnn <- cspnn.learn(set = trainData, xr = xr, category.column = 5)
# estimate probabilities
predictions <- cspnn.predict(nn = cspnn, newData = testData[,1:4])
# }
Run the code above in your browser using DataLab