🍊Praktikum 1

⬆️ Download Dataset Terlebih Dahulu ⬆️

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 package
import numpy as np
import pandas as pd
  • Import library NumPy dan Pandas yang digunakan untuk manipulasi data.

Langkah 3: Baca Data

# baca data dari file CSV
data = pd.read_csv('dataset.csv')
  • Baca data dari file CSV dengan menggunakan Pandas.

Langkah 4: Pemahaman Terhadap Data

# melihat beberapa data awal
data.head()

# mengecek ukuran data
data.shape

# informasi tentang data
data.info()

# deskripsi data
data.describe()
  • Tampilkan beberapa data awal, ukuran data, informasi data, dan deskripsi statistik data untuk memahami karakteristik data.

Langkah 5: Visualisasi Data

# import library untuk visualisasi
import matplotlib.pyplot as plt
import seaborn as sns
  • Import library Matplotlib dan Seaborn untuk visualisasi data.

# visualisasi data dengan pairplot
sns.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 heatmap
sns.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 sebelumnya
X = 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:3
from sklearn.model_selection import train_test_split
X_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 model
import statsmodels.api as sm

X_train_sm = sm.add_constant(X_train)
lr = sm.OLS(y_train, X_train_sm).fit()
  • Visualisasikan garis regresi pada data latih.

# Visualisasi garis regresi
plt.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 dilatih
y_train_pred = lr.predict(X_train_sm)

# Menghitung residual
res = (y_train - y_train_pred)
  • Lakukan prediksi nilai y dari data latih dan hitung residual (selisih antara nilai sebenarnya dan nilai prediksi).

# Histogram residual
fig = plt.figure()
sns.distplot(res, bins=15)
plt.title('Error Terms', fontsize=15)
plt.xlabel('y_train - y_train_pred', fontsize=15)
plt.show()

# Scatter plot residual
plt.scatter(X_train, res)
plt.show()
  • 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 uji
X_test_sm = sm.add_constant(X_test)
y_test_pred = lr.predict(X_test_sm)
  • Lakukan prediksi pada data uji.

# Hitung nilai R-squared
from sklearn.metrics import r2_score

r_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 prediksi
plt.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.

Kode Lengkap

Last updated

Was this helpful?