如果我使用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
获得可重现的结果?
答案 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)
现在你需要确保算法中的其他地方不存在随机性,如果没有,那么这将是可重复的代码。