python线性拟合一次函数
时间: 2023-11-07 09:04:15 浏览: 104
Python线性拟合实现函数与用法示例
一元线性回归是一种用于拟合一次函数的方法。通过最小二乘法,我们可以计算出斜率和截距的值,从而得到回归方程y = ax + b。在Python中,可以使用numpy和matplotlib库来进行线性拟合和可视化。
示例程序如下:
```python
import matplotlib.pyplot as plt
import numpy as np
x = np.array([1, 2, 4, 6, 8])
y = np.array([2, 5, 7, 8, 9])
x_mean = np.mean(x) # x的均值
y_mean = np.mean(y) # y的均值
denominator = 0.0 # 分母
numerator = 0.0 # 分子
for x_i, y_i in zip(x, y):
numerator += (x_i - x_mean) * (y_i - y_mean)
denominator += (x_i - x_mean) ** 2
a = numerator / denominator # 求得a,斜率
b = y_mean - a * x_mean # 求得b,截距
x_test = np.linspace(0, 10, 100)
y_predict = a * x_test + b
plt.scatter(x, y, color='b')
plt.plot(x_test, y_predict, color='r')
plt.xlabel('管子的长度', fontproperties='simHei', fontsize=15)
plt.ylabel('收费', fontproperties='simHei', fontsize=15)
plt.show()
```
当输入一个新的测试数据时,我们可以通过y_predict = a * x_test + b 得到预测值。
例如,当x_test = 7时,通过计算得到y_predict的值为:
```python
x_test = 7
y_predict_value = a * x_test + b
print(y_predict_value)
```
阅读全文