Является ли random_state = 7 лучше внутри функции, чем np.random.seed (7)? - PullRequest
0 голосов
/ 14 октября 2019

обе следующие функции полностью воспроизводимы?

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?

Я нахожу это запутанным, потому что я всегда получаю одно и то жерезультат в обеих процедурах?

1 Ответ

0 голосов
/ 14 октября 2019

Scikit-learn не использует свое собственное глобальное случайное состояние;всякий раз, когда экземпляр RandomState или целочисленное случайное начальное число не предоставляются в качестве аргумента, он опирается на случайное глобальное случайное состояние, которое можно установить с помощью numpy.random.seed


. добавление np.random.seed() до импорт LinearSVC должен привести к тем же результатам.

...