如何进行训练测试分割,以便Python中每个类都有足够的训练和测试数据?

2024-06-16 09:49:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据集,它有5个类,分布如下:

enter image description here

从分布中可以明显看出,类1的样本非常少。你知道吗

如何对这些数据进行训练测试分割,以便Python中每个类别都有足够的训练和测试数据?你知道吗


Tags: 数据类别样本测试数据个类
2条回答

train_test_split中的stratify参数设置为目标列。你知道吗

stratify将确保每个类被平均分割。Doc

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, stratify=y)

默认情况下,train_test_split函数在拆分数据集之前对数据集进行洗牌,除非您将shuffle参数值提供为False。我认为,如果shuffle是真的,它可以确保数据集的训练部分将有来自所有类别的值。另外,如果您想确定train\u test\u split的结果,那么可以使用random_state参数。请参阅documentation了解更多信息。希望有帮助。你知道吗

相关问题 更多 >