如何在sklearn中使用LassoLarsCV获得可重现的分割?

时间:2018-04-05 09:15:57

标签: python random scikit-learn random-seed reproducible-research

如果我使用LassoCV适合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获得可重现的结果?

1 个答案:

答案 0 :(得分:1)

要用作交叉验证生成器的对象可以作为cv param传递。因此,您可以通过自己的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)

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