def _build_dataframe(self): """ Method to store all the information given by the class Evaluator in a DataFrame. Here we calculate another metric 'Score*Preci' which is the product between score, raw_score and precision of a model. The ideia is that a good model has both higher precision (contemplate more words) and higher score (accuracy in the analogy test). """ all_observations = [] for name, path in zip(self.model_names, self.pickle_paths): if self.verbose: print("\nEvaluating the model {}".format(name)) evaluator = Evaluator(path, self.eval_path, self.encoding) precision, raw_score, score = evaluator.get_metrics() observation = {} observation['Name'] = name observation['Raw_Score'] = raw_score observation['Score'] = score observation['Precision'] = precision observation['Score*Preci'] = raw_score * score * precision all_observations.append(observation) self.dataframe = pd.DataFrame(all_observations)