Python实现线性回归算法:从数据训练到预测

向北走
向北走
发布时间:2026-10-14| 5人浏览过
原创

本文详细介绍如何使用Python及sklearn库实现线性回归算法。通过构建包含身高体重数据的NumPy数组,实例化LinearRegression模型并进行训练。代码展示了如何绘制散点图与回归直线,并利用训练好的模型对指定身高进行体重预测,为初学者提供完整的算法落地示例。

Python线性回归算法实现概述

本文旨在通过Python代码演示线性回归算法的具体实现过程,供读者参考学习。

数据准备与模型训练代码解析


# -*- coding: utf-8 -*-
"""
Created on Fri Oct 11 19:25:11 2019
"""

from sklearn import datasets, linear_model # 引用 sklearn库,主要为了使用其中的线性回归模块

# 创建数据集,把数据写入到numpy数组
import numpy as np  # 引用numpy库,主要用来做科学计算
import matplotlib.pyplot as plt   # 引用matplotlib库,主要用来画图
data = np.array([[152,51],[156,53],[160,54],[164,55],
                 [168,57],[172,60],[176,62],[180,65],
                 [184,69],[188,72]])

# 打印出数组的大小
print(data.shape)

# TODO 1. 实例化一个线性回归的模型
model=linear_model.LinearRegression()
# TODO 2. 在x,y上训练一个线性回归模型。 如果训练顺利,则regr会存储训练完成之后的结果模型
x,y=data[:,0].reshape(-1,1),data[:,1]
regr=model.fit(x,y)

# TODO 3. 画出身高与体重之间的关系
plt.scatter(x,y,color="red")

# 画出已训练好的线条
plt.plot(x, regr.predict(x), color='blue')

# 画x,y轴的标题
plt.xlabel('height (cm)')
plt.ylabel('weight (kg)')
plt.show() # 展示

# 利用已经训练好的模型去预测身高为163的人的体重
print ("Standard weight for person with 163 is %.2f"% regr.predict([[163]]))

总结与支持

以上内容构成了本文的核心部分,希望能为读者的学习带来帮助,同时也欢迎读者继续支持本站获取更多技术内容。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。