Linear Regression 코드 예시와 선대적 접근

Minsu Kang·2025년 4월 28일

코드 예시

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error, r2_score

df = sns.load_dataset("iris")
X = df[["petal_length"]]
y = df["sepal_length"]

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

model = LinearRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)

print(model.coef_[0])
print(model.intercept_)
print(r2_score(y_test, y_pred))
print(mean_squared_error(y_test, y_pred))

plt.scatter(X_test, y_test, color="blue")
plt.plot(X_test, y_pred, color="red")
plt.show()

핵심은, 비선형적 함수도 선형적 접근으로 풀 수 있다는 것. 우리의 변수는(편미분 대상)은 W, theta, 즉 계수들이기 때문!



결국 XtransposeX의 역행렬 * Xtranspose y 가 최적의 W가 됩니다

profile
안녕하세요! 강민수입니다.

0개의 댓글