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:

  1. Data Preview
  2. Correlation Matrix
  3. Exploratory Analysis
  4. Model Regresi
  5. Prediksi Data Baru

Setiap tab memiliki fungsi tersendiri yang saling terhubung secara alur kerja.

Alur Aplikasi

  1. Data Preview
    • Pengguna mengunggah data training (CSV).
    • Data ditampilkan dalam bentuk tabel dan ringkasan statistik.
  2. Correlation Matrix
    • Pengguna memilih variabel numerik.
    • Ditampilkan korelasi antar variabel menggunakan corrplot.
  3. Exploratory Analysis
    • Scatter plot antar dua variabel (X dan Y) dapat dipilih oleh pengguna.
    • Warna titik berdasarkan intensitas nilai Y.
  4. 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.
  5. 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