-
Notifications
You must be signed in to change notification settings - Fork 634
/
RFlda.R
26 lines (26 loc) · 1.32 KB
/
RFlda.R
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
modelInfo <- list(label = "Factor-Based Linear Discriminant Analysis",
library = "HiDimDA",
loop = NULL,
type = c('Classification'),
parameters = data.frame(parameter = c('q'),
class = c('numeric'),
label = c('# Factors')),
grid = function(x, y, len = NULL, search = "grid") {
if(search == "grid") {
out <- data.frame(q = 1:len)
} else {
out <- data.frame(q = unique(sample(1:10, size = len, replace = TRUE)))
}
out
},
fit = function(x, y, wts, param, lev, last, classProbs, ...)
HiDimDA::RFlda(x, y, q = param$q, maxq = param$q, ...),
predict = function(modelFit, newdata, submodels = NULL) {
out <- predict(modelFit, newdata)$class
out <- modelFit$obsLevels[as.numeric(out)]
out
},
levels = function(x) x$obsLevels,
prob = NULL,
tags = c("Discriminant Analysis", "Linear Classifier"),
sort = function(x) x[order(x[,1]),])