def plot_story_evaluation( test_y, predictions, report, precision, f1, accuracy, in_training_data_fraction, out_directory, disable_plotting, ): """Plot the results of story evaluation""" from sklearn.metrics import confusion_matrix from sklearn.utils.multiclass import unique_labels import matplotlib.pyplot as plt from rasa.utils.plotting import plot_confusion_matrix log_evaluation_table( test_y, "ACTION", report, precision, f1, accuracy, in_training_data_fraction, include_report=True, ) if disable_plotting: return cnf_matrix = confusion_matrix(test_y, predictions) plot_confusion_matrix( cnf_matrix, classes=unique_labels(test_y, predictions), title="Action Confusion matrix", ) fig = plt.gcf() fig.set_size_inches(int(20), int(20)) fig.savefig(os.path.join(out_directory, "story_confmat.pdf"), bbox_inches="tight")
def _plot_story_evaluation(targets: List[Text], predictions: List[Text], output_directory: Optional[Text]) -> None: """Plot a confusion matrix of story evaluation.""" from sklearn.metrics import confusion_matrix from sklearn.utils.multiclass import unique_labels from rasa.utils.plotting import plot_confusion_matrix confusion_matrix_filename = CONFUSION_MATRIX_STORIES_FILE if output_directory: confusion_matrix_filename = os.path.join(output_directory, confusion_matrix_filename) cnf_matrix = confusion_matrix(targets, predictions) plot_confusion_matrix( cnf_matrix, classes=unique_labels(targets, predictions), title="Action Confusion matrix", output_file=confusion_matrix_filename, )