def predict_libfm(self): print('predict: %s' % time.strftime("%Y/%m/%d-%H:%M:%S")) run_libfm(self.context_train_file, self.context_test_file, self.context_predictions_file, self.context_log_file) self.predictions = rmse_calculator.read_targets_from_txt( self.context_predictions_file)
def main_evaluate(): I = my_i records = ETLUtils.load_json_file(RECORDS_FILE) # print('num_records', len(records)) test_file = RECORDS_FILE + '_test' test_records = ETLUtils.load_json_file(test_file) top_n_evaluator = TopNEvaluator(records, test_records, DATASET, 10, I) top_n_evaluator.find_important_records() # top_n_evaluator.initialize() # records_to_predict_file = DATASET_FOLDER + 'generated/records_to_predict_' + DATASET + '.json' top_n_evaluator.load_records_to_predict(RECORDS_TO_PREDICT_FILE) predictions_file = GENERATED_FOLDER + 'predictions_' + DATASET + '.txt' predictions = rmse_calculator.read_targets_from_txt(predictions_file) # print('total predictions', len(predictions)) top_n_evaluator.evaluate(predictions) # print('precision', top_n_evaluator.precision) print('recall', top_n_evaluator.recall) return top_n_evaluator.recall
def evaluate(self): print('evaluate: %s' % time.strftime("%Y/%d/%m-%H:%M:%S")) predictions = rmse_calculator.read_targets_from_txt( self.no_context_predictions_file) self.top_n_evaluator.evaluate(predictions) no_context_recall = self.top_n_evaluator.recall predictions = rmse_calculator.read_targets_from_txt( self.context_predictions_file) self.top_n_evaluator.evaluate(predictions) context_recall = self.top_n_evaluator.recall print('No context recall: %f' % no_context_recall) print('Context recall: %f' % context_recall) return context_recall, no_context_recall
def predict_libfm(self): print('predict: %s' % time.strftime("%Y/%m/%d-%H:%M:%S")) run_libfm( self.context_train_file, self.context_test_file, self.context_predictions_file, self.context_log_file) self.predictions = rmse_calculator.read_targets_from_txt( self.context_predictions_file)
def evaluate(self): print('evaluate: %s' % time.strftime("%Y/%m/%d-%H:%M:%S")) predictions = rmse_calculator.read_targets_from_txt( self.context_predictions_file) self.top_n_evaluator.evaluate(predictions) recall = self.top_n_evaluator.recall print('Recall: %f' % recall) print('Specific recall: %f' % self.top_n_evaluator.specific_recall) print('Generic recall: %f' % self.top_n_evaluator.generic_recall) return recall