baserec.parameter_tuning package¶
Submodules¶
baserec.parameter_tuning.run_parameter_search module¶
@author: Maurizio Ferrari Dacrema & Ceshine Lee
-
baserec.parameter_tuning.run_parameter_search.run_KNNRecommender_on_similarity_type(similarity_type, parameter_searcher, parameter_search_space, recommender_input_args, n_cases, n_random_starts, resume_from_saved, save_model, evaluate_on_test, output_folder_path, output_file_name_root, metric_to_optimize, allow_weighting=False, recommender_input_args_last_test=None)¶
-
baserec.parameter_tuning.run_parameter_search.run_search_collaborative(recommender_class, URM_train, URM_train_last_test=None, n_cases=35, n_random_starts=5, resume_from_saved=False, save_model='best', evaluate_on_test='best', evaluator_validation=None, evaluator_test=None, evaluator_validation_earlystopping=None, metric_to_optimize='PRECISION', output_folder_path='result_experiments/', parallelizeKNN=True, allow_weighting=True, similarity_type_list=None)¶ This function performs the hyperparameter optimization for a collaborative recommender
- Parameters
recommender_class – Class of the recommender object to optimize, it must be a BaseRecommender type
URM_train – Sparse matrix containing the URM training data
URM_train_last_test – Sparse matrix containing the union of URM training and validation data to be used in the last evaluation
n_cases – Number of hyperparameter sets to explore
n_random_starts – Number of the initial random hyperparameter values to explore, usually set at 30% of n_cases
resume_from_saved – Boolean value, if True the optimization is resumed from the saved files, if False a new one is done
save_model – [“no”, “best”, “last”] which of the models to save, see ParameterTuning/SearchAbstractClass for details
evaluate_on_test – [“all”, “best”, “last”, “no”] when to evaluate the model on the test data, see ParameterTuning/SearchAbstractClass for details
evaluator_validation – Evaluator object to be used for the validation of each hyperparameter set
evaluator_validation_earlystopping – Evaluator object to be used for the earlystopping of ML algorithms, can be the same of evaluator_validation
evaluator_test – Evaluator object to be used for the test results, the output will only be saved but not used
metric_to_optimize – String with the name of the metric to be optimized as contained in the output of the evaluator objects
output_folder_path – Folder in which to save the output files
parallelizeKNN – Boolean value, if True the various heuristics of the KNNs will be computed in parallel, if False sequentially
allow_weighting – Boolean value, if True it enables the use of TF-IDF and BM25 to weight features, users and items in KNNs
similarity_type_list – List of strings with the similarity heuristics to be used for the KNNs
baserec.parameter_tuning.search_abstract_class module¶
@author: Maurizio Ferrari Dacrema & Ceshine Lee
-
class
baserec.parameter_tuning.search_abstract_class.SearchAbstractClass(recommender_class, evaluator_validation=None, evaluator_test=None, verbose=True)¶ Bases:
object-
ALGORITHM_NAME= 'SearchAbstractClass'¶
-
INVALID_CONFIG_VALUE= 65500.0¶
-
search(recommender_input_args, parameter_search_space, metric_to_optimize='MAP', n_cases=None, output_folder_path=None, output_file_name_root=None, parallelize=False, save_model='best', evaluate_on_test='best', save_metadata=True)¶
-
-
class
baserec.parameter_tuning.search_abstract_class.SearchInputRecommenderArgs(CONSTRUCTOR_POSITIONAL_ARGS=None, CONSTRUCTOR_KEYWORD_ARGS=None, FIT_POSITIONAL_ARGS=None, FIT_KEYWORD_ARGS=None)¶ Bases:
object-
copy()¶
-
-
baserec.parameter_tuning.search_abstract_class.get_result_string_evaluate_on_validation(results_run_single_cutoff, n_decimals=7)¶
baserec.parameter_tuning.search_bayesian_skopt module¶
@author: Maurizio Ferrari Dacrema & Ceshine Lee
-
class
baserec.parameter_tuning.search_bayesian_skopt.SearchBayesianSkopt(recommender_class, evaluator_validation=None, evaluator_test=None, verbose=True)¶ Bases:
baserec.parameter_tuning.search_abstract_class.SearchAbstractClass-
ALGORITHM_NAME= 'SearchBayesianSkopt'¶
-
search(recommender_input_args, parameter_search_space, metric_to_optimize='MAP', n_cases=20, n_random_starts=5, output_folder_path=None, output_file_name_root=None, save_model='best', save_metadata=True, resume_from_saved=False, recommender_input_args_last_test=None, evaluate_on_test='best')¶ - Parameters
recommender_input_args –
parameter_search_space –
metric_to_optimize –
n_cases –
n_random_starts –
output_folder_path –
output_file_name_root –
save_model – “no” don’t save anything “all” save every model “best” save the best model trained on train data alone and on last, if present “last” save only last, if present
save_metadata –
recommender_input_args_last_test –
- Returns
-
baserec.parameter_tuning.search_single_case module¶
@author: Maurizio Ferrari Dacrema & Ceshine Lee
-
class
baserec.parameter_tuning.search_single_case.SearchSingleCase(recommender_class, evaluator_validation=None, evaluator_test=None, verbose=True)¶ Bases:
baserec.parameter_tuning.search_abstract_class.SearchAbstractClass-
ALGORITHM_NAME= 'SearchSingleCase'¶
-
search(recommender_input_args, fit_hyperparameters_values=None, metric_to_optimize='MAP', output_folder_path=None, output_file_name_root=None, save_metadata=True, recommender_input_args_last_test=None, resume_from_saved=False, save_model='best', evaluate_on_test='best')¶
-