Simplified, using sklearn CV methods
Further simplified, using stratified KFold CV iterator