Hàm rfe
trong gói caret
thực hiện lựa chọn tính năng đệ quy cho các thuật toán khác nhau. Dưới đây là một ví dụ từ 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
Nguồn
2013-07-08 15:31:00
'kích thước = c là gì (2, 5, 10, 20) 'ở đây? Điều đó có nghĩa là các tính năng 2, 10 và 20 không? – Mahsolid
@Mahsolid Không, đó là số tính năng sẽ được sử dụng. rfe sẽ cố gắng tìm mô hình tốt nhất của từng kích thước được đưa ra trong vectơ đó. Kiểm tra tài liệu rfe để biết thêm chi tiết. –