Python : data type handling by sklearn and impact on memory usage and performance
Overall, scikit-learn is designed to be not inefficient but it's goal is not hyperefficiency. If your goal is hyperefficiency then you should switch to a different machine learning package.
The goal of scikit-learn is to provide a high level interface with machine learning and handle the implementation details &quot;under the hood&quot;. That is why there is little documentation about how different datatypes are handled. If you are interested in how different algorithms handle different datatypes, you have to look directly at the source code. All of the scikit-learn source code is on GitHub.