เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ฝึกโมเดลเพื่อพยากรณ์จำนวนการเช่าจักรยาน

ในแบบฝึกหัดนี้ คุณจะสร้างโมเดลเพื่อพยากรณ์จำนวนจักรยานที่ถูกเช่าในแต่ละชั่วโมง โดยใช้สภาพอากาศ ประเภทของวัน (วันหยุดนักขัตฤกษ์ วันทำงาน หรือวันหยุดสุดสัปดาห์) และช่วงเวลาของวันเป็นตัวแปรอิสระ โมเดลจะถูกฝึกด้วยข้อมูลจากเดือนกรกฎาคม

data frame มีคอลัมน์ดังนี้:

  • cnt: จำนวนจักรยานที่ถูกเช่าในชั่วโมงนั้น (ตัวแปรผลลัพธ์)
  • hr: ชั่วโมงของวัน (0-23 ในรูปแบบ factor)
  • holiday: TRUE/FALSE
  • workingday: TRUE หากไม่ใช่วันหยุดนักขัตฤกษ์หรือวันหยุดสุดสัปดาห์ มิเช่นนั้นเป็น FALSE
  • weathersit: ข้อมูลเชิงหมวดหมู่ ได้แก่ "Clear to partly cloudy" / "Light Precipitation" / "Misty"
  • temp: อุณหภูมิที่ผ่านการนอร์มอลไลซ์แล้วในหน่วยเซลเซียส
  • atemp: อุณหภูมิที่รู้สึกได้ (feeling temperature) ที่ผ่านการนอร์มอลไลซ์แล้วในหน่วยเซลเซียส
  • hum: ความชื้นที่ผ่านการนอร์มอลไลซ์แล้ว
  • windspeed: ความเร็วลมที่ผ่านการนอร์มอลไลซ์แล้ว
  • instant: ดัชนีเวลา -- จำนวนชั่วโมงนับตั้งแต่เริ่มต้นชุดข้อมูล (ไม่ใช่ตัวแปร)
  • mnth และ yr: ดัชนีเดือนและปี (ไม่ใช่ตัวแปร)

อย่าลืมระบุ family = poisson หรือ family = quasipoisson เมื่อใช้ glm() (docs) สำหรับฝึกโมเดลนับจำนวน

เนื่องจากมีตัวแปรอิสระจำนวนมาก เพื่อความสะดวกเราจะกำหนดตัวแปรผลลัพธ์และตัวแปรอิสระไว้ในตัวแปรแยกต่างหาก แล้วใช้ paste() (docs) เพื่อประกอบสตริงที่แทน formula ของโมเดล

data frame bikesJuly พร้อมใช้งานแล้ว และชื่อของตัวแปรผลลัพธ์กับตัวแปรอิสระถูกโหลดไว้ในตัวแปร outcome และ vars ตามลำดับ

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Supervised Learning ใน R: การถดถอย

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เติมช่องว่างเพื่อสร้าง formula fmla ที่แสดง cnt เป็นฟังก์ชันของตัวแปรอิสระ จากนั้นพิมพ์ผลออกมา
  • คำนวณค่าเฉลี่ย (mean()) และความแปรปรวน (var()) ของ bikesJuly$cnt
    • ควรใช้ poisson หรือ quasipoisson regression?
  • ใช้ glm() เพื่อฝึกโมเดลกับข้อมูล bikesJuly แล้วเก็บผลไว้ในตัวแปร bike_model
  • ใช้ glance() เพื่อดูสถิติความพอดีของโมเดล และกำหนดผลลัพธ์ของ glance() ให้กับตัวแปร perf
  • คำนวณค่า pseudo-R-squared ของโมเดล

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# bikesJuly is available
str(bikesJuly)

# The outcome column
outcome 

# The inputs to use
vars 

# Create the formula string for bikes rented as a function of the inputs
(fmla <- paste(___, "~", paste(___, collapse = " + ")))

# Calculate the mean and variance of the outcome
(mean_bikes <- ___)
(var_bikes <- ___)

# Fit the model
bike_model <- ___

# Call glance
(perf <- ___)

# Calculate pseudo-R-squared
(pseudoR2 <- ___)
แก้ไขและรันโค้ด