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]

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

相关推荐
腾飞开源1 分钟前
17_Spring AI 干货笔记之谷歌生成式AI聊天
人工智能·多模态·工具调用·gemini·spring ai·google genai·思维配置
qxbs3 分钟前
汽修帮手资料库终身免费使用——首家免费资料库网站,查汽车维修资料就用汽修帮手,里面几万套车型维修手册电路图保养手册培训资料针脚定义保险丝图解
人工智能·汽车
算法与编程之美3 分钟前
理解pytorch中的L2正则项
人工智能·pytorch·python·深度学习·机器学习
学兔兔VIP3 分钟前
多模态AI融合的电力边缘物联终端研究与应用
人工智能·物联网·电力系统·智能终端·多模态ai
阿恩.7707 分钟前
金融经济学国际期刊/会议:前沿研究与创新
大数据·人工智能·笔记·计算机网络
smart19987 分钟前
Infortrend普安存储GS支持GPU Direct存储,带宽最大化适合AI/HPC/科研制造
人工智能·能源·制造·智能硬件
Cathy Bryant8 分钟前
概率论直觉(三):边缘化
笔记·机器学习·数学建模·概率论
R-G-B8 分钟前
【P19 机器学习-分类算法及应用实践】手写数字识别(KNN)
python·机器学习·分类·手写数字识别·knn算法
南极星10058 分钟前
OPENCV(python)--初学之路(十二)霍夫线/圆变换
人工智能·opencv·计算机视觉
roman_日积跬步-终至千里8 分钟前
【模式识别与机器学习】机器学习练习题集
人工智能·机器学习