#r
#r
Вопрос:
Как написать функцию для автоматизации этих процессов:
- Выбор важной функции с порогом 0,05
- Выбор трех наиболее важных функций
Пока у меня это, но оно не работает. Я могу перечислить функции, но не могу написать функцию для выполнения обоих!
lm.fit <- glm(formula = Salary ~., data=train, family = binomial)
glm.coef.sig <- data.frame(summary(glm.fit)$coef[summary(glm.fit)$coef[,4] < .05, 4])
glm.coef.sig
Комментарии:
1. AFAIK, такая функция уже существует в R — она называется «пошаговая регрессия». Вы пробовали
step()
?
Ответ №1:
Вот пример рабочего процесса:
features <- "."
repeat{
lm(formula=paste0("wt ~ ", paste0(features, collapse=" ")), mtcars) -> lm.fit
# get the coefficients that are significant
summary(lm.fit)$coef[-1, 4] <.05 -> summ
# check if the selected features are the features we already had if so break
# if not change feature to selected features
if(identical(features, names(summ)[summ])){
break
} else features = names(summ)[summ]
}
Комментарии:
1. Спасибо. Я пробовал, но я думаю, что я немного неопытен, чтобы сделать это, учитывая мое ограниченное взаимодействие с R. возможно ли написать эту функцию в деталях, посмотрев на мой вопрос posetd!