1、概要
本篇学习AI人工智能之机器学习sklearn数据预处理和划分数据集,从代码层面讲述如何进行数据的预处理和数据集划分。
2、简介
本片讲述数据预处理的标准化处理、归一化处理,以常用的两个类为例
- 标准化处理类 StandardScaler
- 归一化处理类 MinMaxScaler
在数据处理方面,使用train_test_split函数处理列表数据集为例
3、 数据预处理和数据集划分
3.1 安装依赖
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、 总结
本篇以自定义数据集为例,从代码视角讲述如何对数据集进行预处理和数据集的划分。