我在尝试连接训练集和验证集时遇到问题。我将数据集分为训练集、验证集和测试集。然后我用"StandardScaler(("缩放它们:
X_train, X_test, t_train, t_test = train_test_split(x, t, test_size=0.20, random_state=1)
X_train, X_valid, t_train, t_valid = train_test_split(X_train, t_train, test_size=0.25, random_state=1)
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_valid = sc.transform(X_valid)
X_test = sc.transform(X_test)
然后在模型选择之后,我想要连接训练和验证集:
X_train = pd.concat([X_train, X_valid])
t_train = pd.concat([t_train, t_valid])
但它不起作用。我给我一个错误:
cannot concatenate object of type '<class 'numpy.ndarray'>'; only Series and DataFrame objs are valid
有人能帮我吗?感谢
X_train
、X_valid
、t_train
、t_valid
都是numpy数组,因此需要使用numpy:将它们连接起来
X_train = np.concatenate([X_train, X_valid])
t_train = np.concatenate([t_train, t_valid])
正如评论中所建议的,将训练集和验证集合并在一起可能不是一个好主意。确保您理解为什么数据集被划分为训练、测试和验证部分。您可以应用交叉验证,在多个步骤中使用用于训练/测试/有效的所有数据。