首页 > 编程语言 >采用线性回归实现训练和预测(Python)

采用线性回归实现训练和预测(Python)

时间:2024-10-30 10:45:47浏览次数:5  
标签:plt 花朵 训练 Python temperatures 线性 model flowers 温度

已知测得某块地,当温度处于15至40度之间时,数得某块草地上小花朵的数量和温度值的数据如下表所示。现在要来找出这些数据中蕴含的规律,用来预测其它未测温度时的小花朵的数量。
测得数据如下图所示:



import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression  # 导入线性回归模型
from sklearn.model_selection import train_test_split  # 导入模型训练和测试的划分工具

# 定义温度和花朵数量的数据
temperatures = [15, 20, 25, 30, 35, 40]  # 温度数据
flowers = [136, 140, 155, 160, 157, 175]  # 相应的花朵数量数据

# 将数据转换为numpy数组并调整形状
# temperatures 需要转换为二维数组以适应 sklearn 的输入要求
temperatures = np.array(temperatures).reshape(-1, 1)
flowers = np.array(flowers)  # flowers 数据保持一维

# 创建线性回归模型
model = LinearRegression()  # 实例化线性回归模型

# 拟合模型
model.fit(temperatures, flowers)  # 用温度和花朵数量拟合模型

# 输出模型参数
# 截距和系数是线性回归模型的结果
print(f"截距: {model.intercept_}")  # 输出截距
print(f"系数: {model.coef_[0]}")  # 输出温度的系数

# 用模型进行预测
predicted_flowers = model.predict(temperatures)  # 根据温度数据预测花朵数量

# 可视化结果
plt.rcParams['font.sans-serif'] = ['SimHei']  # 设置字体以支持中文
plt.rcParams['axes.unicode_minus'] = False  # 支持负号显示
plt.scatter(temperatures, flowers, color='blue', label='实际数据')  # 绘制实际数据的散点图
plt.plot(temperatures, predicted_flowers, color='red', label='拟合线')  # 绘制模型拟合的直线
plt.xlabel('温度')  # x轴标签
plt.ylabel('花朵数量')  # y轴标签
plt.title('温度与花朵数量的线性回归')  # 图表标题
plt.legend()  # 显示图例
plt.show()  # 显示图表

# 预测新数据点(例如,温度=27)
new_temperatures = np.array([[27]])  # 创建一个新的温度数据点,形状为二维数组
predicted_new_flowers = model.predict(new_temperatures)  # 用模型预测此温度下的花朵数量
print(f"当温度为27度时,预测的花朵数量为: {predicted_new_flowers[0]:.2f}")  # 输出预测结果,保留两位小数

标签:plt,花朵,训练,Python,temperatures,线性,model,flowers,温度
From: https://www.cnblogs.com/h4o3/p/18515124

相关文章

  • python性能优化
    0.代码优化原则本文会介绍不少的Python代码加速运行的技巧。在深入代码优化细节之前,需要了解一些代码优化基本原则。第一个基本原则是不要过早优化。很多人一开始写代码就奔着性能优化的目标,“让正确的程序更快要比让快速的程序正确容易得多”。因此,优化的前提是代码能正常工......
  • 基于Python拉取快手直播视频流,并将视频流切割成一定时长的视频片段
    通过访问快手的直播间网页,从网页的script标签内部提取出关于该直播间的相关信息的JSON串,最终从JSON里提取出直播视频流的hls地址和直播间的其他信息。附代码importjsonimportrandomimportreimportsubprocessimportsysimporttimefromenumimportEnumfromurlli......
  • python基础(元组)
    学习目标:元组的概念,创建,访问元组元素,删除和修改,推导式一.元组的概念:1.元组和列表类似,元素用小括号()包围2.各元素之间使用逗号隔开3.有序的,不可变的数据类型,没有增删该查,如果要修改,可以采用其他的数据类型,给元组重新赋值4.元素可以是不同的数据类型二.创建元组1.创......
  • 深入Python爬虫技术:数据存储与反爬虫策略
    深入Python爬虫技术:数据存储与反爬虫策略在第一篇文章中,我们介绍了Python爬虫的基础知识和简单的网页内容获取方法。接下来,我们将继续深入学习,探讨如何有效地存储爬取的数据,以及应对网站的反爬虫机制。数据存储可以帮助我们积累并组织数据,而反爬虫策略则确保爬虫在不断变化......
  • 使用最小二乘法进行线性回归(Python)
    已知测得某块地,当温度处于15至40度之间时,数得某块草地上小花朵的数量和温度值的数据如下表所示。现在要来找出这些数据中蕴含的规律,用来预测其它未测温度时的小花朵的数量。测得数据如下图所示:importmatplotlib.pyplotaspltimportnumpyasnptemperatures=[15,20,......
  • 基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据
    时间序列数据表示了一个随时间记录的值的序列。理解这些序列内部的关系,尤其是在多元或复杂的时间序列数据中,不仅仅局限于随时间绘制数据点(这并不是说这种做法不好)。通过将时间序列数据转换为图,我们可以揭示数据片段内部隐藏的连接、模式和关系,帮助我们发现平稳性和时间连通......
  • 基于python的语音识别与蓝牙通信的温控系统
    基于python的语音识别与蓝牙通信的温控系统大家好我是小俊学长,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于python的语音识别与蓝牙通信的温控系统。项目源码以及部署相关请联系小俊学长,文末附上联系信息。......
  • 【Python原创毕设|课设】基于Python Flask IT行业招聘可视化分析系统-文末附下载方式,
    基于PythonFlask物流行业招聘可视化分析系统(获取方式访问文末官网)一、项目简介二、开发环境三、项目技术四、功能结构五、运行截图六、数据库设计七、功能实现八、源码获取一、项目简介本系统是一款基于PythonFlask的IT行业招聘可视化分析平台,旨在为行业用户提供......
  • 1. Python 与 Matplotlib
    PyPlot绘图matplotlib的安装!pipinstallmatplotlibimportmatplotlibprint(matplotlib.__version__)#查看版本importmatplotlib.pyplotasplt#在图中从00到6250画一条直线默认绘制直线importnumpyasnpxpoints=np.array([0,6])#注意是两个x坐标......
  • python 入门九大排序:1冒泡排序2插入排序3选择排序4快速排序5归并排序6堆排序7计数排序
    1冒泡排序:冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。代码如下:importnumpyasnpdefbubbling(arr):n=len(arr)foriinrange(n-1):forjinrange(n-i-1):ifarr[j......