如何将 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))
您可以将data
和target
传递给 fit 方法。
【讨论】:
是的,就是这样。我教过我必须将它们作为列表或类似的形式一起传递。谢谢!以上是关于如何将 X_train + X_eval 传递给随机搜索 CV 拟合方法的主要内容,如果未能解决你的问题,请参考以下文章
如何在 python 中拟合数据集? - lr.fit(x_train, y_train) 给我错误
我如何从决策树中预测 x_train 的位置获取叶子的节点号?
将 HDF5 文件中的大型数据集读入 x_train 并在 keras 模型中使用