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函数将原始数据集随机打乱,然后按照指定的比例划分数据集。
这两种方式的主要区别在于前者更加简单易懂,而后者可以更加灵活地掌控样本划分的过程,且避免了一些因随机种子造成的误差。我们可以根据具体情况选择相应的方式进行数据集切分。
