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