【知识拓展】机器学习基础(一):什么是预处理对象、模型对象 、pipeline、Tokenizer

本文介绍了机器学习中预处理对象、模型对象、Pipeline和Tokenizer的概念。预处理对象用于数据转换,如数据清理、特征工程等;模型对象包含模型结构、参数和训练方法。Pipeline将预处理和模型训练整合,简化工作流程。Tokenizer是NLP中用于文本转换的工具,如分词和编码。文中提供了scikit-learn和Hugging Face的示例。
摘要由CSDN通过智能技术生成

前言

        公司业务需要一套可离线部署的检索增强生成(RAG)大模型知识库,于是最近花了一周时间了解了AI相关的技术。除了查阅各类高质量技术博客,也自行动手进行了一些demo样例。其中包括huggingface、modelscope等平台,虽能使用,但疑惑还是不少,仅在此记录一些学习中的过程和问题,以便日后自我查阅。

几个关键的概念

        对于机器学习方面的初学者来说,预处理对象、模型对象和 pipeline 是经常见到的,尤其是写过一些demo,它们在数据处理、模型训练和预测等过程中起着重要作用。很多时候官方概念可能难以理解,以下是个人经过查阅资料后,解释这些概念及其作用。

        下面会根据部分Demo代码案例说明。

预处理对象

        对原始数据进行处理和转换的工具或方法,以便将数据转换为适合模型输入的格式。简单的说就是对数据进行预处理,处理成模型所需要的输入格式,例如将文本转化为输入 ID 和其他必要的张量。常见的一些预处理如下:

  • 数据清理:处理缺失值、去除噪声、纠正数据错误等。
  • 特征工程:生成、选择和转换特征,如标准化、归一化、特征缩放等。
  • 数据增强:特别是对于图像数据,可能包括旋转、裁剪、翻转等操作。
  • 编码:将分类变量转换为数值形式(如独热编码)。
  • 拆分数据:将数据集分为训练集、验证集和测试集。

示例一(使用scikit-learn的预处理对象)

from sklearn.preprocessing import StandardScaler

# 创建预处理对象
scaler = StandardScaler()

# 适配数据并进行转换
X_train_scaled = scaler.fit_transform(X_train)

模型对象

        模型对象是由特定的算法和参数组成,经过训练后能够进行预测或分类。模型对象通常包括以下部分:

  • 结构:模型的架构,例如线性回归、决策树、神经网络等。
  • 参数:模型的可调参数,通过训练数据进行学习和优化。
  • 训练方法:用于优化模型参数的方法,例如梯度下降。

示例一(使用scikit-learn的模型对象)

接上述示例一

from sklearn.linear_model import LogisticRegression

# 创建模型对象
model = LogisticRegression()

# 训练模型
model.fit(X_train_scaled, y_train)

Pipeline

        将多个数据处理步骤和模型训练步骤串联起来,以便简化和自动化整个工作流程。它将数据预处理和模型训练过程结合在一起,使得整个过程可以作为一个单独的工作流来处理。简单的说就是将多个步骤封装在一起,使用者无需关注细节,一个高级API

        一个完整的pipeline一般包括了数据的前处理、模型的前向推理、数据的后处理三个过程。

示例一(使用 scikit-learn)

from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression

# 创建 pipeline 对象
pipe

  • 21
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值