Я всегда думал, что результаты машинного обучения отличаются, потому что данные каждый раз перемешиваются случайным образом, что приводит к различным обучающим наборам. И поэтому, когда нет перетасовки, результаты каждый раз должны быть одинаковыми. Как и в случае с sklearn.linear_model.LinearRegression()
, но sklearn.linear_model.RANSACRegressor()
показывает разные результаты, несмотря на то, что ему каждый раз подаются одни и те же обучающие данные в одном и том же порядке. Разве это не просто математическая функция, и разве результаты не должны быть одинаковыми каждый раз? Может кто-нибудь объяснить это, или у меня ошибка в коде, и я по ошибке подаю ему разные данные?
Почему результаты регрессора RANSAC меняются независимо от ввода?
Ответы (1)
Согласно документации, данные выбрано случайно.
В некоторых параметрах есть указание, например random_state:
random_state : int, экземпляр RandomState или None, необязательно, по умолчанию
None
Генератор, используемый для инициализации центров. Если int, random_state — это начальное число, используемое генератором случайных чисел; Если экземпляр RandomState, random_state является генератором случайных чисел; Если нет, генератором случайных чисел является экземпляр RandomState, используемый np.random.
person
Laurent LAPORTE
schedule
03.09.2017
random_state
присутствует в оценщике, как вRANSACRegressor
, всегда устанавливайте для него фиксированное число, чтобы дублировать результаты. - person Vivek Kumar   schedule 03.09.2017