写一个线性回归python代码
时间: 2024-03-02 20:28:06 浏览: 74
以下是一个基本的线性回归Python代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成随机数据
np.random.seed(0)
x = np.random.rand(100, 1)
y = 2 + 3 * x + np.random.rand(100, 1)
# 绘制散点图
plt.scatter(x, y, s=10)
plt.xlabel('x')
plt.ylabel('y')
# 计算参数
x_mean = np.mean(x)
y_mean = np.mean(y)
numerator = 0
denominator = 0
for i in range(len(x)):
numerator += (x[i] - x_mean) * (y[i] - y_mean)
denominator += (x[i] - x_mean) ** 2
beta = numerator / denominator
alpha = y_mean - beta * x_mean
# 绘制线性回归线
x_plot = np.linspace(0, 1, 2)
y_plot = alpha + beta * x_plot
plt.plot(x_plot, y_plot, color='r')
plt.show()
```
运行代码后,将生成一个随机数据的散点图和线性回归线。其中,代码首先生成了随机数据,然后计算出了线性回归的参数,最后绘制了散点图和线性回归线。
相关问题
一元线性回归python代码
下面是一元线性回归的python代码:
``` python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 读取数据
data = pd.read_csv('data.csv')
# 定义 x 和 y 的数据
x = data['x'].values
y = data['y'].values
# 计算 x 和 y 的平均值
x_mean, y_mean = np.mean(x), np.mean(y)
# 计算 x 与 y 的差值和平方和
numerator = np.sum((x - x_mean)*(y - y_mean))
denominator = np.sum((x - x_mean)**2)
# 计算斜率和截距
m = numerator / denominator
c = y_mean - m*x_mean
# 计算预测值
y_pred = m*x + c
# 绘制散点图和线性回归线
plt.scatter(x, y, color='blue')
plt.plot(x, y_pred, color='red')
plt.title('Linear Regression')
plt.xlabel('X')
plt.ylabel('Y')
plt.show()
```
这段代码可以帮助你实现一元线性回归,并且绘制散点图和线性回归线。你可以将自己的数据存储在 data.csv 文件中,并且修改代码中的文件名,以便进行操作。
写一个多元线性回归模型python代码
下面是一个简单的多元线性回归模型的Python代码示例,以使用sklearn库中的LinearRegression模型为例:
```python
import pandas as pd
from sklearn.linear_model import LinearRegression
# 读取数据
data = pd.read_csv('data.csv')
# 准备自变量和因变量数据
X = data[['食品价格涨幅', '衣着价格涨幅', '居住价格涨幅', '生活用品及服务价格涨幅', '交通和通信价格涨幅',
'教育文化和娱乐用品价格涨幅', '医疗保健价格涨幅']]
y = data['全年CPI涨幅']
# 划分训练集和测试集
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)
# 建立模型并拟合数据
model = LinearRegression()
model.fit(X_train, y_train)
# 输出模型参数
print('截距:', model.intercept_)
print('系数:', model.coef_)
# 在测试集上进行预测并计算误差指标
from sklearn.metrics import mean_squared_error, mean_absolute_error
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
mae = mean_absolute_error(y_test, y_pred)
print('均方误差:', mse)
print('平均绝对误差:', mae)
```
注意:此代码仅为示例,实际应用中可能需要进行数据清洗、变量选择、模型调参等操作。
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.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)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)