class_docstr: Vowpal Wabbit MultiClassifier model
  Note - We are assuming the VW.predict returns probabilities, setting probabilities=False will break this assumption
class_docstr_tok: ["Vowpal","Wabbit","MultiClassifier","model","Note","-","We","are","assuming","the","VW.predict","returns","probabilities",",","setting","probabilities=False","will","break","this","assumption"]
docstr: Predict probabilities for each class.
  
  Args:
      X : {array-like, sparse matrix}, shape = (n_samples, n_features)
          Samples.
  
  Returns:
      array, shape=(n_samples,) if n_classes == 2 else (n_samples, n_classes)
          Confidence scores per (sample, class) combination. In the binary
          case, confidence score for self.classes_[1] where >0 means this
          class would be predicted.
  
  Examples:
      >>> import numpy as np
      >>> X = np.array([ [10, 10], [8, 10], [-5, 5.5], [-5.4, 5.5], [-20, -20],  [-15, -20] ])
      >>> y = np.array([1, 1, 2, 2, 3, 3])
      >>> from vowpalwabbit.sklearn import VWMultiClassifier
      >>> model = VWMultiClassifier(oaa=3, loss_function='logistic')
      >>> _ = model.fit(X, y)
      >>> model.predict_proba(X)
      array([[0.38926664, 0.30536669, 0.30536669],
             [0.40663728, 0.2966814 , 0.2966814 ],
             [0.52337217, 0.23831393, 0.23831393],
             [0.52698863, 0.23650573, 0.23650573],
             [0.6543135 , 0.17284323, 0.17284323],
             [0.61224902, 0.19387549, 0.19387549]])
code: def predict_proba(self, X):
      """Predict probabilities for each class.
  
      Args:
          X : {array-like, sparse matrix}, shape = (n_samples, n_features)
              Samples.
  
      Returns:
          array, shape=(n_samples,) if n_classes == 2 else (n_samples, n_classes)
              Confidence scores per (sample, class) combination. In the binary
              case, confidence score for self.classes_[1] where >0 means this
              class would be predicted.
  
      Examples:
          >>> import numpy as np
          >>> X = np.array([ [10, 10], [8, 10], [-5, 5.5], [-5.4, 5.5], [-20, -20],  [-15, -20] ])
          >>> y = np.array([1, 1, 2, 2, 3, 3])
          >>> from vowpalwabbit.sklearn import VWMultiClassifier
          >>> model = VWMultiClassifier(oaa=3, loss_function='logistic')
          >>> _ = model.fit(X, y)
          >>> model.predict_proba(X)
          array([[0.38926664, 0.30536669, 0.30536669],
                 [0.40663728, 0.2966814 , 0.2966814 ],
                 [0.52337217, 0.23831393, 0.23831393],
                 [0.52698863, 0.23650573, 0.23650573],
                 [0.6543135 , 0.17284323, 0.17284323],
                 [0.61224902, 0.19387549, 0.19387549]])
      """
      return VW.predict(self, X=X)
  
imports: import io
  import os
  import re
  from tempfile import NamedTemporaryFile
  from typing import Dict
  import numpy
  from scipy.sparse import csr_matrix
  from scipy.special import logit
  from sklearn.exceptions import NotFittedError
  from sklearn.base import BaseEstimator, RegressorMixin
  from sklearn.utils.extmath import log_logistic
  from sklearn.linear_model import LogisticRegression
  from sklearn.datasets import dump_svmlight_file
  from sklearn.utils import check_array, check_X_y, shuffle
  from vowpalwabbit import Workspace
label_desc: Use image node_id 4 for calling the VWMultiClassifier obj's underlying member method code with example usage: obj.predict_proba(X) and returns: VW