A general question: Do we use `type(n_components) is float` or `isinstance(n_components, float)`? Or it doesn't matter?