Hi,

  I am a sophomore undergraduate pursuing major in computer science and
engineering along with minor in mathematics at IIT, Guwahati. I have
completed machine learning (coursera), deep learning (udacity) and 224n
course(standford.edu). I am interested in participating in GSOC 2017 and
want to work on this project : cross-validation and hyper-parameter tuning
infrastructure.


Apart from training data and labels, the train function of different
methods take various number of extra parameters.

(Decision tree )
void Train(const MatType& data,
             const arma::Row<size_t>& labels,
             const size_t numClasses,
             const size_t minimumLeafSize = 10);

(Naive Baye's)
void Train(const MatType& data,
             const arma::Row<size_t>& labels,
             const bool incremental = true);

Will it be a good idea to overload the Evaluate function of
cross-validation module too ?

Something like this :

template< typename param1type,
                   typename param2type,
                   typename param3type>
double Evaluate(int kFolds,
                               param1type param1,
                               param2type param2,
                               param3type param3)

template< typename param1type,
                   typename param2type>
double Evaluate(int kFolds,
                               param1type param1,
                               param2type param2)

And inside Evaluate , Train function can be called as :

model.Train(TrainingData,
                      TrainingLabels,
                      param1,
                      param2,
                      param3)

model.Train(TrainingData,
                      TrainingLabels,
                      param1,
                      param2)

Advantage : We will be able to cover all the train functions which take
first input as TrainingData and second input as TrainingLabels.
Disadvantage : There will be a number of overloaded functions (3-4 ) for
Evaluate. (for example in AdaBoost the Train function accepts 3 extra
parameters whereas Logistic Regression has a train function with no extra
parameter.)

Sudhanshu
_______________________________________________
mlpack mailing list
[email protected]
http://knife.lugatgt.org/cgi-bin/mailman/listinfo/mlpack

Reply via email to