Yellowbrick has multi label precision recall curves and multiclass roc/auc builtin: https://www.scikit-yb.org/en/latest/api/classifier/rocauc.html
Sent from my iPad > On Jul 27, 2021, at 6:03 AM, Guillaume Lemaître <g.lemaitr...@gmail.com> > wrote: > > As far that I remember, `precision_recall_curve` and `roc_curve` do not > support multi class. They are design to work only with binary classification. > Then, we provide an example for precision-recall that shows one way to > compute precision-recall curve via averaging: > https://scikit-learn.org/stable/auto_examples/model_selection/plot_precision_recall.html#sphx-glr-auto-examples-model-selection-plot-precision-recall-py > -- > Guillaume Lemaitre > Scikit-learn @ Inria Foundation > https://glemaitre.github.io/ > >> On 27 Jul 2021, at 11:42, Sole Galli via scikit-learn >> <scikit-learn@python.org> wrote: >> >> Thank you! >> >> So when in the multiclass document says that for the algorithms that support >> intrinsically multiclass, which are listed here, when it says that they do >> not need to be wrapped by the OnevsRest, it means that there is no need, >> because they can indeed handle multi class, each one in their own way. >> >> But, if I want to plot PR curves or ROC curves, then I do need to wrap them >> because those metrics are calculated as a 1 vs rest manner, and this is not >> how it is handled by the algos. Is my understanding correct? >> >> Thank you! >> >> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ >> On Tuesday, July 27th, 2021 at 11:33 AM, Nicolas Hug <nio...@gmail.com> >> wrote: >>> To add to Guillaume's answer: the native multiclass support for >>> forests/trees is described here: >>> https://scikit-learn.org/stable/modules/tree.html#multi-output-problems >>> >>> It's not a one-vs-rest strategy and can be summed up as: >>> >>> >>>> Store n output values in leaves, instead of 1; >>>> >>>> Use splitting criteria that compute the average reduction across all n >>>> outputs. >>>> >>> >>> >>> Nicolas >>> >>> On 27/07/2021 10:22, Guillaume Lemaître wrote: >>>>>> On 27 Jul 2021, at 11:08, Sole Galli via scikit-learn >>>>>> <scikit-learn@python.org> wrote: >>>>>> >>>>>> Hello community, >>>>>> >>>>>> Do I understand correctly that Random Forests are trained as a 1 vs rest >>>>>> when the target has more than 2 classes? Say the target takes values 0, >>>>>> 1 and 2, then the model would train 3 estimators 1 per class under the >>>>>> hood?. >>>>> Each decision tree of the forest is natively supporting multi class. >>>>> >>>>> The predict_proba output is an array with 3 columns, containing the >>>>> probability of each class. If it is 1 vs rest. am I correct to assume >>>>> that the sum of the probabilities for the 3 classes should not >>>>> necessarily add up to 1? are they normalized? how is it done so that they >>>>> do add up to 1? >>>> According to the above answer, the sum for each row of the array given by >>>> `predict_proba` will sum to 1. >>>> According to the documentation, the probabilities are computed as: >>>> >>>> The predicted class probabilities of an input sample are computed as the >>>> mean predicted class probabilities of the trees in the forest. The class >>>> probability of a single tree is the fraction of samples of the same class >>>> in a leaf. >>>> >>>>> Thank you >>>>> Sole >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> scikit-learn mailing list >>>>> scikit-learn@python.org >>>>> https://mail.python.org/mailman/listinfo/scikit-learn >>>> _______________________________________________ >>>> scikit-learn mailing list >>>> scikit-learn@python.org >>>> https://mail.python.org/mailman/listinfo/scikit-learn >> >> _______________________________________________ >> scikit-learn mailing list >> scikit-learn@python.org >> https://mail.python.org/mailman/listinfo/scikit-learn > > _______________________________________________ > scikit-learn mailing list > scikit-learn@python.org > https://mail.python.org/mailman/listinfo/scikit-learn
_______________________________________________ scikit-learn mailing list scikit-learn@python.org https://mail.python.org/mailman/listinfo/scikit-learn