'Return log probability estimates for the test vectors X.
Parameters
X : {array-like, sparse matrix}, shape = [n_samples, n_features]
Input vectors, where n_samples is the number of samples
and n_features is the number of features.
Returns
P : array-like or list of array-like of shape = [n_samples, n_classes]
Returns the log probability of the sample for each class in
the model, where classes are ordered arithmetically for each
output.'

def predict_log_proba(self, X):

    proba = self.predict_proba(X)
    if (self.n_outputs_ == 1):
        return np.log(proba)
    else:
        return [np.log(p) for p in proba]
