Почему результаты регрессора RANSAC изменяются независимо от ввода

Я всегда думал, что результаты машинного обучения отличаются, потому что данные случайным образом перемешиваются каждый раз заранее, что приводит к различным тренировочным наборам. И поэтому, когда нет перемешивания, результаты должны быть одинаковыми каждый раз. Как и в случае с sklearn.linear_model.LinearRegression(), но sklearn.linear_model.RANSACRegressor() показывает разные результаты, даже если ему каждый раз подают одни и те же обучающие данные в одном и том же порядке. Разве это не просто математическая функция и результаты не должны быть одинаковыми каждый раз? Может кто-нибудь объяснить это, или у меня есть ошибка в моем коде, и я ошибочно предоставляю ему другие данные?

1 ответ

Решение

Согласно документации, данные выбираются случайным образом.

В некоторых параметрах есть указание, например random_state:

random_state: int, экземпляр RandomState или None, необязательно, по умолчанию None

Генератор используется для инициализации центров. Если int, random_state - начальное число, используемое генератором случайных чисел; Если экземпляр RandomState, random_state является генератором случайных чисел; Если None, генератор случайных чисел является экземпляром RandomState, используемым np.random.

Другие вопросы по тегам