<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _logistic_cost_loss(w, X, y, cost_mat, alpha):
 """Computes the logistic loss. Parameters w : array-like, shape (n_w, n_features,) or (n_w, n_features + 1,) Coefficient vector or matrix of coefficient. X : array-like, shape (n_samples, n_features) Training data. y : ndarray, shape (n_samples,) Array of labels. cost_mat : array-like of shape = [n_samples, 4] Cost matrix of the classification problem Where the columns represents the costs of: false positives, false negatives, true positives and true negatives, for each example. alpha : float Regularization parameter. alpha is equal to 1 / C. Returns ------- out : float Logistic loss. """


    if w.shape[0] == w.size:
        # Only evaluating one w
        return _logistic_cost_loss_i(w, X, y, cost_mat, alpha)

    else:
        # Evaluating a set of w
        n_w = w.shape[0]
        out = np.zeros(n_w)

        for i in range(n_w):
            out[i] = _logistic_cost_loss_i(w[i], X, y, cost_mat, alpha)

        return out