2017-02-12 9 views
4

Я вроде как новый для python. может ли кто-нибудь сказать мне, почему мы устанавливаем случайное состояние в ноль в расщеплении поезда и набора тестов.Случайное состояние Python в наборе данных разбиения

X_train, X_test, y_train, y_test = \ 
    train_test_split(X, y, test_size=0.30, random_state=0) 

Я видел ситуации, подобные этому, когда случайное состояние задано одним!

X_train, X_test, y_train, y_test = \ 
    train_test_split(X, y, test_size=0.30, random_state=1) 

Каково следствие этого случайного состояния при перекрестной проверке?

+0

Откуда берет? Train_test_split? –

+0

@Scott Hunter это исходит из sklearn.cross_validation. Но каков эффект случайного состояния, равного нулю, а один - на поезд и тестовый раскол? – Shelly

+1

Что говорит документация для 'train_test_split'? –

ответ

7

Не имеет значения, является ли случайное_значение 0 или 1 или любым другим целым числом. Важно то, что ему нужно установить одно и то же значение, если вы хотите проверить свою обработку на нескольких прогонах кода. Кстати, я видел random_state=42, используемый во многих официальных примерах scikit, а также в других местах.

random_state как следует из названия, используется для инициализации генератора внутренних случайных чисел, который будет определять разделение данных на данные поезда и теста в вашем случае. В documentation, утверждается, что:

Если random_state никакое или np.random, то случайным образом инициализируется объект RandomState возвращается.

Если random_state является целым числом, то он используется для посева нового объекта RandomState.

Если random_state - объект RandomState, он передается.

Это проверка и проверка данных при выполнении кода несколько раз. Установка random_state фиксированное значение гарантирует, что всякая последовательность случайных чисел генерируется каждый раз, когда вы запускаете код. И если в процессе не существует какой-либо другой случайности, полученные результаты будут такими же, как всегда. Это помогает в проверке вывода.

 Смежные вопросы

  • Нет связанных вопросов^_^