src.fairreckitlib.model.algorithms.surprise.surprise_factory
This module contains functionality to create the surprise predictor/recommender factory.
Functions:
create_predictor_factory: create factory with surprise predictors.
create_recommender_factory: create factory with surprise recommenders.
This program has been developed by students from the bachelor Computer Science at Utrecht University within the Software Project course. © Copyright Utrecht University (Department of Information and Computing Sciences)
1"""This module contains functionality to create the surprise predictor/recommender factory. 2 3Functions: 4 5 create_predictor_factory: create factory with surprise predictors. 6 create_recommender_factory: create factory with surprise recommenders. 7 8This program has been developed by students from the bachelor Computer Science at 9Utrecht University within the Software Project course. 10© Copyright Utrecht University (Department of Information and Computing Sciences) 11""" 12 13from ....core.config.config_factories import Factory, create_factory_from_list 14from ....core.core_constants import SURPRISE_API 15from . import surprise_params 16from . import surprise_predictor 17from . import surprise_recommender 18from . import surprise_algorithms 19 20 21def create_predictor_factory() -> Factory: 22 """Create the factory with Surprise predictors. 23 24 Returns: 25 the factory with all available predictors. 26 """ 27 return create_factory_from_list(SURPRISE_API, [ 28 (surprise_algorithms.BASELINE_ONLY_ALS, 29 surprise_predictor.create_baseline_only_als, 30 surprise_params.create_params_baseline_only_als 31 ), 32 (surprise_algorithms.BASELINE_ONLY_SGD, 33 surprise_predictor.create_baseline_only_sgd, 34 surprise_params.create_params_baseline_only_sgd 35 ), 36 (surprise_algorithms.CO_CLUSTERING, 37 surprise_predictor.create_co_clustering, 38 surprise_params.create_params_co_clustering 39 ), 40 (surprise_algorithms.KNN_BASIC, 41 surprise_predictor.create_knn_basic, 42 surprise_params.create_params_knn_similarities 43 ), 44 (surprise_algorithms.KNN_BASELINE_ALS, 45 surprise_predictor.create_knn_baseline_als, 46 surprise_params.create_params_knn_baseline_als 47 ), 48 (surprise_algorithms.KNN_BASELINE_SGD, 49 surprise_predictor.create_knn_baseline_sgd, 50 surprise_params.create_params_knn_baseline_sgd 51 ), 52 (surprise_algorithms.KNN_WITH_MEANS, 53 surprise_predictor.create_knn_with_means, 54 surprise_params.create_params_knn_similarities 55 ), 56 (surprise_algorithms.KNN_WITH_ZSCORE, 57 surprise_predictor.create_knn_with_zscore, 58 surprise_params.create_params_knn_similarities 59 ), 60 (surprise_algorithms.NMF, 61 surprise_predictor.create_nmf, 62 surprise_params.create_params_nmf 63 ), 64 (surprise_algorithms.NORMAL_PREDICTOR, 65 surprise_predictor.create_normal_predictor, 66 None 67 ), 68 (surprise_algorithms.SLOPE_ONE, 69 surprise_predictor.create_slope_one, 70 None 71 ), 72 (surprise_algorithms.SVD, 73 surprise_predictor.create_svd, 74 surprise_params.create_params_svd 75 ), 76 (surprise_algorithms.SVD_PP, 77 surprise_predictor.create_svd_pp, 78 surprise_params.create_params_svd_pp 79 ) 80 ]) 81 82 83def create_recommender_factory() -> Factory: 84 """Create the factory with Surprise recommenders. 85 86 Returns: 87 the factory with all available recommenders. 88 """ 89 return create_factory_from_list(SURPRISE_API, [ 90 (surprise_algorithms.BASELINE_ONLY_ALS, 91 surprise_recommender.create_baseline_only_als, 92 surprise_params.create_params_baseline_only_als 93 ), 94 (surprise_algorithms.BASELINE_ONLY_SGD, 95 surprise_recommender.create_baseline_only_sgd, 96 surprise_params.create_params_baseline_only_sgd 97 ), 98 (surprise_algorithms.CO_CLUSTERING, 99 surprise_recommender.create_co_clustering, 100 surprise_params.create_params_co_clustering 101 ), 102 (surprise_algorithms.KNN_BASIC, 103 surprise_recommender.create_knn_basic, 104 surprise_params.create_params_knn_similarities 105 ), 106 (surprise_algorithms.KNN_BASELINE_ALS, 107 surprise_recommender.create_knn_baseline_als, 108 surprise_params.create_params_knn_baseline_als 109 ), 110 (surprise_algorithms.KNN_BASELINE_SGD, 111 surprise_recommender.create_knn_baseline_sgd, 112 surprise_params.create_params_knn_baseline_sgd 113 ), 114 (surprise_algorithms.KNN_WITH_MEANS, 115 surprise_recommender.create_knn_with_means, 116 surprise_params.create_params_knn_similarities 117 ), 118 (surprise_algorithms.KNN_WITH_ZSCORE, 119 surprise_recommender.create_knn_with_zscore, 120 surprise_params.create_params_knn_similarities 121 ), 122 (surprise_algorithms.NMF, 123 surprise_recommender.create_nmf, 124 surprise_params.create_params_nmf 125 ), 126 (surprise_algorithms.NORMAL_PREDICTOR, 127 surprise_recommender.create_normal_predictor, 128 None 129 ), 130 (surprise_algorithms.SLOPE_ONE, 131 surprise_recommender.create_slope_one, 132 None 133 ), 134 (surprise_algorithms.SVD, 135 surprise_recommender.create_svd, 136 surprise_params.create_params_svd 137 ), 138 (surprise_algorithms.SVD_PP, 139 surprise_recommender.create_svd_pp, 140 surprise_params.create_params_svd_pp 141 ) 142 ])
def
create_predictor_factory() -> src.fairreckitlib.core.config.config_factories.Factory:
22def create_predictor_factory() -> Factory: 23 """Create the factory with Surprise predictors. 24 25 Returns: 26 the factory with all available predictors. 27 """ 28 return create_factory_from_list(SURPRISE_API, [ 29 (surprise_algorithms.BASELINE_ONLY_ALS, 30 surprise_predictor.create_baseline_only_als, 31 surprise_params.create_params_baseline_only_als 32 ), 33 (surprise_algorithms.BASELINE_ONLY_SGD, 34 surprise_predictor.create_baseline_only_sgd, 35 surprise_params.create_params_baseline_only_sgd 36 ), 37 (surprise_algorithms.CO_CLUSTERING, 38 surprise_predictor.create_co_clustering, 39 surprise_params.create_params_co_clustering 40 ), 41 (surprise_algorithms.KNN_BASIC, 42 surprise_predictor.create_knn_basic, 43 surprise_params.create_params_knn_similarities 44 ), 45 (surprise_algorithms.KNN_BASELINE_ALS, 46 surprise_predictor.create_knn_baseline_als, 47 surprise_params.create_params_knn_baseline_als 48 ), 49 (surprise_algorithms.KNN_BASELINE_SGD, 50 surprise_predictor.create_knn_baseline_sgd, 51 surprise_params.create_params_knn_baseline_sgd 52 ), 53 (surprise_algorithms.KNN_WITH_MEANS, 54 surprise_predictor.create_knn_with_means, 55 surprise_params.create_params_knn_similarities 56 ), 57 (surprise_algorithms.KNN_WITH_ZSCORE, 58 surprise_predictor.create_knn_with_zscore, 59 surprise_params.create_params_knn_similarities 60 ), 61 (surprise_algorithms.NMF, 62 surprise_predictor.create_nmf, 63 surprise_params.create_params_nmf 64 ), 65 (surprise_algorithms.NORMAL_PREDICTOR, 66 surprise_predictor.create_normal_predictor, 67 None 68 ), 69 (surprise_algorithms.SLOPE_ONE, 70 surprise_predictor.create_slope_one, 71 None 72 ), 73 (surprise_algorithms.SVD, 74 surprise_predictor.create_svd, 75 surprise_params.create_params_svd 76 ), 77 (surprise_algorithms.SVD_PP, 78 surprise_predictor.create_svd_pp, 79 surprise_params.create_params_svd_pp 80 ) 81 ])
Create the factory with Surprise predictors.
Returns: the factory with all available predictors.
def
create_recommender_factory() -> src.fairreckitlib.core.config.config_factories.Factory:
84def create_recommender_factory() -> Factory: 85 """Create the factory with Surprise recommenders. 86 87 Returns: 88 the factory with all available recommenders. 89 """ 90 return create_factory_from_list(SURPRISE_API, [ 91 (surprise_algorithms.BASELINE_ONLY_ALS, 92 surprise_recommender.create_baseline_only_als, 93 surprise_params.create_params_baseline_only_als 94 ), 95 (surprise_algorithms.BASELINE_ONLY_SGD, 96 surprise_recommender.create_baseline_only_sgd, 97 surprise_params.create_params_baseline_only_sgd 98 ), 99 (surprise_algorithms.CO_CLUSTERING, 100 surprise_recommender.create_co_clustering, 101 surprise_params.create_params_co_clustering 102 ), 103 (surprise_algorithms.KNN_BASIC, 104 surprise_recommender.create_knn_basic, 105 surprise_params.create_params_knn_similarities 106 ), 107 (surprise_algorithms.KNN_BASELINE_ALS, 108 surprise_recommender.create_knn_baseline_als, 109 surprise_params.create_params_knn_baseline_als 110 ), 111 (surprise_algorithms.KNN_BASELINE_SGD, 112 surprise_recommender.create_knn_baseline_sgd, 113 surprise_params.create_params_knn_baseline_sgd 114 ), 115 (surprise_algorithms.KNN_WITH_MEANS, 116 surprise_recommender.create_knn_with_means, 117 surprise_params.create_params_knn_similarities 118 ), 119 (surprise_algorithms.KNN_WITH_ZSCORE, 120 surprise_recommender.create_knn_with_zscore, 121 surprise_params.create_params_knn_similarities 122 ), 123 (surprise_algorithms.NMF, 124 surprise_recommender.create_nmf, 125 surprise_params.create_params_nmf 126 ), 127 (surprise_algorithms.NORMAL_PREDICTOR, 128 surprise_recommender.create_normal_predictor, 129 None 130 ), 131 (surprise_algorithms.SLOPE_ONE, 132 surprise_recommender.create_slope_one, 133 None 134 ), 135 (surprise_algorithms.SVD, 136 surprise_recommender.create_svd, 137 surprise_params.create_params_svd 138 ), 139 (surprise_algorithms.SVD_PP, 140 surprise_recommender.create_svd_pp, 141 surprise_params.create_params_svd_pp 142 ) 143 ])
Create the factory with Surprise recommenders.
Returns: the factory with all available recommenders.