코드 예시
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()





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