熊猫,scikit-拆分火车并在有条件的情况下进行测试

时间:2020-01-25 02:04:14

标签: python pandas scikit-learn

我有一个具有以下结构的数据框,数据(我的实际上更大了,但这只是出于说明目的):

a b c tag
A 3 2 4
B 2 1 3
A 5 3 3
A 4 3 2
B 2 4 3
A 3 5 2
B 4 1 1
C 2 3 1
C 1 3 4
B 5 2 4

我正在使用scikit-learn拆分数据:

train, test = train_test_split(data, test_size=test_size)

但是,我想找到一种方法来分割数据,以保证两组中每个标签至少有一行。对于示例数据集,这意味着要具有以下内容(当然,应改组):

火车
a b c tag A 3 2 4 B 2 1 3 A 4 3 2 B 4 1 1

测试 similar but with the remaining elements (according to the proportion)

基本上,我希望两组都包含标签的整个范围/品种。

我先感谢所有帮助。

`

1 个答案:

答案 0 :(得分:0)

我想这就是你的追求。

import numpy as np
from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)

有关此主题的更多信息,请参见下面的链接。

https://towardsdatascience.com/train-test-split-and-cross-validation-in-python-80b61beca4b6