python 编程 线性回归,散点图,拟合结果
把以下数据制作成csv数据文件,并命名为LR_data_exam.csv。 对该文件内的数据进行线性回归 画出数据的散点图 建立线性回归模型并拟合 打印拟合结果(参数) 画出数据和拟合直线的图。import numpy as npimport csvimport pandas as pdimport matplotlib.pyplot as pltfrom sklearn.linear_model
·
把以下数据制作成csv数据文件,并命名为LR_data_exam.csv。 对该文件内的数据进行线性回归 画出数据的散点图 建立线性回归模型并拟合 打印拟合结果(参数) 画出数据和拟合直线的图。
import numpy as np
import csv
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
import matplotlib
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['font.family']=['sans-serif']
data = '''battery,KM
2,12
5,31
8,45
8,52
13,79
15,85
17,115
19,119
21,135
24,145'''.split('\n')
for i,j in enumerate(data):
data[i] = j.replace(' ', '').split(',')
with open('LR_data_exam.csv','w') as csvFile: #一行一行地写入到csv文件中
writer = csv.writer(csvFile)
#先写columns_name
writer.writerow(data[0])
#写入多行用writerows
writer.writerows(data[1:])
LR_data_exam.csv:
dataframe = pd.read_csv("LR_data_exam.csv", sep=",")
x = dataframe['battery'].tolist()
y = dataframe['KM'].tolist()
# 画出数据的散点图
fig = plt.figure()
fig.set_size_inches(10, 4) # 整个绘图区域的宽度10和高度4
ax = fig.add_subplot(1, 2, 1) # 整个绘图区分成一行两列,当前图是第一个。
# 画出原始数据的散点图。
ax.set_title("散点图")
ax.set_xlabel("battery")
ax.set_ylabel("KM")
ax.scatter(x, y)
plt.show()
regressor = LinearRegression()
regressor = regressor.fit(np.reshape(x,(-1, 1)),np.reshape(y,(-1, 1)))
print(regressor.coef_, regressor.intercept_) # 打印拟合结果(参数)
# 画出数据和拟合直线的图
plt.scatter(x, y)
plt.plot(np.reshape(x,(-1,1)), regressor.predict(np.reshape(x,(-1,1))))
plt.xlabel("battery")
plt.ylabel("KM")
plt.title("拟合结果")
plt.show()
更多推荐
已为社区贡献4条内容
所有评论(0)