Nothing
context("Evaluation Measure Interface")
resamplingParams <- list(method = "cv", number = 5)
fittingParams <- list(preProc = c("center", "scale"), metric = "Accuracy", tuneGrid = expand.grid(k = seq(1, 10, by = 2)))
wra <- wrapperEvaluator("knn",resamplingParams, fittingParams)
measures <- list(MDLC(), chiSquared(), cramer(), binaryConsistency(), IEConsistency(), IEPConsistency(), roughsetConsistency(), mutualInformation(), gainRatio(), symmetricalUncertain(), fscore(), giniIndex(), Jd(), relief(), normalizedRelief(), normalizedReliefFeatureSetMeasure(), ReliefFeatureSetMeasure(), wra)
setMeasures <- list(MDLC(), binaryConsistency(), IEConsistency(), IEPConsistency(), roughsetConsistency(), mutualInformation(), gainRatio(), symmetricalUncertain(), giniIndex(), Jd(), ReliefFeatureSetMeasure(), wra)
individualMeasures <- list(chiSquared(), cramer(), fscore(), relief())
discreteMeasures <- list(binaryConsistency(), IEConsistency(), IEPConsistency(), roughsetConsistency(), mutualInformation(), gainRatio(), symmetricalUncertain())
mixedMeasures <- list(chiSquared(), cramer(), fscore(), giniIndex(), Jd(), relief(), normalizedRelief(), ReliefFeatureSetMeasure(), normalizedReliefFeatureSetMeasure(), wra)
continuousMeasures <- list(MDLC())
streetNumber <- rep(seq(1,12),10)
doorLetter <- rep(c("A","B","C"),40)
classValue <- rep(seq(1,3),40)
discreteDataset <- data.frame(streetNumber, doorLetter, classValue)
x1 <- seq(1,30)
x2 <- rep(seq(1,10),3)
classValue <- rep(c("A","B"),15)
testDataset <- data.frame(x1, x2, classValue)
for (measure in measures) {
test_that(paste(attr(measure,'name')," has target attribute"), {
expect_true((attr(measure,'target') == 'maximize') || (attr(measure,'target') == 'minimize'))
})
}
for (measure in individualMeasures) {
result <- measure(testDataset, 'classValue', c('x1'))
test_that(paste(attr(measure,'name')," returns numeric value"), {
expect_true(is.numeric(result))
})
}
for (measure in setMeasures) {
result <- measure(testDataset, 'classValue', c('x1', 'x2'))
test_that(paste(attr(measure,'name')," returns numeric value"), {
expect_true(is.numeric(result))
})
test_that(paste(attr(measure,'name')," has right kind"), {
expect_equal(attr(measure,'kind'), "Set measure")
})
}
for (measure in individualMeasures) {
test_that(paste(attr(measure,'name')," has right kind"), {
expect_equal(attr(measure,'kind'), "Individual measure")
})
}
for (measure in discreteMeasures) {
test_that(paste(attr(measure,'name')," needs discrete data"), {
expect_equal(attr(measure,'needsDataToBeDiscrete'), TRUE)
})
test_that(paste(attr(measure,'name')," does not need continuous data"), {
expect_equal(attr(measure,'needsDataToBeContinuous'), FALSE)
})
test_that(paste(attr(measure,'name')," throws warning when using a continuous dataset"), {
expect_warning(measure(iris, 'Species', c('Petal.Width', 'Petal.Length')), 'The data seems not to be discrete, as it should be')
})
test_that(paste(attr(measure,'name')," does not throw a warning when using a discrete dataset"), {
expect_warning(measure(discreteDataset, 'classValue', c('streetNumber', 'doorLetter')), regexp = NA)
})
}
for (measure in mixedMeasures) {
test_that(paste(attr(measure,'name')," does not need discrete data"), {
expect_equal(attr(measure,'needsDataToBeDiscrete'), FALSE)
})
test_that(paste(attr(measure,'name')," does not need continuous data"), {
expect_equal(attr(measure,'needsDataToBeContinuous'), FALSE)
})
}
for (measure in continuousMeasures) {
test_that(paste(attr(measure,'name')," needs continuous data"), {
expect_equal(attr(measure,'needsDataToBeContinuous'), TRUE)
})
test_that(paste(attr(measure,'name')," does not need discrete data"), {
expect_equal(attr(measure,'needsDataToBeDiscrete'), FALSE)
})
test_that(paste(attr(measure,'name')," does not throw a warning when using a continuous dataset"), {
expect_warning(measure(iris, 'Species', c('Petal.Width', 'Petal.Length')), regexp = NA)
})
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.