Skip to main content
  1. Belajar/
  2. Machine Learning with Python/
  3. 3. Pemodelan Linear Regression/

Ridge Linear Regression

6 mins· loading · loading ·
Pemodelan Linear Regression - This article is part of a series.
Part 5: This Article

Ridget Linear Regression atau Ridge Regression dikenal juga sebagai Tikhonov regularization atau L2 regularization merupakan varian dari Linear Regression yang dirancang untuk mengatasi masalah multikolinearitas dalam data. Multikolinearitas terjadi ketika dua atau lebih variabel bebas dalam model Linear Regression berkorelasi tinggi, yang dapat menyebabkan masalah dalam mengestimasi parameter model. Ridge Regression mengenali masalah ini dengan menambahkan komponen regularisasi berbasis norma L2 ke fungsi tujuan (objective function) yang akan dioptimalkan.

Prinsip Ridge Regression:
#

  1. Fungsi Tujuan Ridge Regression:

    • Ridge Regression memodifikasi fungsi tujuan (objective function) dalam Linear Regression dengan menambahkan norma L2 dari vektor parameter. Fungsi tujuan Ridge Regression menjadi: [ J(\theta) = \text{MSE} + \alpha \sum_{i=1}^{n} \theta_i^2 ] di mana (\theta) adalah vektor parameter, (\alpha) adalah hyperparameter yang mengontrol kekuatan regularisasi, dan (\sum_{i=1}^{n} \theta_i^2) adalah norma L2 dari vektor parameter.
  2. Tujuan Regularisasi (Penalitas):

    • Komponen regularisasi (penalitas) (\alpha \sum_{i=1}^{n} \theta_i^2) membantu mencegah parameter model ((\theta)) menjadi terlalu besar. Norma L2 memastikan bahwa parameter model yang signifikan mendapatkan bobot yang signifikan, sementara juga menghindari parameter yang kurang signifikan menjadi terlalu besar.
  3. Parameter (\alpha):

    • Parameter (\alpha) adalah hyperparameter yang perlu ditentukan sebelumnya (biasanya melalui teknik validasi silang). Nilai (\alpha) yang lebih besar menghasilkan regularisasi yang lebih kuat.
  4. Solusi Closed-Form:

    • Ridge Regression dapat dipecahkan dengan mudah menggunakan metode closed-form (solusi analitik) yang melibatkan invers matriks. Solusinya adalah: [ \theta = (X^T X + \alpha I)^{-1} X^T Y ] di mana (X) adalah matriks desain, (Y) adalah vektor variabel terikat, dan (I) adalah matriks identitas.
  5. Keuntungan Ridge Regression:

    • Ridge Regression membantu mengurangi varians dari model dan meningkatkan kinerjanya dalam mengatasi overfitting, terutama ketika terdapat multikolinearitas dalam data.

Implementasi Ridge Regression dengan Scikit-Learn:
#

from sklearn.linear_model import Ridge
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
from sklearn.preprocessing import StandardScaler

# Contoh implementasi Ridge Regression dengan Scikit-Learn
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state=42)

# Normalisasi fitur menggunakan StandardScaler
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train.reshape(-1, 1))
X_test_scaled = scaler.transform(X_test.reshape(-1, 1))

# Inisialisasi model Ridge Regression
alpha = 1.0  # Pilih nilai alpha sesuai kebutuhan
ridge_model = Ridge(alpha=alpha)

# Melatih model
ridge_model.fit(X_train_scaled, Y_train)

# Membuat prediksi
Y_pred = ridge_model.predict(X_test_scaled)

# Evaluasi model menggunakan Mean Squared Error
mse = mean_squared_error(Y_test, Y_pred)
print(f'Mean Squared Error: {mse}')

Ridge Regression dapat diimplementasikan dengan mudah menggunakan pustaka Scikit-Learn. Normalisasi fitur dengan StandardScaler sangat disarankan karena Ridge Regression sensitif terhadap skala variabel.

Pemodelan Linear Regression - This article is part of a series.
Part 5: This Article