'Perform classification on an array of test vectors X.
Parameters
X : array-like, shape = [n_samples, n_features]
Returns
C : array, shape = [n_samples]
Predicted target values for X'

def predict(self, X):

    jll = self._joint_log_likelihood(X)
    return self.classes_[np.argmax(jll, axis=1)]
