require relatively recent sklearn, add scipy requirement.