org.mymedialite.hyperparameter
Class GridSearch

java.lang.Object
  extended by org.mymedialite.hyperparameter.GridSearch

public class GridSearch
extends java.lang.Object

Grid search for finding suitable hyperparameters.


Method Summary
static double findMinimum(java.lang.String evaluation_measure, java.lang.String hyperparameter_name, double[] hyperparameter_values, RatingPredictor recommender, int k)
          Find the the parameters resulting in the minimal results for a given evaluation measure using k-fold cross-validation.
static double findMinimum(java.lang.String evaluation_measure, java.lang.String hyperparameter_name, double[] hyperparameter_values, RatingPredictor recommender, ISplit<IRatings> split)
          Find the the parameters resulting in the minimal results for a given evaluation measure (1D).
static double findMinimum(java.lang.String evaluation_measure, java.lang.String hp_name1, java.lang.String hp_name2, double[] hp_values1, double[] hp_values2, RatingPredictor recommender, ISplit<IRatings> split)
          Find the the parameters resulting in the minimal results for a given evaluation measure (2D).
static double findMinimumExponential(java.lang.String evaluation_measure, java.lang.String hp_name, double[] hp_values, double basis, RatingPredictor recommender, ISplit<IRatings> split)
          Find the the parameters resulting in the minimal results for a given evaluation measure (1D).
static double findMinimumExponential(java.lang.String evaluation_measure, java.lang.String hp_name1, java.lang.String hp_name2, double[] hp_values1, double[] hp_values2, double basis, RatingPredictor recommender, ISplit<IRatings> split)
          Find the the parameters resulting in the minimal results for a given evaluation measure (2D).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

findMinimum

public static double findMinimum(java.lang.String evaluation_measure,
                                 java.lang.String hyperparameter_name,
                                 double[] hyperparameter_values,
                                 RatingPredictor recommender,
                                 ISplit<IRatings> split)
                          throws java.lang.Exception
Find the the parameters resulting in the minimal results for a given evaluation measure (1D). The recommender will be set to the best parameter value after calling this method.

Parameters:
evaluation_measure - the name of the evaluation measure
hyperparameter_name - the name of the hyperparameter to optimize
hyperparameter_values - the values of the hyperparameter to try out
recommender - the recommender
split - the dataset split to use
Returns:
the best (lowest) average value for the hyperparameter
Throws:
java.lang.Exception

findMinimum

public static double findMinimum(java.lang.String evaluation_measure,
                                 java.lang.String hp_name1,
                                 java.lang.String hp_name2,
                                 double[] hp_values1,
                                 double[] hp_values2,
                                 RatingPredictor recommender,
                                 ISplit<IRatings> split)
                          throws java.lang.Exception
Find the the parameters resulting in the minimal results for a given evaluation measure (2D). The recommender will be set to the best parameter value after calling this method.

Parameters:
evaluation_measure - the name of the evaluation measure
hp_name1 - the name of the first hyperparameter to optimize
hp_values1 - the values of the first hyperparameter to try out
hp_name2 - the name of the second hyperparameter to optimize
hp_values2 - the values of the second hyperparameter to try out
recommender - the recommender
split - the dataset split to use
Returns:
the best (lowest) average value for the hyperparameter
Throws:
java.lang.Exception

findMinimumExponential

public static double findMinimumExponential(java.lang.String evaluation_measure,
                                            java.lang.String hp_name1,
                                            java.lang.String hp_name2,
                                            double[] hp_values1,
                                            double[] hp_values2,
                                            double basis,
                                            RatingPredictor recommender,
                                            ISplit<IRatings> split)
                                     throws java.lang.Exception
Find the the parameters resulting in the minimal results for a given evaluation measure (2D). The recommender will be set to the best parameter value after calling this method.

Parameters:
evaluation_measure - the name of the evaluation measure
hp_name1 - the name of the first hyperparameter to optimize
hp_values1 - the logarithm values of the first hyperparameter to try out
hp_name2 - the name of the second hyperparameter to optimize
hp_values2 - the logarithm values of the second hyperparameter to try out
basis - the basis to use for the logarithms
recommender - the recommender
split - the dataset split to use
Returns:
the best (lowest) average value for the hyperparameter
Throws:
java.lang.Exception

findMinimumExponential

public static double findMinimumExponential(java.lang.String evaluation_measure,
                                            java.lang.String hp_name,
                                            double[] hp_values,
                                            double basis,
                                            RatingPredictor recommender,
                                            ISplit<IRatings> split)
                                     throws java.lang.Exception
Find the the parameters resulting in the minimal results for a given evaluation measure (1D). The recommender will be set to the best parameter value after calling this method.

Parameters:
evaluation_measure - the name of the evaluation measure
hp_name - the name of the hyperparameter to optimize
hp_values - the logarithms of the values of the hyperparameter to try out
basis - the basis to use for the logarithms
recommender - the recommender
split - the dataset split to use
Returns:
the best (lowest) average value for the hyperparameter
Throws:
java.lang.Exception

findMinimum

public static double findMinimum(java.lang.String evaluation_measure,
                                 java.lang.String hyperparameter_name,
                                 double[] hyperparameter_values,
                                 RatingPredictor recommender,
                                 int k)
                          throws java.lang.Exception
Find the the parameters resulting in the minimal results for a given evaluation measure using k-fold cross-validation. The recommender will be set to the best parameter value after calling this method.

Parameters:
evaluation_measure - the name of the evaluation measure
hyperparameter_name - the name of the hyperparameter to optimize
hyperparameter_values - the values of the hyperparameter to try out
recommender - the recommender
k - the number of folds to be used for cross-validation
Returns:
the best (lowest) average value for the hyperparameter
Throws:
java.lang.Exception