MulaiMulai sekarang secara gratis

Membuat prediksi biner

Pada latihan sebelumnya, Anda menggunakan fungsi glm() untuk membangun model regresi logistik terhadap perilaku donor. Seperti banyak metode Machine Learning di R, Anda dapat menerapkan fungsi predict() pada objek model untuk memprakirakan perilaku di masa mendatang. Secara bawaan, predict() menghasilkan prediksi dalam bentuk log odds kecuali jika type = "response" ditentukan. Ini mengonversi log odds menjadi probabilitas.

Karena model regresi logistik mengestimasi probabilitas dari keluaran, Andalah yang menentukan ambang di mana probabilitas tersebut menyiratkan tindakan. Harus ada keseimbangan antara terlalu berhati-hati dan terlalu agresif. Misalnya, jika Anda hanya menghubungi orang-orang dengan probabilitas donasi 99% atau lebih, Anda mungkin melewatkan banyak orang dengan probabilitas perkiraan lebih rendah yang tetap memilih untuk berdonasi. Keseimbangan ini sangat penting dipertimbangkan untuk keluaran yang sangat tidak seimbang, seperti pada himpunan data ini di mana donasi relatif jarang.

Himpunan data donors dan model donation_model tersedia untuk Anda gunakan.

Latihan ini adalah bagian dari kursus

Supervised Learning di R: Klasifikasi

Lihat Kursus

Petunjuk latihan

  • Gunakan fungsi predict() untuk mengestimasi probabilitas donasi setiap orang. Gunakan argumen type untuk memperoleh probabilitas. Simpan prediksi ke kolom baru bernama donation_prob.
  • Temukan probabilitas aktual bahwa seseorang rata-rata akan berdonasi dengan memberikan fungsi mean() kolom yang sesuai dari data frame donors.
  • Gunakan ifelse() untuk memprediksi donasi jika probabilitas donasi yang diprediksi lebih besar daripada rata-rata. Simpan prediksi ke kolom baru bernama donation_pred.
  • Gunakan fungsi mean() untuk menghitung akurasi model.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Estimate the donation probability
donors$donation_prob <- predict(___, type = "___")

# Find the donation probability of the average prospect
mean(___)

# Predict a donation if probability of donation is greater than average (0.0504)
donors$donation_pred <- ifelse(___ > 0.0504, ___, ___)

# Calculate the model's accuracy
mean(___ == ___)
Edit dan Jalankan Kode