watex.view.EvalPlot.plotConfusionMatrix#
- EvalPlot.plotConfusionMatrix(clf, *, kind=None, labels=None, matshow_kws=None, **conf_mx_kws)[source]#
Plot confusion matrix for error evaluation.
A representation of the confusion matrix for error visualization. If kind is set
map, plot will give the number of confused instances/items. However when kind is set toerror, the number of items confused is explained as a percentage.- Parameters
clf (callable, always as a function, classifier estimator) – A supervised predictor with a finite set of discrete possible output values. A classifier must supports modeling some of binary, targets. It must store a classes attribute after fitting.
- labels: int, or list of int, optional
Specific class to evaluate the tradeoff of precision
and recall. label needs to be specified and a value within the target.
- plottype: str
can be map or error to visualize the matshow of prediction and errors respectively.
- matshow_kws: dict
matplotlib additional keywords arguments.
- conf_mx_kws: dict
Additional confusion matrix keywords arguments.
- ylabel: list
list of labels names to hold the name of each categories. Return
self: EvalPlot instanceselffor easy method chaining.
Examples
>>> from watex.datasets import fetch_data >>> from watex.utils.mlutils import cattarget >>> from watex.exlib.sklearn import SVC >>> from watex.view.mlplot import EvalPlot >>> X, y = fetch_data ('bagoue', return_X_y=True, as_frame =True) >>> # partition the target into 4 clusters-> just for demo >>> b= EvalPlot(scale =True, label_values = 4 ) >>> b.fit_transform (X, y) >>> # prepare our estimator >>> svc_clf = SVC(C=100, gamma=1e-2, kernel='rbf', random_state =42) >>> matshow_kwargs ={ 'aspect': 'auto', # 'auto'equal 'interpolation': None, 'cmap':'jet } >>> plot_kws ={'lw':3, 'lc':(.9, 0, .8), 'font_size':15., 'cb_format':None, 'xlabel': 'Predicted classes', 'ylabel': 'Actual classes', 'font_weight':None, 'tp_labelbottom':False, 'tp_labeltop':True, 'tp_bottom': False } >>> b.plotConfusionMatrix(clf=svc_clf, matshow_kws = matshow_kwargs, **plot_kws) >>> svc_clf = SVC(C=100, gamma=1e-2, kernel='rbf', ... random_state =42) >>> # replace the integer identifier with litteral string >>> b.litteral_classes = ['FR0', 'FR1', 'FR2', 'FR3'] >>> b.plotConfusionMatrix(svc_clf, matshow_kws=matshow_kwargs, kind='error', **plot_kws)