class_docstr: Calculate the ROC curve for each class.
  
  For each class, plots the ROC curve for a one vs all classification of that class based on the model's
  predicted probabilities. In addition, for each class, it marks the optimal probability threshold cut-off point
  based on Youden's index defined as sensitivity + specificity - 1.
  See https://en.wikipedia.org/wiki/Youden%27s_J_statistic for additional details.
  
  Parameters
  ----------
  excluded_classes : List , default: None
      List of classes to exclude from the calculation. If None, calculate one vs all ROC curve for all classes for
      multiclass and only the positive class for binary classification. If an empty list was provided,
      calculate for all classes.
  n_samples : int , default: 1_000_000
      number of samples to use for this check.
  random_state : int, default: 42
      random seed for all check internals.
  
  References
  ----------
  Ewald, B. (2006). Post hoc choice of cut points introduced bias to diagnostic research.
  Journal of clinical epidemiology, 59(8), 798-801.
  
  Steyerberg, E.W., Van Calster, B., & Pencina, M.J. (2011). Performance measures for
  prediction models and markers: evaluation of predictions and classifications.
  Revista Espanola de Cardiologia (English Edition), 64(9), 788-794.
  
  Jiménez-Valverde, A., & Lobo, J.M. (2007). Threshold criteria for conversion of probability
  of species presence to either–or presence–absence. Acta oecologica, 31(3), 361-369.
class_docstr_tok: ["Calculate","the","ROC","curve","for","each","class",".","For","each","class",",","plots","the","ROC","curve","for","a","one","vs","all","classification","of","that","class","based","on","the","model's","predicted","probabilities",".","In","addition",",","for","each","class",",","it","marks","the","optimal","probability","threshold","cut-off","point","based","on","Youden","'s","index","defined","as","sensitivity","+","specificity","-","1",".","See","https",":","\/\/en.wikipedia.org\/wiki\/Youden","%","27s_J_statistic","for","additional","details",".","Parameters","--","--","--","--","--","excluded_classes",":","List",",","default",":","None","List","of","classes","to","exclude","from","the","calculation",".","If","None",",","calculate","one","vs","all","ROC","curve","for","all","classes","for","multiclass","and","only","the","positive","class","for","binary","classification",".","If","an","empty","list","was","provided",",","calculate","for","all","classes",".","n_samples",":","int",",","default",":","1_000_000","number","of","samples","to","use","for","this","check",".","random_state",":","int",",","default",":","42","random","seed","for","all","check","internals",".","References","--","--","--","--","--","Ewald",",","B",".","(","2006",")",".","Post","hoc","choice","of","cut","points","introduced","bias","to","diagnostic","research",".","Journal","of","clinical","epidemiology",",","59","(","8",")",",","798-801",".","Steyerberg",",","E.W.",",","Van","Calster",",","B.",",","&","Pencina",",","M.J.","(","2011",")",".","Performance","measures","for","prediction","models","and","markers",":","evaluation","of","predictions","and","classifications",".","Revista","Espanola","de","Cardiologia","(","English","Edition",")",",","64","(","9",")",",","788-794",".","Jim\u00e9nez-Valverde",",","A.",",","&","Lobo",",","J.M",".","(","2007",")",".","Threshold","criteria","for","conversion","of","probability","of","species","presence","to","either\u2013or","presence\u2013absence",".","Acta","oecologica",",","31","(","3",")",",","361-369","."]
code: def __init__(
      self,
      excluded_classes: List = None,
      n_samples: int = 1_000_000,
      random_state: int = 42,
      **kwargs,
  ):
      super().__init__(**kwargs)
      self.excluded_classes = excluded_classes
      self.n_samples = n_samples
      self.random_state = random_state
  
file_path: deepchecks/deepchecks/tabular/checks/model_evaluation/roc_report.py
imports: from typing import Dict, List
  import numpy
  import plotly.graph_objects
  import sklearn
  from deepchecks.core import CheckResult, ConditionResult
  from deepchecks.core.condition import ConditionCategory
  from deepchecks.core.errors import DeepchecksNotSupportedError
  from deepchecks.tabular import Context, SingleDatasetCheck
  from deepchecks.tabular.utils.task_type import TaskType
  from deepchecks.utils.dict_funcs import get_dict_entry_by_value
  from deepchecks.utils.strings import format_number
label_desc: Use image node_id 1 to create a new RocReport object from inherited base classes: SingleDatasetCheck with example: obj = RocReport(excluded_classes, n_samples, random_state)