prediction hence equal weight is given to each prediction classification decision macro-averaging involves giving equal weight to each class label when averaging our model_evaluation_utils module has nifty customizable function plot_model_roc_curve)which can help plot multi-class classifier roc curves with both microand macro-averaging capabilities we recommend you to check out the codewhich is pretty self-explanatory let' now plot the roc curve for our random forest classifier in [ ]meu plot_model_roc_curve(wqp_rfwqp_test_sxwqp_test_yfigure - roc curve for our tuned random forest model you can see the various roc plots (per-class and averagedin figure - for our tuned random forest model the auc is pretty good based on what we see the dotted lines indicate the per-class roc curves and the lines in bold are the macro and micro-average roc curves let' now revisit our top two most important features--alcohol and volatile acidity let' use them and try to plot the decision surface\boundary of our random forest modelsimilar to what we had done earlier for our logistic regression based wine type classifier in figure - in [ ]feature_indices [ for ifeature in enumerate(wqp_feature_namesif feature in ['alcohol''volatile acidity']meu plot_model_decision_surface(clf=wqp_rftrain_features=wqp_train_sx[:feature_indices]train_labels=wqp_train_yplot_step= cmap=plt cm rdylbumarkers=[','' ''+']alphas=[ ]colors=[' '' '' ']