欢迎访问宙启技术站
智能推送

Python数据集切分实例

发布时间:2023-05-15 11:00:19

数据集切分是在机器学习中常用的操作之一,它将数据集按照特定的比例分成训练集和测试集,以便进行模型训练和测试。Python提供了多种切分数据集的方式,本文将介绍其中的两种方式。

一、使用sklearn中的train_test_split

这是最常用也最简单的数据集切分方式之一,它可以将原始数据集划分成训练集和测试集,代码如下:

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

其中,X为特征矩阵,y为标签向量。test_size表示测试集所占比例,random_state是指定随机种子,这样每次运行的结果都是一样的。

二、手动切分数据集

除了使用sklearn提供的函数,我们也可以手动将数据集划分成训练集和测试集,代码如下:

import random

# 随机打乱数据集
random.shuffle(data)

# 划分样本集和标签集
X = [d[:-1] for d in data]
y = [d[-1] for d in data]

# 切分数据集
train_ratio = 0.8
num_train = int(len(X) * train_ratio)
X_train, y_train = X[:num_train], y[:num_train]
X_test, y_test = X[num_train:], y[num_train:]

其中,我们使用了random库的shuffle函数将原始数据集随机打乱,然后按照指定的比例划分数据集。

这两种方式的主要区别在于前者更加简单易懂,而后者可以更加灵活地掌控样本划分的过程,且避免了一些因随机种子造成的误差。我们可以根据具体情况选择相应的方式进行数据集切分。