Я начинаю баловаться с использованием glmnet
с LASSO регрессией , где мой результат представляет интерес дихотомический. Я создал небольшой фрейм данных ниже:
age <- c(4, 8, 7, 12, 6, 9, 10, 14, 7)
gender <- c(1, 0, 1, 1, 1, 0, 1, 0, 0)
bmi_p <- c(0.86, 0.45, 0.99, 0.84, 0.85, 0.67, 0.91, 0.29, 0.88)
m_edu <- c(0, 1, 1, 2, 2, 3, 2, 0, 1)
p_edu <- c(0, 2, 2, 2, 2, 3, 2, 0, 0)
f_color <- c("blue", "blue", "yellow", "red", "red", "yellow", "yellow",
"red", "yellow")
asthma <- c(1, 1, 0, 1, 0, 0, 0, 1, 1)
# df is a data frame for further use!
df <- data.frame(age, gender, bmi_p, m_edu, p_edu, f_color, asthma)
Столбцы (переменные) в приведенном выше наборе данных являются следующими:
age
(возраст ребенка в годах) - непрерывныйgender
- двоичный (1 = мужской; 0 = женский)bmi_p
(Процентиль ИМТ) - непрерывныйm_edu
(самый высокий уровень образования матери) - порядковый номер (0 = меньше, чем в старшей школе; 1 = диплом средней школы; 2 = степень бакалавра; 3 = степень бакалавра)p_edu
(отец высший уровень образования) - порядковый номер (так же, как m_edu)f_color
(любимый основной цвет) - номинальный («синий», «красный» или «желтый»)asthma
(статус астмы у ребенка) - бинарный (1 = астма; 0 = нет астмы)
Цель этого примера использовать лассо , чтобы создать модель прогнозирования состояния ребенка астмы из списка 6 потенциальных предикторов ( age
, gender
, bmi_p
, m_edu
, p_edu
, и f_color
). Очевидно, что размер выборки является проблемой здесь, но я надеюсь получить более полное представление о том, как обрабатывать различные типы переменных (то есть, непрерывные, порядковые, номинальные и двоичные) в glmnet
рамках, когда результат является двоичным (1 = астма ; 0 = нет астмы).
Таким образом, желает ли кто-нибудь предоставить пример R
сценария вместе с пояснениями к этому фиктивному примеру, используя LASSO с вышеуказанными данными для прогнозирования статуса астмы? Я знаю, что, хотя и очень простой, я, и, вероятно, многие другие, работающие в CV, были бы очень благодарны!
glmnet
в действии с двоичным результатом.
dput
виде реального объекта R; не заставляйте читателей ставить глазурь сверху, а также печь пирог! Скажемfoo
, если вы сгенерируете соответствующий фрейм данных в R , то отредактируйте вопросdput(foo)
.