Great job, you only forgot to handle this part 'If any y values are non-positive, shift all values so they are positive and print a message indicating the shift.'. You can e.g. shift the values of y by its observed minimum (and some small constant) in fit(), store this minimum as an attribute of the class and reverse this shifting in predict(). Please fix it, you obtain 'Revise'.
Great job, you only forgot to handle this part 'If any y values are non-positive, shift all values so they are positive and print a message indicating the shift.'. You can e.g. shift the values of y by its observed minimum (and some small constant) in fit(), store this minimum as an attribute of the class and reverse this shifting in predict(). Please fix it, you obtain 'Revise'.