class_docstr: mixin for singe type 2 likelihood
      
class_docstr_tok: ["mixin","for","singe","type","2","likelihood"]
docstr: predict probabilities
  
  a set of weight vectors, whose size if the same as the number of the
  sensitive features, are available and these weights are selected
  according to the value of a sensitive feature
  
  Parameters
  ----------
  X : array, shape=(n_samples, n_features)
      feature vectors of samples
  
  Returns
  -------
  y_proba : array, shape=(n_samples, n_classes), dtype=float
      array of predicted class
docstr_tok: ["predict","probabilities","a","set","of","weight","vectors",",","whose","size","if","the","same","as","the","number","of","the","sensitive","features",",","are","available","and","these","weights","are","selected","according","to","the","value","of","a","sensitive","feature","Parameters","--","--","--","--","--","X",":","array",",","shape=","(","n_samples",",","n_features",")","feature","vectors","of","samples","Returns","--","--","--","-","y_proba",":","array",",","shape=","(","n_samples",",","n_classes",")",",","dtype=float","array","of","predicted","class"]
code: def predict_proba(self, X):
      """predict probabilities
  
      a set of weight vectors, whose size if the same as the number of the
      sensitive features, are available and these weights are selected
      according to the value of a sensitive feature
  
      Parameters
      ----------
      X : array, shape=(n_samples, n_features)
          feature vectors of samples
  
      Returns
      -------
      y_proba : array, shape=(n_samples, n_classes), dtype=float
          array of predicted class
      """
  
      # add a constanet term
      s = np.atleast_1d(
          np.squeeze(np.array(X)[:, -self.n_s_]).astype(int)
      )
      if self.fit_intercept:
          X = np.c_[
              np.atleast_2d(X)[:, : -self.n_s_], np.ones(X.shape[0])
          ]
      else:
          X = np.atleast_2d(X)[:, : -self.n_s_]
      coef = self.coef_.reshape(self.n_sfv_, self.n_features_)
  
      proba = np.empty((X.shape[0], N_CLASSES))
      proba[:, 1] = [
          sigmoid(X[i, :], coef[s[i], :]) for i in range(X.shape[0])
      ]
      proba[:, 0] = 1.0 - proba[:, 1]
  
      return proba
  
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import unicode_literals
  import logging
  import numpy
  from scipy.optimize import fmin_cg
  from sklearn.linear_model import LogisticRegression
  from sklearn.base import BaseEstimator, ClassifierMixin
label_desc: Use image node_id 1 for calling the LRwPRPredictProbaType2Mixin obj's underlying member method code with example usage: obj.predict_proba(X) and returns: proba