给定一个包含10,000个观测值和50个特征加上一个标签的数据集,X_train,y_train,X_test和y_test的维数是多少,假设列车/测试分割为75%/ 25%?应该是
X_train:(2500, 50)
y_train: (2500, )
X_test: (7500, 50)
y_test: (7500, )
或
X_train: (7500, 50)
y_train: (7500, )
X_test: (2500, 50)
y_test: (2500, )
答案 0 :(得分:1)
您可以使用sklearn
中的train_test_split
来查看自己:
import numpy as np
from sklearn.model_selection import train_test_split
n = 10000
p = 50
X = np.random.random((n,p))
y = np.random.randint(0,2,n)
test = 0.25
d = {}
d["X_train"], d["X_test"], d["y_train"], d["y_test"] = train_test_split(X,y,test_size=test)
for split in d:
print(split, d[split].shape)
X_train (7500, 50)
X_test (2500, 50)
y_train (7500,)
y_test (2500,)
答案 1 :(得分:0)
第二个。
假设列车/测试分成75%/ 25%
这意味着75%的数据集用于培训,其余用于测试。 你有10000个观测值,因此7500用于训练,2500用于测试。
一般情况下,当我们说A
/ B
拆分为X%
/ Y%
时。这意味着A
得到X%
而B
得到Y%
。总是。此外,X+Y
应为100。
答案 2 :(得分:0)
对您来说可能为时已晚。但是,我想回答这个问题;
您应该首选使用75%数据作为训练集,其余25%是测试集。这通常会给您带来良好的效果。 (这也取决于您的数据集数量。)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, train_size=0.75, random_state=101)
X_train: (7500, 50)
y_train: (7500, )
X_test: (2500, 50)
y_test: (2500, )
考虑训练/测试拆分方法“ train_size”和“ test_size”的内部。您可以为此设置其他值。
random_state参数也可用于改组数据集部分