1

如果我适合LassoCVusing sklearn,我可以做

    model_LassoCV = LassoCV(cv=3,random_state=2018).fit(X, y)

并为交叉验证获得可重复的拆分。但是,如果我这样做

    model_LassoCV = LassoLarsCV(cv=3,random_state=2018).fit(X, y)

根据文档,LassoLarsCV没有random_state. 那么如何获得可重复的结果LassoLarsCV呢?

4

1 回答 1

1

用作交叉验证生成器的对象可以作为cv参数传递。因此,您可以通过自己的 CV 迭代器来控制训练测试的生成。

就像是:

from sklearn.model_selection import KFold
kfold = KFold(n_splits=3, random_state=2018)
model_LassoCV = LassoLarsCV(cv=kfold)
model_LassoCV.fit(X, y)

现在您需要确保随机性不存在于算法的其他任何地方,如果不存在,那么这将是可重复的代码。

于 2018-04-05T09:26:07.747 回答