I'm ok with using named tuples. The inclusion of the other values seems a bit OT for the PR, though. It is a good idea but maybe in another PR? Btw, computing training scores should probably be optional as it might take siginificant time (for example for knn).