写一段线性回归图的python代码
时间: 2023-03-28 18:04:29 浏览: 66
以下是一段简单的线性回归图的 Python 代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成随机数据
x = np.random.rand(50)
y = 2 * x + 1 + np.random.randn(50) * .2
# 使用最小二乘法进行线性回归
A = np.vstack([x, np.ones(len(x))]).T
k, b = np.linalg.lstsq(A, y, rcond=None)[]
# 绘制散点图和回归线
plt.scatter(x, y)
plt.plot(x, k * x + b, 'r')
plt.show()
```
这段代码首先生成了 50 个随机数据点,然后使用最小二乘法进行线性回归,得到回归系数 k 和截距 b,最后绘制散点图和回归线。
相关问题
能写一段线性回归的python代码吗
当然可以!以下是简单的线性回归代码,使用了numpy和matplotlib库:
```python
import numpy as np
import matplotlib.pyplot as plt
# 训练数据
x = np.array([1, 2, 3, 4, 5])
y = np.array([1, 2, 3, 4, 5])
# 假设函数的参数初始化
theta0 = 0
theta1 = 0
# 学习率
alpha = 0.01
# 迭代次数
epochs = 100
# 定义代价函数
def compute_cost(x, y, theta0, theta1):
m = x.shape[0]
J = 0
for i in range(m):
h = theta0 + theta1 * x[i]
J += (h - y[i]) ** 2
J = J / (2 * m)
return J
# 梯度下降算法
for i in range(epochs):
sum0 = 0
sum1 = 0
m = x.shape[0]
for j in range(m):
h = theta0 + theta1 * x[j]
sum0 += h - y[j]
sum1 += (h - y[j]) * x[j]
theta0 = theta0 - alpha * sum0 / m
theta1 = theta1 - alpha * sum1 / m
cost = compute_cost(x, y, theta0, theta1)
print("epoch: {0}, theta0: {1:.2f}, theta1: {2:.2f}, cost: {3:.2f}".format(i, theta0, theta1, cost))
# 绘制回归曲线
plt.plot(x, y, 'ro', label='Original data')
plt.plot(x, theta0 + theta1 * x, label='Fitted line')
plt.legend()
plt.show()
```
这是一个简单的线性回归例子,输出结果是回归曲线。代码实现了梯度下降算法,求解线性回归模型的参数。
用python写一段线性回归的代码
下面是用Python实现线性回归的代码示例:
```
import numpy as np
import matplotlib.pyplot as plt
# 生成数据集
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 5, 4, 5])
# 计算斜率和截距
n = len(x)
x_mean = np.mean(x)
y_mean = np.mean(y)
numerator = 0
denominator = 0
for i in range(n):
numerator += (x[i] - x_mean) * (y[i] - y_mean)
denominator += (x[i] - x_mean) ** 2
slope = numerator / denominator
intercept = y_mean - slope * x_mean
# 绘制散点图和回归直线
plt.scatter(x, y)
plt.plot(x, slope * x + intercept, color='r')
plt.show()
```
这段代码实现了简单线性回归,通过输入x和y的数据集,计算出回归直线的斜率和截距,然后用matplotlib库绘制出散点图和回归直线。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)