<p>sklearn does not seem to specify how it works internally regarding data types. However, it probably makes sense to assume it retains <em>at least</em> the precision of the input data type. So, to be on the safe side, probably specify <code>dtype</code> as double in your data. </p>

<p>In practice error propagation should not be an issue, since most algorithms are approximative in nature, and some of them rely much more on the random initial conditions than accuracy. Recently, there is even the suggestion that we should <em>limit</em> accuracy to save resources, since the impact is small. See for example
<a href="https://arxiv.org/pdf/1502.02551.pdf" rel="nofollow noreferrer">https://arxiv.org/pdf/1502.02551.pdf</a></p>
Do sklearn algorithms internally work with double precision?
<p>I am using sklearn for machine learning purposes. If I found out correctly, the float type in python works with double precision. Does sklearn work with the same precision internally? I pass data to sklearn in lists/numpy arrays filled with floats (is this even relevant?). </p>

<p>Do I have to be worried about error propagation? I guess I do not, if double precision is used.</p>

<p>Just want to make sure.</p>