<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):
 """ 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 """

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