Sto tentando di applicare la selezione della funzione (ad esempio la selezione della funzione ricorsiva) in SVM, utilizzando il pacchetto R. Ho installato Weka che supporta la selezione delle funzionalità in LibSVM ma non ho trovato alcun esempio per la sintassi di SVM o qualcosa di simile. Un breve esempio potrebbe essere di grande aiuto.Esempio per la selezione della funzione svm in R
7
A
risposta
14
La funzione rfe
nel pacchetto caret
esegue la selezione della funzione ricorsiva per vari algoritmi. Ecco un esempio dalla caret
documentation:
library(caret)
data(BloodBrain, package="caret")
x <- scale(bbbDescr[,-nearZeroVar(bbbDescr)])
x <- x[, -findCorrelation(cor(x), .8)]
x <- as.data.frame(x)
svmProfile <- rfe(x, logBBB,
sizes = c(2, 5, 10, 20),
rfeControl = rfeControl(functions = caretFuncs,
number = 200),
## pass options to train()
method = "svmRadial")
# Here's what your results look like (this can take some time)
> svmProfile
Recursive feature selection
Outer resampling method: Bootstrap (200 reps)
Resampling performance over subset size:
Variables RMSE Rsquared RMSESD RsquaredSD Selected
2 0.6106 0.4013 0.05581 0.08162
5 0.5689 0.4777 0.05305 0.07665
10 0.5510 0.5086 0.05253 0.07222
20 0.5203 0.5628 0.04892 0.06721
71 0.5202 0.5630 0.04911 0.06703 *
The top 5 variables (out of 71):
fpsa3, tcsa, prx, tcpa, most_positive_charge
Ciò che è 'dimensioni = c (2, 5, 10, 20)' qui dentro? Significa le caratteristiche 2, 10 e 20? – Mahsolid
@Mahsolid No, è il numero di funzioni che verranno utilizzate. rfe cercherà di trovare il miglior modello di ogni dimensione data in quel vettore. Controlla i documenti rfe per maggiori dettagli. –