Deskripsi Aplikasi Regression Models App
Aplikasi ini dibuat menggunakan R Shiny untuk keperluan UAS mata
kuliah Regression Models. Tujuannya adalah memberikan antarmuka
interaktif untuk proses eksplorasi data, membangun model regresi linier,
dan melakukan prediksi pada data baru.
Desain Aplikasi
Aplikasi ini menggunakan navbarPage
dengan tema
flatly
dan terdiri atas 5 tab utama:
- Data Preview
- Correlation Matrix
- Exploratory Analysis
- Model Regresi
- Prediksi Data Baru
Setiap tab memiliki fungsi tersendiri yang saling terhubung secara
alur kerja.
Alur Aplikasi
- Data Preview
- Pengguna mengunggah data training (CSV).
- Data ditampilkan dalam bentuk tabel dan ringkasan statistik.
- Correlation Matrix
- Pengguna memilih variabel numerik.
- Ditampilkan korelasi antar variabel menggunakan
corrplot
.
- Exploratory Analysis
- Scatter plot antar dua variabel (X dan Y) dapat dipilih oleh
pengguna.
- Warna titik berdasarkan intensitas nilai Y.
- Model Regresi
- Pengguna memilih target (Y) dan prediktor (X).
- Model regresi linier dibangun dan dapat diunduh sebagai file
.rds
.
- Output berupa ringkasan model (
summary
), statistik
ringkasan (glance
), dan plot aktual vs prediksi.
- Prediksi Data Baru
- Pengguna mengunggah data testing.
- Hasil prediksi ditampilkan dalam bentuk tabel.
Fungsionalitas
fileInput()
Digunakan untuk mengunggah file CSV.
- Pada tab Data Preview, digunakan untuk mengunggah
data training.
- Pada tab Prediksi Data Baru, digunakan untuk
mengunggah data testing.
Input ini memicu proses reactive untuk membaca dan menampilkan
isi file.
DTOutput()
Menampilkan data dalam format tabel interaktif menggunakan paket
DT
.
- Menampilkan data training, data testing, dan hasil
prediksi.
plotOutput()
Menampilkan visualisasi grafik dalam berbagai tab:
- Correlation Matrix: Menampilkan matriks korelasi
antar variabel numerik dengan
corrplot()
.
- Exploratory Analysis: Scatterplot antar dua
variabel dengan pewarnaan gradasi berdasarkan nilai Y.
- Model Regresi: Visualisasi Actual vs
Predicted dengan garis referensi
y = x
.
reactive()
dan
eventReactive()
Digunakan untuk memproses input pengguna secara dinamis:
reactive()
digunakan untuk membaca data
training dan testing setelah diunggah.
eventReactive()
digunakan untuk menjalankan pelatihan
model regresi dan prediksi hanya saat tombol
ditekan.
downloadHandler()
dan
saveRDS()
Digunakan untuk menyimpan model regresi ke dalam file .rds
.
- Model disimpan saat pengguna menekan tombol Unduh
Model, sehingga bisa digunakan kembali untuk prediksi data
baru.
- Validasi Input (
req()
dan
tryCatch()
)
req()
memastikan bahwa input seperti file CSV dan
pilihan variabel telah tersedia sebelum menjalankan proses.
tryCatch()
menangani kemungkinan error saat membaca
file atau menjalankan prediksi, dan menampilkan notifikasi error agar
aplikasi tetap berjalan.
Catatan Penting
- Kolom pada data testing harus sesuai dengan
variabel prediktor (X) yang digunakan saat pelatihan model.
- Model regresi disimpan sebagai file
.rds
untuk
keperluan prediksi.
- Aplikasi menyediakan notifikasi kesalahan apabila terjadi mismatch
atau input tidak valid.
Kesimpulan
Aplikasi ini membantu pengguna:
- Mengeksplorasi data secara visual dan statistik
- Membangun model regresi linier berdasarkan variabel pilihan
- Menyimpan model dan menggunakannya untuk memprediksi data baru