AI人工智能之机器学习sklearn-数据预处理和划分数据集

1、概要

本篇学习AI人工智能之机器学习sklearn数据预处理和划分数据集,从代码层面讲述如何进行数据的预处理和数据集划分。

2、简介

本片讲述数据预处理的标准化处理、归一化处理,以常用的两个类为例

  • 标准化处理类 StandardScaler
  • 归一化处理类 MinMaxScaler

在数据处理方面,使用train_test_split函数处理列表数据集为例

3、 数据预处理和数据集划分

3.1 安装依赖

python安装机器学习库: pip install scikit-learn

3.2、定义数据集
python 复制代码
from sklearn.feature_extraction import text, DictVectorizer
from sklearn.preprocessing import StandardScaler, MinMaxScaler
from sklearn.model_selection import train_test_split

# 示例数据集合,是一个经过处理的列表数据  X
X = [[1, 2], [3, 4], [5, 6], [7, 8]]
print("data:", X)

# 示例打标的数据,
y = [0, 1, 0, 1]
print("tag", y)

运行上述代码,您将得到如下输出:

复制代码
data: [[1, 2], [3, 4], [5, 6], [7, 8]]
tag [0, 1, 0, 1]
3.3 数据预处理 StandardScaler、MinMaxScaler
python 复制代码
# 标准化处理
ss = StandardScaler()
# 将特征缩放到零均值和单位方差
X = ss.fit_transform(X)
X

运行上述代码,您将得到如下输出:

复制代码
array([[-1.34164079, -1.34164079],
       [-0.4472136 , -0.4472136 ],
       [ 0.4472136 ,  0.4472136 ],
       [ 1.34164079,  1.34164079]])
python 复制代码
# 归一化处理
mms = MinMaxScaler()
# 将特征缩放到一个范围(如[0,1])
X = mms.fit_transform(X) 
X

运行上述代码,您将得到如下输出:

复制代码
array([[0.        , 0.        ],
       [0.33333333, 0.33333333],
       [0.66666667, 0.66666667],
       [1.        , 1.        ]])
3.4 划分数据集 train_test_split
python 复制代码
# 划分训练集 _train, 测试集 _test
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42)
print(f"训练集: {X_train} - {y_train}")
print(f"测试集: {X_test} - {y_test}")

运行上述代码,您将得到如下输出:

复制代码
训练集: [[1.         1.        ]
 [0.         0.        ]
 [0.66666667 0.66666667]] - [1, 0, 0]
测试集: [[0.33333333 0.33333333]] - [1]

4、 总结

本篇以自定义数据集为例,从代码视角讲述如何对数据集进行预处理和数据集的划分。

相关推荐
搏博5 分钟前
将图形可视化工具的 Python 脚本打包为 Windows 应用程序
开发语言·windows·python·matplotlib·数据可视化
硅基茶水间19 分钟前
「轻量级AI编程桌面软件」代码上下文一键搞定|已开源
python
新德通科技23 分钟前
新德通科技:以创新驱动光通信一体化发展,赋能全球智能互联
人工智能
__星辰大海__23 分钟前
NeRF PyTorch 源码解读 - NDC空间
人工智能
Java学术趴23 分钟前
RNN指南:从梯度消失到LSTM魔改,一文说透RNN/LSTM/GRU的隐藏优势!
人工智能
coderCatIce35 分钟前
刘二大人第2讲-线性模型-带代码以及作业答案
人工智能·机器学习
帅夫帅夫36 分钟前
Vibe Coding从零开始教你打造一个WebLLM页面
前端·人工智能
抽风的雨61036 分钟前
【python深度学习】Day 45 Tensorboard使用介绍
人工智能·深度学习
红衣信44 分钟前
探索 DeepSeek:智能前端与大模型的碰撞
前端·人工智能·llm
Hockor1 小时前
写给前端的 Python 教程三(字符串驻留和小整数池)
前端·后端·python