class_docstr: Receiver Operating Characteristic (ROC) curves are a measure of a
  classifier's predictive quality that compares and visualizes the tradeoff
  between the models' sensitivity and specificity. The ROC curve displays
  the true positive rate on the Y axis and the false positive rate on the
  X axis on both a global average and per-class basis. The ideal point is
  therefore the top-left corner of the plot: false positives are zero and
  true positives are one.
  
  This leads to another metric, area under the curve (AUC), a computation
  of the relationship between false positives and true positives. The higher
  the AUC, the better the model generally is. However, it is also important
  to inspect the "steepness" of the curve, as this describes the
  maximization of the true positive rate while minimizing the false positive
  rate. Generalizing "steepness" usually leads to discussions about
  convexity, which we do not get into here.
  
  Parameters
  ----------
  estimator : estimator
      A scikit-learn estimator that should be a classifier. If the model is
      not a classifier, an exception is raised. If the internal model is not
      fitted, it is fit when the visualizer is fitted, unless otherwise specified
      by ``is_fitted``.
  
  ax : matplotlib Axes, default: None
      The axes to plot the figure on. If not specified the current axes will be
      used (or generated if required).
  
  micro : bool, default: True
      Plot the micro-averages ROC curve, computed from the sum of all true
      positives and false positives across all classes. Micro is not defined
      for binary classification problems with estimators with only a
      decision_function method.
  
  macro : bool, default: True
      Plot the macro-averages ROC curve, which simply takes the average of
      curves across all classes. Macro is not defined for binary
      classification problems with estimators with only a decision_function
      method.
  
  per_class : bool, default: True
      Plot the ROC curves for each individual class. This should be set
      to false if only the macro or micro average curves are required. For true
      binary classifiers, setting per_class=False will plot the positive class
      ROC curve, and per_class=True will use ``1-P(1)`` to compute the curve of
      the negative class if only a decision_function method exists on the estimator.
  
  binary : bool, default: False
      This argument quickly resets the visualizer for true binary classification
      by updating the micro, macro, and per_class arguments to False (do not use
      in conjunction with those other arguments). Note that this is not a true
      hyperparameter to the visualizer, it just collects other parameters into
      a single, simpler argument.
  
  classes : list of str, defult: None
      The class labels to use for the legend ordered by the index of the sorted
      classes discovered in the ``fit()`` method. Specifying classes in this
      manner is used to change the class names to a more specific format or
      to label encoded integer classes. Some visualizers may also use this
      field to filter the visualization for specific classes. For more advanced
      usage specify an encoder rather than class labels.
  
  encoder : dict or LabelEncoder, default: None
      A mapping of classes to human readable labels. Often there is a mismatch
      between desired class labels and those contained in the target variable
      passed to ``fit()`` or ``score()``. The encoder disambiguates this mismatch
      ensuring that classes are labeled correctly in the visualization.
  
  is_fitted : bool or str, default="auto"
      Specify if the wrapped estimator is already fitted. If False, the estimator
      will be fit when the visualizer is fit, otherwise, the estimator will not be
      modified. If "auto" (default), a helper method will check if the estimator
      is fitted before fitting it again.
  
  force_model : bool, default: False
      Do not check to ensure that the underlying estimator is a classifier. This
      will prevent an exception when the visualizer is initialized but may result
      in unexpected or unintended behavior.
  
  kwargs : dict
      Keyword arguments passed to the visualizer base classes.
  
  Attributes
  ----------
  classes_ : ndarray of shape (n_classes,)
      The class labels observed while fitting.
  
  class_count_ : ndarray of shape (n_classes,)
      Number of samples encountered for each class during fitting.
  
  score_ : float
      An evaluation metric of the classifier on test data produced when
      ``score()`` is called. This metric is between 0 and 1 -- higher scores are
      generally better. For classifiers, this score is usually accuracy, but
      if micro or macro is specified this returns an F1 score.
  
  target_type_ : string
      Specifies if the detected classification target was binary or multiclass.
  
  Notes
  -----
  ROC curves are typically used in binary classification, and in fact the
  Scikit-Learn ``roc_curve`` metric is only able to perform metrics for
  binary classifiers. As a result it is necessary to binarize the output or
  to use one-vs-rest or one-vs-all strategies of classification. The
  visualizer does its best to handle multiple situations, but exceptions can
  arise from unexpected models or outputs.
  
  Another important point is the relationship of class labels specified on
  initialization to those drawn on the curves. The classes are not used to
  constrain ordering or filter curves; the ROC computation happens on the
  unique values specified in the target vector to the ``score`` method. To
  ensure the best quality visualization, do not use a LabelEncoder for this
  and do not pass in class labels.
  
  .. seealso::
      http://scikit-learn.org/stable/auto_examples/model_selection/plot_roc.html
  
  .. todo:: Allow the class list to filter the curves on the visualization.
  
  Examples
  --------
  >>> from yellowbrick.classifier import ROCAUC
  >>> from sklearn.linear_model import LogisticRegression
  >>> from sklearn.model_selection import train_test_split
  >>> data = load_data("occupancy")
  >>> features = ["temp", "relative humidity", "light", "C02", "humidity"]
  >>> X_train, X_test, y_train, y_test = train_test_split(X, y)
  >>> oz = ROCAUC(LogisticRegression())
  >>> oz.fit(X_train, y_train)
  >>> oz.score(X_test, y_test)
  >>> oz.show()
