import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
data = np.array([
[0.5, 1.4],
[1.3, 1.9],
[2.1, 3.0],
[3.0, 3.7],
[3.8, 4.2],
[4.5, 5.1]
])
x_data = data[:, 0].reshape(-1, 1)
y_data = data[:, 1]
model = LinearRegression()
model.fit(x_data, y_data)
w = model.coef_[0]
b = model.intercept_
print(f"回归方程为: y = {w:.2f}x + {b:.2f}")
y_pred = model.predict(x_data)
plt.figure(figsize=(8, 6))
plt.scatter(x_data, y_data, color='blue', label='Data')
plt.plot(x_data, y_pred, color='red', label='Regression Line', linewidth=2)
plt.xlabel("X")
plt.ylabel("Y")
plt.legend()
plt.grid()
plt.show()
