Почему результаты регрессора 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.