如何将 X_train + X_eval 传递给随机搜索 CV 拟合方法

Posted

技术标签:

【中文标题】如何将 X_train + X_eval 传递给随机搜索 CV 拟合方法【英文标题】:How to pass X_train + X_eval to Random Search CV fit method 【发布时间】:2020-08-01 11:46:37 【问题描述】:

我正在尝试将一组 [X_train, X_val] 传递给 random_search.fit() 的 X,并将其传递给 y:random_search.fit(X=[X_train, X_val], y=[y_train, y_val])

但是当训练发生时,会显示以下错误:

ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all() 在处理上述异常的过程中,又出现了一个异常: TypeError: 无法从列表中初始化 DMatrix

我已经尝试过使用 group field of fit 方法,但我遇到了另一个错误。有什么方法可以通过训练/测试以及他对随机搜索拟合方法的评估集吗?我不知道该怎么做。

【问题讨论】:

【参考方案1】:

也许我没有正确理解,但如果你想使用RandomizedSearchCV on 将训练和验证样本连接在一起,并在整个样本上使用 CV, 我建议使用np.concatenate 而不是列表理解,如下所示:

# taking examples for your X_train, X_val, y_train and y_val
import numpy as np
X_train = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
X_val = np.array([[1, 2, 3], [4, 5, 6]])
y_train = np.array([10, 11, 12])
y_val = np.array([13, 14])

data = np.concatenate((X_train, X_val), axis=0)
target = np.concatenate((y_train, y_val))

您可以将datatarget 传递给 fit 方法。

【讨论】:

是的,就是这样。我教过我必须将它们作为列表或类似的形式一起传递。谢谢!

以上是关于如何将 X_train + X_eval 传递给随机搜索 CV 拟合方法的主要内容,如果未能解决你的问题,请参考以下文章

如何将numpy数组列表转换为numpy数组

如何在 python 中拟合数据集? - lr.fit(x_train, y_train) 给我错误

我如何从决策树中预测 x_train 的位置获取叶子的节点号?

将 HDF5 文件中的大型数据集读入 x_train 并在 keras 模型中使用

如何将图像(多维数组)数据拟合到 python 中的随机森林分类器中?

人工智能深度学习:如何实现CNN变体网络?