ฉันเริ่มตะลุยกับการใช้งาน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
(BMI เปอร์เซ็นไทล์) - ต่อเนื่องm_edu
(ระดับการศึกษาสูงสุดของมารดา) - ลำดับ (0 = น้อยกว่าโรงเรียนมัธยม 1 = อนุปริญญามัธยมปลาย 2 = ระดับปริญญาตรี 3 = ปริญญาระดับหลังปริญญา)p_edu
(พ่อระดับการศึกษาสูงสุด) - ลำดับ (เหมือนกับ m_edu)f_color
(สีหลักโปรด) - ระบุ ("สีน้ำเงิน", "สีแดง" หรือ "สีเหลือง")asthma
(สถานะเด็กโรคหอบหืด) - ไบนารี (1 = asthma; 0 = ไม่มีโรคหอบหืด)
เป้าหมายของตัวอย่างนี้คือการทำให้การใช้เชือกในการสร้างแบบจำลองทำนายภาวะเด็กโรคหอบหืดจากรายการ 6 ตัวแปรที่มีศักยภาพ ( age
, gender
, bmi_p
, m_edu
, p_edu
และf_color
) เห็นได้ชัดว่าขนาดตัวอย่างเป็นปัญหาที่นี่ แต่ฉันหวังว่าจะได้รับข้อมูลเชิงลึกมากขึ้นเกี่ยวกับวิธีการจัดการตัวแปรประเภทต่างๆ (เช่นต่อเนื่องลำดับที่ระบุและไบนารี) ภายในglmnet
กรอบเมื่อผลที่ได้คือไบนารี (1 = โรคหอบหืด ; 0 = ไม่มีโรคหอบหืด)
ดังนั้นทุกคนจะยินดีที่จะให้R
สคริปต์ตัวอย่างพร้อมกับคำอธิบายสำหรับตัวอย่างการเยาะเย้ยนี้โดยใช้ LASSO กับข้อมูลข้างต้นเพื่อทำนายสถานะโรคหอบหืด? แม้ว่าขั้นพื้นฐานมากฉันรู้ว่าฉันและมีแนวโน้มที่คนอื่น ๆ ใน CV จะขอบคุณมากนี้!
glmnet
การกระทำที่มีผลไบนารี
dput
ของจริงวัตถุ R; อย่าทำให้ผู้อ่านใส่น้ำตาลที่อยู่ด้านบนรวมทั้งอบเค้กให้คุณ! ถ้าคุณสร้างกรอบข้อมูลที่เหมาะสมในการวิจัยกล่าวว่าจากนั้นแก้ไขเป็นคำถามการส่งออกของfoo
dput(foo)