sklearn学习笔记之线性回归

AI时代扑面而来,在大众面对ChatGPT和Sora发出无数惊叹号的时候,我决定不再只当一个AI时代的API调用者,而是去学习机器学习技术本身。

刚好公司也要往人工智能方向发展的计划,于是我开始从基础学习,发现了一个宝藏开源机器学习库:scikit-learn。

scikit-learn文档健全,社区生态非常完善,这也是我选择它进行学习的原因之一。它不仅提供了大量机器学习的算法实现和强大模型,还为开发者提供了数据生成和处理的函数,方便针对中小型数据(千万级以下数据)进行预测和分析。

机器学习根据数据的类型和学习任务不同大体分为监督学习、非监督学习、半监督学习、强化学习。

监督学习:

在监督学习中,算法接收到带有标签(或者目标)的训练数据,它的任务是学习一个从输入到输出的映射关系,以便对未标记的数据进行预测或分类。因此,监督学习的关键特征是训练数据集包含输入和对应的期望输出。这种期望输出可以是类别标签(分类任务)或连续值(回归任务)。

非监督学习:

在非监督学习中,算法接收到的训练数据没有任何标签信息,它的任务是从数据中发现隐藏的结构或模式。非监督学习的目标通常包括聚类(将数据划分为不同的组别)、降维(减少数据的维度以便更好地可视化或压缩数据)、关联规则挖掘等。

半监督学习:

半监督学习结合了监督学习和非监督学习的元素。在这种情况下,数据集中只有一小部分数据带有标签,而大多数数据是未标记的。半监督学习的目标是利用标记数据和未标记数据来提高模型的性能。

强化学习:

强化学习与监督学习和非监督学习有所不同,它涉及到代理与环境的交互,并根据执行的动作而获得的奖励或惩罚来学习最优策略。强化学习的目标是使代理在特定任务中获得最大的长期奖励。

最简单的一种回归任务就是线性回归,我就从这个学习任务开始入手。

线性回归就是一种分析方法,用来看看输入特征和输出目标之间是不是有线性关系。比如一个人的体重增加,和他每天摄入的能量以及消耗的能量有线性关系。

那么进行编程时间,首先安装scikit-learn库,可以使用pip命令如下:

复制代码
pip install scikit-learn

下面是一个线性回归的简单案例:

复制代码
from sklearn.linear_model import LinearRegression
import numpy as np

# Sample data
X = np.array([[1], [2], [3], [4], [5]])  # Input feature
y = np.array([2, 3.5, 2.8, 4.6, 5.2])     # Output target

# Create a linear regression model
model = LinearRegression()

# Fit the model to the data
model.fit(X, y)

# Make predictions
X_new = np.array([[6], [7]])  # New data for prediction
predictions = model.predict(X_new)

print("Predictions:", predictions)

执行这段代码,输出值为:

复制代码
Predictions: [5.87 6.62]

看起来似乎有点意思,但是我们怎么才知道这个预测是否准确呢?

相关推荐
轻松Ai享生活1 分钟前
从0-1学习CUDA | week 1
人工智能
蒋星熠3 分钟前
C++零拷贝网络编程实战:从理论到生产环境的性能优化之路
网络·c++·人工智能·深度学习·性能优化·系统架构
wayman_he_何大民7 分钟前
初始机器学习算法 - 关联分析
前端·人工智能
杭州泽沃电子科技有限公司14 分钟前
告别翻山越岭!智能监拍远程守护输电线路安全
运维·人工智能·科技·安全
wayman_he_何大民17 分钟前
初始机器学习算法 - 聚类分析
前端·人工智能
TDengine (老段)24 分钟前
TDengine IDMP 高级功能(4. 元素引用)
大数据·数据库·人工智能·物联网·数据分析·时序数据库·tdengine
curdcv_po24 分钟前
😲AI 💪🏻超级 整合时代 已经 到来~
人工智能·trae
*星星之火*30 分钟前
【GPT入门】第47课 大模型量化中 float32/float16/uint8/int4 的区别解析:从位数到应用场景
人工智能·gpt
aneasystone本尊1 小时前
学习 Coze Studio 的工作流执行逻辑
人工智能
aneasystone本尊1 小时前
再学 Coze Studio 的智能体执行逻辑
人工智能