This class looks nearly identical to the LogisticRegression class.  We should consider providing an abstraction here.