Python 使用索引向量保存拆分顺序
我想把数据分成训练和测试,还有一个包含名称的向量(它作为索引和参考) 我的数据是:Python 使用索引向量保存拆分顺序,python,numpy,split,scikit-learn,Python,Numpy,Split,Scikit Learn,我想把数据分成训练和测试,还有一个包含名称的向量(它作为索引和参考) 我的数据是: data has a shape of (2440, 3072) labels has a shape of (2440,) from sklearn.cross_validation import train_test_split x_train, x_test, y_train, y_test= train_test_split(data, labels, test_size=0.3) 但是我还想把我的
data has a shape of (2440, 3072)
labels has a shape of (2440,)
from sklearn.cross_validation import train_test_split
x_train, x_test, y_train, y_test= train_test_split(data, labels, test_size=0.3)
但是我还想把我的name\u图像
分为name\u图像
和name\u图像
测试关于数据
和标签
我试过了
x_train, x_test, y_train, y_test,name_images_train,name_images_test= train_test_split(data, labels,name_images, test_size=0.3)
它不能维持秩序
有什么建议吗
多谢各位
编辑1:
x_train, x_test, y_train, y_test= train_test_split(data, labels,test_size=0.3, random_state=42)
name_images_train, name_images_test=train_test_split(name_images,
test_size=0.3,
random_state=42)
EDIT1
不要保留顺序有多种方法可以实现这一点
最直接的方法是使用train\u test\u split
的random\u state
参数。作为:
随机状态:int或RandomState:-用于随机采样的伪随机数生成器状态 当您修复随机_状态时,为将数组拆分为序列和测试而生成的索引每次都是完全相同的 因此,请将代码更改为:
x_train, x_test,
y_train, y_test,
name_images_train, name_images_test=train_test_split(data, labels, name_images,
test_size=0.3,
random_state=42)
有关随机_状态的更多了解,请参见我的回答:
train\u test\u split
时,您希望保留顺序,还是希望在调用train\u test\u split
时保留数据
、标签
和名称图像
的拆分顺序?我希望保留数据拆分顺序,在同一次通话中标记和命名图片这就是我的答案。这意味着如果train_X获得索引[1,5,7],那么train_y和name_images_train也将获得相同的索引。如果这仍然不符合你的需要,你能举一个例子说明你想要什么样的输出吗?你也尝试了以下方法,但都不起作用:x\u-train,x\u-test,y\u-train,y\u-test,name\u-images\u-train,name\u-images\u-test=train\u-test\u-split(数据像素、类、图像名称、测试大小=0.3、随机状态=42)
x_train, x_test,
y_train, y_test,
name_images_train, name_images_test=train_test_split(data, labels, name_images,
test_size=0.3,
random_state=42)