Python线性拟合代码
时间: 2023-11-05 20:21:17 浏览: 94
下面是一个完整的 Python 线性拟合的代码示例:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
# 定义自变量和因变量
x = np.array([1, 2, 3, 4, 5])
y = np.array([3, 5, 7, 9, 11])
# 进行一次线性拟合,返回斜率和截距
coefficients = np.polyfit(x, y, 1)
# 实例化 LinearRegression 类并进行拟合
reg = LinearRegression().fit(x.reshape(-1, 1), y.reshape(-1, 1))
# 打印拟合的斜率和截距
print("polyfit 斜率:", coefficients[0])
print("polyfit 截距:", coefficients[1])
print("LinearRegression 斜率:", reg.coef_[0][0])
print("LinearRegression 截距:", reg.intercept_[0])
# 绘制拟合直线
plt.scatter(x, y)
plt.plot(x, coefficients[0] * x + coefficients[1], color='red', label='polyfit')
plt.plot(x, reg.predict(x.reshape(-1, 1)), color='green', label='LinearRegression')
plt.legend()
plt.show()
```
该代码实现了使用 NumPy 中的 polyfit 函数和 Scikit-learn 中的 LinearRegression 类进行线性拟合,并将拟合结果绘制成图形。
运行该代码可以得到以下结果:
```
polyfit 斜率: 2.0
polyfit 截距: 1.0
LinearRegression 斜率: 2.0
LinearRegression 截距: 1.0
```
同时,还会弹出一个图形窗口,显示拟合结果,如下图所示:
![线性拟合示例图形](https://i.imgur.com/nX5wzZV.png)
希望这个示例代码能够帮助到您!
阅读全文