class_docstr_tok: ["Receiver","Operating","Characteristic","(","ROC",")","curves","are","a","measure","of","a","classifier","'s","predictive","quality","that","compares","and","visualizes","the","tradeoff","between","the","models","'","sensitivity","and","specificity",".","The","ROC","curve","displays","the","true","positive","rate","on","the","Y","axis","and","the","false","positive","rate","on","the","X","axis","on","both","a","global","average","and","per-class","basis",".","The","ideal","point","is","therefore","the","top-left","corner","of","the","plot",":","false","positives","are","zero","and","true","positives","are","one",".","This","leads","to","another","metric",",","area","under","the","curve","(","AUC",")",",","a","computation","of","the","relationship","between","false","positives","and","true","positives",".","The","higher","the","AUC",",","the","better","the","model","generally","is",".","However",",","it","is","also","important","to","inspect","the","``","steepness","''","of","the","curve",",","as","this","describes","the","maximization","of","the","true","positive","rate","while","minimizing","the","false","positive","rate",".","Generalizing","``","steepness","''","usually","leads","to","discussions","about","convexity",",","which","we","do","not","get","into","here",".","Parameters","--","--","--","--","--","estimator",":","estimator","A","scikit-learn","estimator","that","should","be","a","classifier",".","If","the","model","is","not","a","classifier",",","an","exception","is","raised",".","If","the","internal","model","is","not","fitted",",","it","is","fit","when","the","visualizer","is","fitted",",","unless","otherwise","specified","by","``","is_fitted","``",".","ax",":","matplotlib","Axes",",","default",":","None","The","axes","to","plot","the","figure","on",".","If","not","specified","the","current","axes","will","be","used","(","or","generated","if","required",")",".","micro",":","bool",",","default",":","True","Plot","the","micro-averages","ROC","curve",",","computed","from","the","sum","of","all","true","positives","and","false","positives","across","all","classes",".","Micro","is","not","defined","for","binary","classification","problems","with","estimators","with","only","a","decision_function","method",".","macro",":","bool",",","default",":","True","Plot","the","macro-averages","ROC","curve",",","which","simply","takes","the","average","of","curves","across","all","classes",".","Macro","is","not","defined","for","binary","classification","problems","with","estimators","with","only","a","decision_function","method",".","per_class",":","bool",",","default",":","True","Plot","the","ROC","curves","for","each","individual","class",".","This","should","be","set","to","false","if","only","the","macro","or","micro","average","curves","are","required",".","For","true","binary","classifiers",",","setting","per_class=False","will","plot","the","positive","class","ROC","curve",",","and","per_class=True","will","use","``","1-P","(","1",")","``","to","compute","the","curve","of","the","negative","class","if","only","a","decision_function","method","exists","on","the","estimator",".","binary",":","bool",",","default",":","False","This","argument","quickly","resets","the","visualizer","for","true","binary","classification","by","updating","the","micro",",","macro",",","and","per_class","arguments","to","False","(","do","not","use","in","conjunction","with","those","other","arguments",")",".","Note","that","this","is","not","a","true","hyperparameter","to","the","visualizer",",","it","just","collects","other","parameters","into","a","single",",","simpler","argument",".","classes",":","list","of","str",",","defult",":","None","The","class","labels","to","use","for","the","legend","ordered","by","the","index","of","the","sorted","classes","discovered","in","the","``","fit","(",")","``","method",".","Specifying","classes","in","this","manner","is","used","to","change","the","class","names","to","a","more","specific","format","or","to","label","encoded","integer","classes",".","Some","visualizers","may","also","use","this","field","to","filter","the","visualization","for","specific","classes",".","For","more","advanced","usage","specify","an","encoder","rather","than","class","labels",".","encoder",":","dict","or","LabelEncoder",",","default",":","None","A","mapping","of","classes","to","human","readable","labels",".","Often","there","is","a","mismatch","between","desired","class","labels","and","those","contained","in","the","target","variable","passed","to","``","fit","(",")","``","or","``","score","(",")","``",".","The","encoder","disambiguates","this","mismatch","ensuring","that","classes","are","labeled","correctly","in","the","visualization",".","is_fitted",":","bool","or","str",",","default=","''","auto","''","Specify","if","the","wrapped","estimator","is","already","fitted",".","If","False",",","the","estimator","will","be","fit","when","the","visualizer","is","fit",",","otherwise",",","the","estimator","will","not","be","modified",".","If","``","auto","''","(","default",")",",","a","helper","method","will","check","if","the","estimator","is","fitted","before","fitting","it","again",".","force_model",":","bool",",","default",":","False","Do","not","check","to","ensure","that","the","underlying","estimator","is","a","classifier",".","This","will","prevent","an","exception","when","the","visualizer","is","initialized","but","may","result","in","unexpected","or","unintended","behavior",".","kwargs",":","dict","Keyword","arguments","passed","to","the","visualizer","base","classes",".","Attributes","--","--","--","--","--","classes_",":","ndarray","of","shape","(","n_classes",",",")","The","class","labels","observed","while","fitting",".","class_count_",":","ndarray","of","shape","(","n_classes",",",")","Number","of","samples","encountered","for","each","class","during","fitting",".","score_",":","float","An","evaluation","metric","of","the","classifier","on","test","data","produced","when","``","score","(",")","``","is","called",".","This","metric","is","between","0","and","1","--","higher","scores","are","generally","better",".","For","classifiers",",","this","score","is","usually","accuracy",",","but","if","micro","or","macro","is","specified","this","returns","an","F1","score",".","target_type_",":","string","Specifies","if","the","detected","classification","target","was","binary","or","multiclass",".","Notes","--","--","-","ROC","curves","are","typically","used","in","binary","classification",",","and","in","fact","the","Scikit-Learn","``","roc_curve","``","metric","is","only","able","to","perform","metrics","for","binary","classifiers",".","As","a","result","it","is","necessary","to","binarize","the","output","or","to","use","one-vs-rest","or","one-vs-all","strategies","of","classification",".","The","visualizer","does","its","best","to","handle","multiple","situations",",","but","exceptions","can","arise","from","unexpected","models","or","outputs",".","Another","important","point","is","the","relationship","of","class","labels","specified","on","initialization","to","those","drawn","on","the","curves",".","The","classes","are","not","used","to","constrain","ordering","or","filter","curves",";","the","ROC","computation","happens","on","the","unique","values","specified","in","the","target","vector","to","the","``","score","``","method",".","To","ensure","the","best","quality","visualization",",","do","not","use","a","LabelEncoder","for","this","and","do","not","pass","in","class","labels",".","..","seealso",":",":","http",":","\/\/scikit-learn.org\/stable\/auto_examples\/model_selection\/plot_roc.html","..","todo",":",":","Allow","the","class","list","to","filter","the","curves","on","the","visualization",".","Examples","--","--","--","--",">",">",">","from","yellowbrick.classifier","import","ROCAUC",">",">",">","from","sklearn.linear_model","import","LogisticRegression",">",">",">","from","sklearn.model_selection","import","train_test_split",">",">",">","data","=","load_data","(","``","occupancy","''",")",">",">",">","features","=","[","``","temp","''",",","``","relative","humidity","''",",","``","light","''",",","``","C02","''",",","``","humidity","''","]",">",">",">","X_train",",","X_test",",","y_train",",","y_test","=","train_test_split","(","X",",","y",")",">",">",">","oz","=","ROCAUC","(","LogisticRegression","(",")",")",">",">",">","oz.fit","(","X_train",",","y_train",")",">",">",">","oz.score","(","X_test",",","y_test",")",">",">",">","oz.show","(",")"]
docstr: Sets a title and axis labels of the figures and ensures the axis limits
  are scaled between the valid ROCAUC score values.
  
  Parameters
  ----------
  kwargs: generic keyword arguments.
  
  Notes
  -----
  Generally this method is called from show and not directly by the user.
