Avoid copies in decision tree main

This commit is contained in:
Roberto Hueso Gomez
2018-10-22 03:25:59 +02:00
parent 2530c45478
commit f4830fb3b5
@@ -180,13 +180,22 @@ static void mlpackMain()
{
arma::Row<double> weights =
std::move(CLI::GetParam<arma::Mat<double>>("weights"));
model->tree = DecisionTree<>(trainingSet, model->info, labels,
numClasses, weights, minLeafSize, minimumGainSplit);
if (CLI::HasParam("print_training_error"))
model->tree = DecisionTree<>(trainingSet, model->info, labels,
numClasses, std::move(weights), minLeafSize, minimumGainSplit);
else
model->tree = DecisionTree<>(std::move(trainingSet), model->info,
std::move(labels), numClasses, std::move(weights), minLeafSize,
minimumGainSplit);
}
else
{
model->tree = DecisionTree<>(trainingSet, model->info, labels,
numClasses, minLeafSize, minimumGainSplit);
if (CLI::HasParam("print_training_error"))
model->tree = DecisionTree<>(trainingSet, model->info, labels,
numClasses, minLeafSize, minimumGainSplit);
else
model->tree = DecisionTree<>(std::move(trainingSet), model->info,
std::move(labels), numClasses, minLeafSize, minimumGainSplit);
}
// Do we need to print training error?