【机器学习、python】线性回归

回归分析中,变量与因变量存在线性关系

sklearn求解线性回归


# 导入文件
from sklearn.metrics import mean_squared_error, r2_score
import numpy as np
from sklearn.linear_model import LinearRegression
from matplotlib import pyplot as plt
import pandas as pd
data = pd.read_csv('data.csv')
# 赋值
x = data.loc[:, 'x']  # 用data.drop(['不要的数据'],axis=1)可以获得多个变量
y = data.loc[:, 'y']
# 展示
fig1 = plt.figure(figsize=(5, 5))
plt.scatter(x, y)
plt.title('raw data')
plt.show()
# 建立线性回归模型
Ir_model = LinearRegression()
# 转换维度
x = np.array(x)
x = x.reshape(-1, 1)
y = np.array(y)
y = y.reshape(-1, 1)
# 转换维度,用多个变量就不用处理了
 
Ir_model.fit(x, y)
y_predict = Ir_model.predict(x)
# 预测
y_3 = Ir_model.predict([[3.5]])
print(y_3)
 
a = Ir_model.coef_
b = Ir_model.intercept_
print(a, b)
# 评估模型
MSE = mean_squared_error(y, y_predict)
R2 = r2_score(y, y_predict)
print(MSE, R2)
plt.figure()
plt.title('commend figure')
plt.scatter(y, y_predict)
plt.show()

猜你喜欢

转载自blog.csdn.net/David_Hzy/article/details/133314554