我正在尝试为我的一些代码编写一个使用scikit learn的单元测试。然而,我的单元测试似乎是不确定的。
AFAIK,在我的代码中,scikit learn唯一使用任意随机性的地方是在它的LogisticRegression
模型和train_test_split
模型中,因此我有以下内容:
RANDOM_SEED = 5
self.lr = LogisticRegression(random_state=RANDOM_SEED)
X_train, X_test, y_train, test_labels = train_test_split(docs, labels, test_size=TEST_SET_PROPORTION, random_state=RANDOM_SEED)
但这似乎不起作用——即使我通过了一个固定的docs
和一个固定的labels
,一个固定的验证集上的预测概率也会因运行而异。
我还尝试在代码顶部添加一个numpy.random.seed(RANDOM_SEED)
调用,但这似乎也不起作用。
我有什么遗漏吗?有没有一种方法可以在一个地方将种子传递给scikit learn,以便在scikit learn的所有调用中使用种子?
现在生产了} 或使用Sacred来记录随机性。使用
0.93333333333333335
多次。你这样做似乎还可以。另一种方法是set ^{random_state
就是the docs describe:相关问题 更多 >
编程相关推荐