Class GridSearch


  • public class GridSearch
    extends RandomSearch
    Utility class to performs a grid search over a Recommender instance. The Recommender class used during the grid search must contains a constructor with the signature Recommender::<init>(DataModel, Map<String, Object>) that initializes the Recommender using the attributes defined in the Map object. The parameters used in the search process, i.e. the development set, must be defined in a ParamsGrid instance. The random search is executed in such a way that it minimizes (by default) or maximizes a QualityMeasure instance over the test set of the DataModel instance. If the QualityMeasure requires parameters to work, it must contains a constructor with the signature QualityMeasure::<init>(Recommender, Map<String, Object>) that initializes the QualityMeasure using the attributes defined in the Map object.
    • Constructor Detail

      • GridSearch

        public GridSearch​(DataModel datamodel,
                          ParamsGrid grid,
                          Class<? extends Recommender> recommenderClass,
                          Class<? extends QualityMeasure> qualityMeasureClass)
        GridSearch constructor
        Parameters:
        datamodel - DataModel instance
        grid - ParamsGrid instance containing the development set
        recommenderClass - Recommender class to be evaluated
        qualityMeasureClass - QualityMeasure class used to evaluate the Recommender
      • GridSearch

        public GridSearch​(DataModel datamodel,
                          ParamsGrid grid,
                          Class<? extends Recommender> recommenderClass,
                          Class<? extends QualityMeasure> qualityMeasureClass,
                          Map<String,​Object> qualityMeasureParams)
        GridSearch constructor
        Parameters:
        datamodel - DataModel instance
        grid - ParamsGrid instance containing the development set
        recommenderClass - Recommender class to be evaluated. This class must contains a constructor with the signature Recommender.<init>(DataModel, Map<String, Object>)
        qualityMeasureClass - QualityMeasure class used to evaluate the Recommender. This class must contains a constructor with the signature QualityMeasure.<init>(Recommender, Map<String, Object>)
        qualityMeasureParams - Map object containing the quality measure parameters names (keys) and values (value)
      • GridSearch

        public GridSearch​(DataModel datamodel,
                          ParamsGrid grid,
                          Class<? extends Recommender> recommenderClass,
                          Class<? extends QualityMeasure>[] qualityMeasuresClasses)
        GridSearch constructor
        Parameters:
        datamodel - DataModel instance
        grid - ParamsGrid instance containing the development set
        recommenderClass - Recommender class to be evaluated
        qualityMeasuresClasses - QualityMeasure classes used to evaluate the Recommender. These classes must contain a constructor with the signature QualityMeasure.<init>(Recommender, Map<String, Object>)
      • GridSearch

        public GridSearch​(DataModel datamodel,
                          ParamsGrid grid,
                          Class<? extends Recommender> recommenderClass,
                          Class<? extends QualityMeasure>[] qualityMeasuresClasses,
                          Map<String,​Object>[] qualityMeasuresParams)
        GridSearch constructor
        Parameters:
        datamodel - DataModel instance
        grid - ParamsGrid instance containing the development set
        recommenderClass - Recommender class to be evaluated. This class must contains a constructor with the signature Recommender.<init>(DataModel, Map<String, Object>)
        qualityMeasuresClasses - QualityMeasure classes used to evaluate the Recommender. These classes must contain a constructor with the signature QualityMeasure.<init>(Recommender, Map<String, Object>)
        qualityMeasuresParams - Maps objects containing the quality measure parameters names (keys) and values (value)