sklearn Ridgecv交叉验证可迭代

时间:2015-11-19 15:28:17

标签: scikit-learn linear-regression

我对RidgeCV

sklearn.linear_model中的参数cv感到困惑

实际上,我已经将我的数据拆分为训练集和验证集,并且RidgeCV的文档说参数cv可以是可迭代的产生训练/测试分裂。所以我写下以下内容:

m = linear_model.RidgeCV(cv=zip(x_validation, y_validation))
m.fit(x_train, y_train)

但它不起作用。

Python抛出以下错误

IndexError: arrays used as indices must be of integer (or boolean) type

我对参数cv的理解有什么问题,是否可以轻松使用我自己的已经拆分的验证集?

1 个答案:

答案 0 :(得分:2)

似乎参数cv需要一个用作训练集的索引列表和用作验证集的索引列表,因此解决方案

x = np.concatenate(x_train, x_validation)
y = np.concatenate(y_train, y_validation)
train_fraction = 0.9
train_indices = range(int(train_fraction * x.shape[0]))
validation_indices = range(int(train_fraction * x.shape[0]), x.shape[0])
m = linear_model.RidgeCV(cv=zip(train_indices, validation_indices))
m.fit(x, y)
相关问题