机器学习算法需要大量的数据,这些数据一部分用于模型训练,另一部分作为测试或验证。
机器学习入坑者:sklearn日志(一)体验官方提供的标准数据集zhuanlan.zhihu.comsklearn库不仅提供了多个标准数据集,同时还具有易用的数据集划分功能,核心函数为train_test_split(),下面将对此函数用法进行具体介绍。
1、准备:数据集读取
首先,读取sklearn提供的标准数据集,确定数据总数为150:
iris
2、train_test_split()参数详解
按照sklearn的官方文档,函数共包含下面几个主要参数:
- *arrays :需要分割的数据,可以是list、numpy array等类型
- test_size:测试集所占的比例,取值范围在0到1之间
- train_size:训练集所占的比例,默认是等于1减去test_size
- shuffle:是否在分割之前打乱数据集,默认是True
分割函数将会返回输入数据两倍的list,即train部分和test部分。其中*array表示可以同时输入多条数据,并以相同的次序对每条数据进行打乱(必须同时将data和label放入此函数中,保证打乱后依旧对应)。
3、训练集和测试集分割
通过上述的参数介绍,下面将数据集进行4:1的分割,即训练集占比80%,测试集占比20%:
X_train
数据总量为150,所以分割后训练集数量为120,测试集数量为30:
X