Berikut adalah langkah-langkah beserta penjelasan singkat dan snapshot kode program Python untuk melakukan praktikum regresi linier, mengacu pada kode program yang telah diberikan sebelumnya:
Langkah 1: Persiapan Data
Download dan letakkan file data yang akan digunakan pada direktori yang sama. Pastikan data telah disimpan dalam format CSV.
Langkah 2: Import Library
# import packageimport numpy as npimport pandas as pd
Import library NumPy dan Pandas yang digunakan untuk manipulasi data.
Langkah 3: Baca Data
# baca data dari file CSVdata = pd.read_csv('dataset.csv')
Baca data dari file CSV dengan menggunakan Pandas.
Langkah 4: Pemahaman Terhadap Data
# melihat beberapa data awaldata.head()# mengecek ukuran datadata.shape# informasi tentang datadata.info()# deskripsi datadata.describe()
Tampilkan beberapa data awal, ukuran data, informasi data, dan deskripsi statistik data untuk memahami karakteristik data.
Langkah 5: Visualisasi Data
# import library untuk visualisasiimport matplotlib.pyplot as pltimport seaborn as sns
Import library Matplotlib dan Seaborn untuk visualisasi data.
# visualisasi data dengan pairplotsns.pairplot(data, x_vars=['Time on App', 'Time on Website', 'Length of Membership'], y_vars='Yearly Amount Spent', size=4, aspect=1, kind='scatter')plt.show()
Gunakan pairplot untuk menampilkan hubungan antara variabel bebas dan variabel target dalam bentuk scatter plot.
# visualisasi korelasi dengan heatmapsns.heatmap(data.corr(), cmap="YlGnBu", annot=True)plt.show()
Gunakan heatmap untuk menampilkan matriks korelasi antara variabel-variabel dalam dataset. Semakin tinggi nilainya, semakin tinggi korelasinya.
Langkah 6: Regresi Linier
# Membuat variabel bebas X dan Y, contoh pengambilan dari analisis korelasi sebelumnyaX = data['Length of Membership']y = data['Yearly Amount Spent']
Pisahkan variabel bebas (X) dan variabel target (y).
# Pembagian data latih dan data uji dengan proporsi 7:3from sklearn.model_selection import train_test_splitX_train, X_test, y_train, y_test =train_test_split(X, y, train_size=0.7, test_size=0.3, random_state=100)
Bagi data menjadi data latih (70%) dan data uji (30%) menggunakan train_test_split.
Lakukan training model regresi linier menggunakan library StatsModels. Tambahkan konstanta (intercept) ke variabel bebas.
# Training modelimport statsmodels.api as smX_train_sm = sm.add_constant(X_train)lr = sm.OLS(y_train, X_train_sm).fit()
Visualisasikan garis regresi pada data latih.
# Visualisasi garis regresiplt.scatter(X_train, y_train)plt.plot(X_train, 265.2483+66.3015*X_train, 'r')plt.show()
Langkah 7: Analisis Residual
# Prediksi nilai y_value dari data x yang telah dilatihy_train_pred = lr.predict(X_train_sm)# Menghitung residualres = (y_train - y_train_pred)
Lakukan prediksi nilai y dari data latih dan hitung residual (selisih antara nilai sebenarnya dan nilai prediksi).
Visualisasikan residual dalam bentuk histogram dan scatter plot untuk mengevaluasi distribusi dan pola error.
Langkah 8: Prediksi pada Data Uji dan Evaluasi Model
# Prediksi pada data ujiX_test_sm = sm.add_constant(X_test)y_test_pred = lr.predict(X_test_sm)
Lakukan prediksi pada data uji.
# Hitung nilai R-squaredfrom sklearn.metrics import r2_scorer_squared =r2_score(y_test, y_test_pred)
Hitung nilai R-squared untuk mengukur kinerja model pada data uji.
Langkah 9: Visualisasi Hasil
# Visualisasi data uji dan hasil prediksiplt.scatter(X_test, y_test)plt.plot(X_test, y_test_pred, 'r')plt.show()
Visualisasikan data uji dan hasil prediksi dalam bentuk scatter plot.
Dengan mengikuti langkah-langkah di atas, Anda dapat melakukan analisis regresi linier pada data Anda, mengukur kinerja model, dan memvisualisasikan hasilnya.