2017-01-24 17 views
-1

Я использую sklearn для целей машинного обучения. Если я правильно понял, тип float в python работает с двойной точностью. Работает ли sklearn с той же точностью внутри? Я передаю данные в sklearn в списках/массивах numpy, заполненных поплавками (это даже актуально?).Выполняют ли алгоритмы sklearn внутренне с двойной точностью?

Должен ли я беспокоиться о распространении ошибок? Наверное, нет, если используется двойная точность.

Просто хочу убедиться.

ответ

1

sklearn, похоже, не указывает, как он работает внутри, в отношении типов данных. Однако, вероятно, имеет смысл предположить, что он сохраняет не менее точности входных данных. Таким образом, чтобы быть в безопасности, вероятно, укажите dtype как двойной в ваших данных.

На практике распространение ошибок не должно быть проблемой, поскольку большинство алгоритмов являются аппроксимативными по своей природе, а некоторые из них гораздо больше зависят от случайных начальных условий, чем точность. В последнее время существует даже предположение о том, что мы должны ограничить точность для экономии ресурсов, так как воздействие небольшое. См., Например, https://arxiv.org/pdf/1502.02551.pdf