<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def predict(self, X, alpha=None):
 """The linear predictor of the model. Parameters X : array-like, shape = (n_samples, n_features) Test data of which to calculate log-likelihood from alpha : float, optional Constant that multiplies the penalty terms. If the same alpha was used during training, exact coefficients are used, otherwise coefficients are interpolated from the closest alpha values that were used during training. If set to ``None``, the last alpha in the solution path is used. Returns ------- T : array, shape = (n_samples,) The predicted decision function """

        X = check_array(X)
        coef = self._get_coef(alpha)
        return numpy.dot(X, coef)