我正在使用sklearn进行机器学习。如果我发现正确,python中的float类型使用双精度。 sklearn内部是否具有相同的精度?我将数据传递给填充浮点数的列表/ numpy数组中的sklearn(这是否相关?)。
我是否必须担心错误传播?如果使用双倍精度,我想我不会。
只是想确定。
答案 0 :(得分:1)
sklearn似乎没有在内部指定数据类型的工作方式。但是,假设它保留至少输入数据类型的精度可能是有意义的。因此,为了安全起见,可能会在数据中将dtype
指定为double。
实际上,误差传播不应成为问题,因为大多数算法本质上都是近似的,并且其中一些算法更多地依赖于随机初始条件而非准确性。最近,甚至有人建议我们应该限制准确性以节省资源,因为影响很小。例如,参见 https://arxiv.org/pdf/1502.02551.pdf