#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, устранит эту случайность и даст одинаковые результаты для каждого запуска.