Python简单一元线性回归指引
步骤流程
一、导入相关库
import random
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
二、建立(导入)训练集和检验集
一般情况,大家在使用时都是导入数据的,可用以下命令导入数据文件
path = open(r'文件路径',encoding= 'gb2312')
data = pd.read_csv(path)
用于演示,我这里就自建数据啦
#建立训练集
train_x = []
train_y = []
for i in range(100) :
train_x.append([random.randint(150,200)])
train_y.append([(train_x[i][0]-100)*random.randint(85,95)/100])
#建立测试集
test_x = []
test_y = []
for i in range(30):
test_x.append([random.randint(150,200)])
test_y.append([(test_x[i][0]-100)*random.randint(85,95)/100])
#观测数据
plt.scatter(train_x,train_y,color='red')
三、初始化并训练学习器
#训练学习器
regressor = LinearRegression()
regressor.fit(train_x,train_y)
四、检验集预测结果
#预测结果
result = regressor.predict(test_x)
五、数据可视化
#训练集数据可视化
plt.scatter(train_x,train_y,color='red')
plt.plot(train_x,regressor.predict(train_x),color='blue')
plt.title('LinearRegression_train')
plt.xlabel('height')
plt.ylabel('weight')
plt.show()
#测试集数据可视化
plt.scatter(test_x,test_y,color='red')
plt.plot(test_x,regressor.predict(test_x),color='blue')
plt.title('LinearRegression_test')
plt.xlabel('height')
plt.ylabel('weight')
plt.show()
六、查看回归方程
#查看回归方程
print('最佳拟合曲线:\ny = %f + %f*X'%(regressor.intercept_,regressor.coef_))
得到以下结果