把以下数据制作成csv数据文件,并命名为LR_data_exam.csv。
对该文件内的数据进行线性回归
画出数据的散点图
建立线性回归模型并拟合
打印拟合结果(参数)
画出数据和拟合直线的图
用model.predict预测x为10,20,30时的结果
用拟合参数预测x为40,50,60时的结果
battery,KM
2,12
5,31
8,45
8,52
13,79
15,85
17,115
19,119
21,135
24,145
python编程 线性回归
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- CSDN专家-kaily 2021-06-28 14:24关注
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_) # 打印拟合结果(参数)
[[6.28763667]] [-1.19680404]
# 画出数据和拟合直线的图 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()
print(regressor.predict([[10], [20], [30]])) # model.predict预测x为10,20,30时的结果 for i in [40,50,60]: print(regressor.coef_*i + regressor.intercept_) #用拟合参数预测x为40,50,60时的结果
[[ 61.67956266] [124.55592935] [187.43229605]] [[250.30866274]] [[313.18502944]] [[376.06139613]]
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 python随机森林对两个excel表格读取,shap报错
- ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
- ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。
- ¥30 求给定范围的全体素数p的(p-2)/p的连乘积值
- ¥15 VFP如何使用阿里TTS实现文字转语音?
- ¥100 需要跳转番茄畅听app的adb命令
- ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
- ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
- ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
- ¥15 nginx反向代理获取ip,java获取真实ip