random_state в случайном лесу

#python #data-science #random-forest #random-seed

#python #наука о данных #случайный лес #случайное начальное значение

Вопрос:

Я только что узнал, как использовать модель машинного обучения Random Forest; однако, хотя я читал о параметре random_state, я не мог понять, что он делает. Например, в чем разница между random_state = 0 и random_state = 300 может кто-нибудь, пожалуйста, объяснить?

Ответ №1:

train_test_split разбивает массивы или матрицы на случайные обучающие и тестовые подмножества. Это означает, что каждый раз, когда вы запускаете его без указания random_state, вы получите другой результат, это ожидаемое поведение. Когда вы используете random_state=any_value then, ваш код будет показывать точно такое же поведение при запуске вашего кода.

Ответ №2:

Кроме того, большинство людей используют число 42, когда мы используем random_state .

Например, random_state = 42, и для этого есть причина. Ниже приведен ответ.

Число 42 в «Путеводителе автостопом по Галактике» Дугласа Адамса является «Ответом на главный вопрос жизни, Вселенной и всего остального», вычисленным огромным суперкомпьютером под названием Deep Thought за период в 7,5 миллионов лет. К сожалению, никто не знает, в чем вопрос

Ответ №3:

Случайные леса вводят стохастичность путем случайной выборки данных и объектов. Выполнение RF на одних и тех же данных может привести к разным результатам для каждого запуска из-за этих случайных выборок. Фиксация начального значения на константе, т.е. 1, устранит эту случайность и даст одинаковые результаты для каждого запуска.