以下两个功能是否可以完全重现?
def test_SVC_A():
svc = LinearSVC(random_state=7)
svc.fit(X_train, y_train)
svc.score(X_test, y_test)
def test_SVC_B():
seed=7
np.random.seed(seed)
svc = LinearSVC()
svc.fit(X_train, y_train)
svc.score(X_test, y_test)
还是我更希望test_SVC_A
发挥test_SVC_B
的功能?
我感到困惑,因为在两个过程中我总是得到相同的结果吗?
答案 0 :(得分:1)
Scikit-learn不使用自己的全局随机状态;每当一个 没有提供RandomState实例或整数随机种子作为 参数,它依赖于可以设置的numpy全局随机状态 使用numpy.random.seed
话虽如此,添加 np.random.seed()
之前 导入 LinearSVC
应该会导致相同的结果