R 变量选择函数
我想为变量选择定义一个函数R 变量选择函数,r,feature-selection,variable-selection,R,Feature Selection,Variable Selection,我想为变量选择定义一个函数 Var_Selection = function(data, target){ target = as.character(target) form = paste(target, '~ ') vect = c() valid.names <- names(data)[names(data) != "target"] myAIC = data.frame(var = as.character(), AIC = as.numeric())
Var_Selection = function(data, target){
target = as.character(target)
form = paste(target, '~ ')
vect = c()
valid.names <- names(data)[names(data) != "target"]
myAIC = data.frame(var = as.character(), AIC = as.numeric())
repeat{
a=Sys.time()
Perf = data.frame(variable = as.character(), AIC = as.numeric())
for(i in 2:length(valid.names)){
# Régression logistique pour chaque variable
mylogit = glm(as.formula(paste(form, i), data=data, family="binomial"))
# AIC pour chaque variable
Perf = rbind(Perf,
data.frame(variable= i,
AIC= extractAIC(mylogit)[2]))
}
# Keep best variable
vect = c(vect,new_var)
myAIC = rbind(myAIC,
data.frame(var = new_var,
AIC = Perf[Perf$variable == new_var,'AIC']))
plot(myAIC[,2],type = 'b', ylab = 'AIC', main = new_var)
print(new_var)
b=Sys.time()
print(b-a)
}
#mylogit = glm(as.formula(paste(form, paste(vect, collapse = ' + '))), data=data, family="binomial")
#return(mylogit)
}
目标变量是Sin
我有以下错误:“错误为.formula(粘贴(form,I),data=data,family=“二项式”):未使用的参数(data=data,family=“二项式”)是否应该粘贴(form,valid.names[I])?猜猜看。不,它也不会走路。好的,对不起,太吵了。您在错误的位置关闭了括号,它必须在
粘贴
之后,因为数据=数据,family=“binomial”
不是as.formula
的参数。
Marque Cat Usag Cyl Sin
ACM S Pr 12 1
ADIVA S A 28 0
BMW M M 192 0