Berikut adalah artikel tentang bagaimana membuat plot untuk model regresi linear multiple menggunakan Matplotlib.
Bagian Awal
Jika Anda seorang data scientist atau software engineer yang bekerja dengan model regresi linear multiple, maka Anda mungkin perlu visualisasi hubungan antara variabel independen dan variabel dependen. Hal ini dapat membantu Anda memahami bagaimana variabel independen terkait dengan variabel dependen dan bagaimana mereka berkontribusi terhadap prediksi overall.
Dalam blog post ini, kita akan menguraikan cara membuat plot untuk model regresi linear multiple menggunakan Matplotlib. Kita akan mencakup langkah-langkah yang diperlukan untuk membuat plot scatter dengan garis regresi dan plot 3D dengan variabel independen multiple.
Membuat Plot Scatter dengan Garis Regresi
Untuk membuat plot scatter dengan garis regresi, kita perlu memenuhi beberapa syarat:
- Load data ke dalam variable
data
menggunakan pandas. - Definisikan variabel
x
dany
sebagai kolom-kolom dalam dataset. - Membuat plot scatter menggunakan
ax.scatter()
dari Matplotlib. - Menghitung koefisien regresi linear menggunakan NumPy's
polyfit
. - Menambahkan garis regresi ke plot menggunakan
ax.plot()
.
Berikut adalah contoh kode:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# Load data
data = pd.read_csv('boston_housing.csv')
# Define x and y variables
x = data['RM']
y = data['MEDV']
# Create plot
fig, ax = plt.subplots()
ax.scatter(x, y)
# Fit a line using polyfit
b1, b0 = np.polyfit(x, y, 1)
line = ax.plot(np.arange(min(x), max(x)), np.polyval([b1, b0], np.arange(min(x), max(x))))
plt.show()
Membuat Plot 3D dengan Variabel Independen Multiple
Untuk membuat plot 3D dengan variabel independen multiple, kita perlu memenuhi beberapa syarat:
- Load data ke dalam variable
data
menggunakan pandas. - Definisikan variabel-variabel independen (
x
,y
, danz
) sebagai kolom-kolom dalam dataset. - Membuat plot 3D menggunakan
fig = plt.figure()
danax = fig.add_subplot(111, projection='3d')
dari Matplotlib. - Menambahkan data point ke plot menggunakan
ax.scatter()
. - Menghitung koefisien regresi linear untuk masing-masing variabel independen menggunakan NumPy's
polyfit
. - Menambahkan plane regresi ke plot menggunakan
ax.plot_surface()
.
Berikut adalah contoh kode:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# Load data
data = pd.read_csv('boston_housing.csv')
# Define x, y, and z variables
x = data['RM']
y = data['CRIM']
z = data['MEDV']
# Create plot
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# Add data points
ax.scatter(x, y, z)
# Fit a plane using polyfit
plane_coef, _, _, _ = np.polyfit([x, y], z, 2)
x_plane, y_plane = np.meshgrid(x, y)
z_plane = plane_coef[0] * x_plane + plane_coef[1] * y_plane
# Add regression plane
ax.plot_surface(x_plane, y_plane, z_plane, alpha=0.5)
# Add labels and title
ax.set_xlabel('Number of Rooms')
ax.set_ylabel('Crime Rate')
ax.set_zlabel('Median Value of Homes ($1000s)')
plt.title('Multiple Linear Regression')
# Show plot
plt.show()
Error Handling
Dalam kode-kode di atas, kita perlu memasukkan error handling untuk menghandle kesalahan yang dapat terjadi saat loading data dan menghitung koefisien regresi.
Berikut adalah contoh error handling:
- Data Loading Error: Menambahkan try-except block untuk memeriksa apakah file data ada dan dalam format yang diharapkan.
try:
data = pd.read_csv('boston_housing.csv')
except FileNotFoundError:
print("Error: Data file 'boston_housing.csv' not found. Make sure the file exists.")
exit(1)
except pd.errors.EmptyDataError:
print("Error: Data file is empty or in an unexpected format.")
exit(1)
- Data Structure Validation: Menambahkan validasi struktur data untuk memastikan bahwa dataset memiliki kolom-kolom yang dibutuhkan.
required_columns = ['RM', 'CRIM', 'MEDV']
if not all(col in data.columns for col in required_columns):
print(f"Error: Data is missing required columns. Expected columns: {', '.join(required_columns)}")
exit(1)
- Regression Coefficients Calculation Error: Menambahkan try-except block untuk menghandle kesalahan yang dapat terjadi saat menghitung koefisien regresi.
try:
b1, b0 = np.polyfit(x, y, 1)
except np.linalg.LinAlgError:
print("Error: Unable to calculate regression coefficients.")
exit(1)
Dengan demikian, kita dapat membuat plot untuk model regresi linear multiple dengan error handling yang baik.