7
我嘗試使用R包在SVM中應用特徵選擇(例如,遞歸特徵選擇)。我已經安裝了支持在LibSVM中進行功能選擇的Weka,但是我還沒有找到任何SVM或類似語法的例子。一個簡短的例子會有很大的幫助。R中的svm特性選擇示例
我嘗試使用R包在SVM中應用特徵選擇(例如,遞歸特徵選擇)。我已經安裝了支持在LibSVM中進行功能選擇的Weka,但是我還沒有找到任何SVM或類似語法的例子。一個簡短的例子會有很大的幫助。R中的svm特性選擇示例
caret
包中的函數rfe
爲各種算法執行遞歸特徵選擇。下面是來自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
什麼是'大小= C(2,5,10,20)在'這裏?這是否意味着功能2,10和20? – Mahsolid
@Mahsolid不,它是將要使用的功能的計數。 rfe會嘗試找到在該向量中給出的每個尺寸的最佳模型。查看rfe文檔以獲取更多詳細信息。 –