FIX: check the shape of X
FIX: raise NotImplementedError if no decision_function
FIX: warn if 2d y