docstr_tok: ["Sets","a","title","and","axis","labels","of","the","figures","and","ensures","the","axis","limits","are","scaled","between","the","valid","ROCAUC","score","values",".","Parameters","--","--","--","--","--","kwargs",":","generic","keyword","arguments",".","Notes","--","--","-","Generally","this","method","is","called","from","show","and","not","directly","by","the","user","."]
code: def finalize(self, **kwargs):
      """
      Sets a title and axis labels of the figures and ensures the axis limits
      are scaled between the valid ROCAUC score values.
  
      Parameters
      ----------
      kwargs: generic keyword arguments.
  
      Notes
      -----
      Generally this method is called from show and not directly by the user.
      """
      # Set the title and add the legend
      self.set_title("ROC Curves for {}".format(self.name))
      self.ax.legend(loc="lower right", frameon=True)
  
      # Set the limits for the ROC/AUC (always between 0 and 1)
      self.ax.set_xlim([0.0, 1.0])
      self.ax.set_ylim([0.0, 1.0])
  
      # Set x and y axis labels
      self.ax.set_ylabel("True Positive Rate")
      self.ax.set_xlabel("False Positive Rate")
  
file_path: yellowbrick/yellowbrick/classifier/rocauc.py
imports: import numpy
  from sklearn.metrics import auc, roc_curve
  from sklearn.preprocessing import label_binarize
  from sklearn.utils.multiclass import type_of_target
  from yellowbrick.exceptions import ModelError
  from yellowbrick.style.palettes import LINE_COLOR
  from yellowbrick.exceptions import YellowbrickValueError
  from yellowbrick.classifier.base import ClassificationScoreVisualizer
label_desc: Use image node_id 5 for calling the ROCAUC obj's underlying member method code with example usage: obj.finalize() without return types