classif.ML
Functional classification using ML algotithms
Computes functional classification using functional (and non functional) explanatory variables by rpart, nnet, svm or random forest model
- Keywords
- classif
Usage
classif.nnet(formula, data, basis.x = NULL, weights = "equal", size, ...)classif.rpart(
formula,
data,
basis.x = NULL,
weights = "equal",
type = "1vsall",
...
)
classif.svm(
formula,
data,
basis.x = NULL,
weights = "equal",
type = "1vsall",
...
)
classif.ksvm(formula, data, basis.x = NULL, weights = "equal", ...)
classif.randomForest(
formula,
data,
basis.x = NULL,
weights = "equal",
type = "1vsall",
...
)
classif.lda(
formula,
data,
basis.x = NULL,
weights = "equal",
type = "1vsall",
...
)
classif.qda(
formula,
data,
basis.x = NULL,
weights = "equal",
type = "1vsall",
...
)
classif.naiveBayes(formula, data, basis.x = NULL, laplace = 0, ...)
Arguments
- formula
an object of class
formula
(or one that can be coerced to that class): a symbolic description of the model to be fitted. The details of model specification are given underDetails
.- data
List that containing the variables in the model.
- basis.x
List of basis for functional explanatory data estimation.
- weights
Weights:
if
character
string='equal'
same weights for each observation (by default) and='inverse'
for inverse-probability of weighting.if
numeric
vector of lengthn
, Weight values of each observation.
- size
number of units in the hidden layer. Can be zero if there are skip-layer units.
- …
Further arguments passed to or from other methods.
- type
If type is
"1vsall"
(by default) a maximum probability scheme is applied: requires G binary classifiers. If type is"majority"
(only for multicalss classification G > 2) a voting scheme is applied: requires G (G - 1) / 2 binary classifiers.- laplace
value used for Laplace smoothing (additive smoothing). Defaults to 0 (no Laplace smoothing).
Details
The first item in the data
list is called "df" and is a data
frame with the response and non functional explanatory variables, as
glm
.
Functional covariates of class fdata
or fd
are introduced in
the following items in the data
list. basis.x
is a list of
basis for represent each functional covariate. The b object can be
created by the function: create.pc.basis
, pca.fd
create.pc.basis
, create.fdata.basis
o
create.basis
. basis.b
is a list of basis for
represent each functional beta parameter. If basis.x
is a list of
functional principal components basis (see create.pc.basis
or
pca.fd
) the argument basis.b
is ignored.
Value
Return classif
object plus:
formula
formula.data
List that containing the variables in the model.group
Factor of length ngroup.est
Estimated vector groupsprob.classification
Probability of correct classification by group.prob.group
Matrix of predicted class probabilities. For each functional point shows the probability of each possible group membership.max.prob
Highest probability of correct classification.type
Type of classification scheme: 1 vs all or majority voting.fit
list of binary classification fitted models.
Note
Wrapper versions for multivariate and functional classification:
classif.lda
,classif.qda
: useslda
andqda
functions and requiresMASS
package.classif.nnet
: usesnnet
function and requiresnnet
package.classif.rpart
: usesnnet
function and requiresrpart
package.classif.svm
,classif.naiveBayes
: usessvm
andnaiveBayes
functions and requirese1071
package.classif.ksvm
: usesweighted.ksvm
function and requirespersonalized
package.classif.randomForest
: usesrandomForest
function and requiresrandomForest
package.
References
Ramsay, James O., and Silverman, Bernard W. (2006), Functional Data Analysis, 2nd ed., Springer, New York.
McCullagh and Nelder (1989), Generalized Linear Models 2nd ed. Chapman and Hall.
Venables, W. N. and Ripley, B. D. (2002) Modern Applied Statistics with S, New York: Springer. Regression for R. R News 1(2):20-25
See Also
See Also as: rpart
. Alternative method:
classif.np
, classif.glm
,
classif.gsam
and classif.gkam
.
Examples
# NOT RUN {
data(phoneme)
mlearn<-phoneme[["learn"]]
glearn<-phoneme[["classlearn"]]
mtest<-phoneme[["test"]]
gtest<-phoneme[["classtest"]]
dataf<-data.frame(glearn)
dat=list("df"=dataf,"x"=mlearn)
a1<-classif.rpart(glearn~x,data=dat)
summary(a1)
newdat<-list("x"=mtest)
p1<-predict(a1,newdat,type="class")
table(gtest,p1)
sum(p1==gtest)/250
# }
# NOT RUN {
# }