Terjemahan ke Bahasa Indonesia
R - Regresi Logistik
Membuat Model Regresi
Selamat datang di dunia regresi logistik dalam R! Dalam panduan ini, kita akan mengajak Anda melalui dasar-dasar membuat model regresi logistik menggunakan R. Kita akan mulai dengan beberapa konsep dasar dan kemudian masuk ke kode. Ingat, ini dirancang untuk pemula yang tidak memiliki pengalaman pemrograman sebelumnya, jadi jangan khawatir jika Anda merasa sedikit kesulitan pada awalnya. Ayo mulai!
Apa Itu Regresi Logistik?
Regresi logistik adalah metode statistik yang digunakan untuk menganalisis data dan membuat prediksi berdasarkan satu atau lebih variabel penentu. Ini sering digunakan untuk masalah klasifikasi biner, di mana hasilnya dapat "ya" (1) atau "tidak" (0). Perbedaan utama antara regresi logistik dan regresi linier adalah bahwa regresi logistik memprediksi probabilitas terjadinya hasil, sedangkan regresi linier memprediksi nilai kontinuu.
Mengapa Menggunakan Regresi Logistik?
Regresi logistik secara luas digunakan dalam berbagai bidang, termasuk kesehatan, keuangan, pemasaran, dan sains sosial. Ini sangat berguna saat Anda ingin memahami hubungan antara hasil biner dan satu atau lebih variabel penentu. Misalnya, Anda dapat menggunakan regresi logistik untuk memprediksi apakah pelanggan akan membeli produk berdasarkan usia, pendapatan, dan riwayat pembelian mereka.
Membuat Model Regresi Logistik dalam R
Untuk membuat model regresi logistik dalam R, kita akan menggunakan fungsi glm()
, yang berarti Generalized Linear Models. Berikut adalah panduan langkah demi langkah:
Langkah 1: Install dan Muat Library Yang Diperlukan
Pertama, Anda perlu menginstall dan memuat library yang diperlukan. Kita akan menggunakan library tidyverse
untuk manipulasi dan visualisasi data, serta library caret
untuk modeling.
install.packages("tidyverse")
install.packages("caret")
library(tidyverse)
library(caret)
Langkah 2: Muat Data
Selanjutnya, mari muat dataset. Untuk contoh ini, kita akan menggunakan dataset mtcars
yang ter内置, yang berisi informasi tentang berbagai model mobil. Kita akan fokus pada memprediksi apakah mobil adalah mobil sport berdasarkan bobot dan daya mesinnya.
data(mtcars)
head(mtcars)
Langkah 3: Proses Data
Sebelum membuat model regresi logistik, kita perlu memproses data. Ini termasuk pengkodean variabel kategorik, penanganan nilai hilang, dan penskalaan fitur. Dalam kasus kita, kita hanya memiliki variabel numerik, jadi kita tidak perlu melakukan pengkodean atau penskalaan. Namun, kita akan membuat variabel biner baru yang disebut is_sports_car
untuk menunjukkan apakah mobil adalah mobil sport atau tidak.
mtcars <- mtcars %>%
mutate(is_sports_car = ifelse(hp > 150, 1, 0))
Langkah 4: Pisahkan Data Menjadi Set Latihan dan Set Tes
Pemisahan data menjadi set latihan dan set tes penting untuk mengevaluasi performa model kita. Kita akan menggunakan fungsi createDataPartition()
dari paket caret
untuk membuat partisi.
set.seed(123)
trainIndex <- createDataPartition(mtcars$is_sports_car, p = 0.8, list = FALSE)
trainSet <- mtcars[trainIndex, ]
testSet <- mtcars[-trainIndex, ]
Langkah 5: Bangun Model Regresi Logistik
Sekarang kita siap untuk membangun model regresi logistik kita. Kita akan menggunakan fungsi glm()
dengan argumen family
diatur ke binomial
untuk menentukan bahwa kita ingin melakukan regresi logistik.
model <- glm(is_sports_car ~ wt + hp, data = trainSet, family = binomial)
summary(model)
Fungsi summary()
memberikan gambaran umum tentang model, termasuk koefisien, kesalahan standar, nilai z, dan nilai p. Statistik ini membantu kita memahami pentingnya setiap variabel penentu dan apakah mereka statistiknya signifikan.
Langkah 6: Buat Prediksi dan Evaluasi Model
Setelah kita memiliki model, kita dapat menggunakannya untuk membuat prediksi pada set tes dan mengevaluasi performanya. Kita akan menggunakan fungsi predict()
untuk menghasilkan probabilitas yang diprediksi dan kemudian mengkonversinya menjadi hasil biner menggunakan batas 0.5.
predictions <- predict(model, newdata = testSet, type = "response")
predicted_classes <- ifelse(predictions > 0.5, 1, 0)
Sekarang, mari hitung akurasi model kita dengan membandingkan kelas yang diprediksi dengan kelas aktual di set tes.
accuracy <- mean(predicted_classes == testSet$is_sports_car) * 100
cat("Akurasi:", accuracy, "%")
Dan itu saja! Anda telah berhasil membuat model regresi logistik dalam R menggunakan fungsi glm()
. Ingat, ini hanya contoh dasar, dan ada banyak faktor lain yang perlu dipertimbangkan saat membuat dan mengevaluasi model regresi logistik, seperti pemilihan fitur, regularisasi, dan penyesuaian model. Tetapi ini seharusnya memberikan Anda titik awal untuk perjalanan Anda ke dunia regresi logistik dalam R.
Credits: Image by storyset