import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import Lasso, LinearRegression
# 1. Data Dummy (X = Fitur 1 (Penting), Fitur 2 (Sampah), Fitur 3 (Sampah))
# Kita buat y cuma tergantung pada Fitur 1
X = np.array([[1, 5, 2], [2, 1, 8], [3, 9, 1], [4, 2, 5]])
y = np.array([10, 20, 30, 40]) # Polanya jelas: y = 10 * Fitur 1
# 2. Buat Model
model_biasa = LinearRegression()
model_lasso = Lasso(alpha=2.0) # Alpha besar biar kelihatan efeknya
# 3. Training
model_biasa.fit(X, y)
model_lasso.fit(X, y)
# 4. Bandingkan Koefisien (Slope)
print("Koefisien Linear Biasa:", model_biasa.coef_)
# Output mungkin: [10.0, -0.0001, 0.002] (Fitur sampah masih ada nilainya dikit)
print("Koefisien Lasso:", model_lasso.coef_)
# Output Lasso: [9.8, 0.0, 0.0]
# (Lihat! Fitur 2 dan 3 jadi NOL MUTLAK. Lasso membuang mereka!)
# 5. Prediksi
print("Prediksi:", model_lasso.predict([[5, 100, 100]]))
# Fitur 2 & 3 (nilai 100 & 100) tidak akan ngaruh apa-apa karena dikali 0.