The project is organized into the following key components:
...
...
@@ -90,6 +87,25 @@ The system supports the following regression models for predicting user ratings:
-`lightgbm`
### evaluator.ipynb
`generate_split_predictions`: This function splits the dataset into training and testing sets, trains the model on the training set, and generates predictions on the test set.
`generate_loo_top_n`: This function performs a leave-one-out (LOO) split of the dataset, then generates top-n recommendations for each user.
`generate_full_top_n`: This function generates top-n recommendations for each user using the full dataset.
precomputed_information: This function precomputes relevant information for evaluation in full mode.
`create_evaluation_report`: This function creates a DataFrame evaluating various models on metrics specified in an evaluation configuration.
`get_hit_rate`: Computes the average hit rate of top-n recommendations.
`get_novelty`: Computes the average novelty of top-n recommendations.
Definition of a dictionary containing available metrics for different evaluation steps (splits, LOO, full).
Loading data, generating evaluation reports for different models, and saving experimental outcomes.
### Dataset
Organized under the data/test/ directory, which contains three subdirectories: