diff --git a/src/shogun/ensemble/WeightedMajorityVote.cpp b/src/shogun/ensemble/WeightedMajorityVote.cpp index c316b3ff31d..d236f435a60 100644 --- a/src/shogun/ensemble/WeightedMajorityVote.cpp +++ b/src/shogun/ensemble/WeightedMajorityVote.cpp @@ -103,5 +103,5 @@ void WeightedMajorityVote::init() void WeightedMajorityVote::register_parameters() { - SG_ADD(&m_weights, "weights", "Weights for the majority vote", ParameterProperties::HYPER); + SG_ADD(&m_weights, kWeights, "Weights for the majority vote", ParameterProperties::HYPER); } diff --git a/src/shogun/ensemble/WeightedMajorityVote.h b/src/shogun/ensemble/WeightedMajorityVote.h index ff967c9efb1..26edca94553 100644 --- a/src/shogun/ensemble/WeightedMajorityVote.h +++ b/src/shogun/ensemble/WeightedMajorityVote.h @@ -96,6 +96,10 @@ namespace shogun private: void init(); void register_parameters(); + #ifndef SWIG + public: + static constexpr std::string_view kWeights = "weights"; + #endif }; } diff --git a/src/shogun/evaluation/ClusteringEvaluation.cpp b/src/shogun/evaluation/ClusteringEvaluation.cpp index 74bf5f94b80..f7261ce259c 100644 --- a/src/shogun/evaluation/ClusteringEvaluation.cpp +++ b/src/shogun/evaluation/ClusteringEvaluation.cpp @@ -19,7 +19,7 @@ using namespace std; ClusteringEvaluation::ClusteringEvaluation() : Evaluation() { m_use_best_map = true; - SG_ADD(&m_use_best_map, "use_best_map", + SG_ADD(&m_use_best_map, kBestMap, "Find best match between predicted labels and the ground truth"); } diff --git a/src/shogun/evaluation/ClusteringEvaluation.h b/src/shogun/evaluation/ClusteringEvaluation.h index 129f6c82d05..a8a71ff4769 100644 --- a/src/shogun/evaluation/ClusteringEvaluation.h +++ b/src/shogun/evaluation/ClusteringEvaluation.h @@ -69,6 +69,11 @@ class ClusteringEvaluation: public Evaluation // A flag to find best match between predicted labels and the ground truth // before evaluation bool m_use_best_map; + +#ifndef SWIG +public: + static constexpr std::string_view kBestMap = "use_best_map"; +#endif }; } // namespace shogun diff --git a/src/shogun/evaluation/CrossValidation.cpp b/src/shogun/evaluation/CrossValidation.cpp index 469820c4cba..baaaf7621b3 100644 --- a/src/shogun/evaluation/CrossValidation.cpp +++ b/src/shogun/evaluation/CrossValidation.cpp @@ -51,7 +51,7 @@ void CrossValidation::init() { m_num_runs = 1; - SG_ADD(&m_num_runs, "num_runs", "Number of repetitions"); + SG_ADD(&m_num_runs, kNumRuns, "Number of repetitions"); } std::shared_ptr CrossValidation::evaluate_impl() const diff --git a/src/shogun/evaluation/CrossValidation.h b/src/shogun/evaluation/CrossValidation.h index 2f760f3a6d2..dede8f5ac2b 100644 --- a/src/shogun/evaluation/CrossValidation.h +++ b/src/shogun/evaluation/CrossValidation.h @@ -188,6 +188,11 @@ namespace shogun /** number of evaluation runs for one fold */ int32_t m_num_runs; + + #ifndef SWIG + public: + static constexpr std::string_view kNumRuns = "num_runs"; + #endif }; } diff --git a/src/shogun/evaluation/CrossValidationStorage.cpp b/src/shogun/evaluation/CrossValidationStorage.cpp index 12ce060c122..03e1784927b 100644 --- a/src/shogun/evaluation/CrossValidationStorage.cpp +++ b/src/shogun/evaluation/CrossValidationStorage.cpp @@ -44,28 +44,28 @@ using namespace shogun; CrossValidationFoldStorage::CrossValidationFoldStorage() : EvaluationResult() { SG_ADD( - &m_current_run_index, "run_index", "The current run index of this fold", + &m_current_run_index, kCurrentRunIndex, "The current run index of this fold", ParameterProperties::HYPER); SG_ADD( - &m_current_fold_index, "fold_index", "The current fold index", + &m_current_fold_index, kCurrentFoldIndex, "The current fold index", ParameterProperties::HYPER); SG_ADD( - &m_trained_machine, "trained_machine", + &m_trained_machine, kTrainedMachine, "The machine trained by this fold", ParameterProperties::HYPER); SG_ADD( - &m_test_result, "predicted_labels", + &m_test_result, kTestResult, "The test result of this fold", ParameterProperties::HYPER); SG_ADD( - &m_test_true_result, "ground_truth_labels", + &m_test_true_result, kTestTrueResult, "The true test result for this fold", ParameterProperties::HYPER); SG_ADD( - &m_train_indices, "train_indices", "Indices used for training", + &m_train_indices, kTrainIndices, "Indices used for training", ParameterProperties::HYPER); SG_ADD( - &m_test_indices, "test_indices", "Indices used for testing", + &m_test_indices, kTestIndices, "Indices used for testing", ParameterProperties::HYPER); SG_ADD( - &m_evaluation_result, "evaluation_result", "Result of the evaluation", + &m_evaluation_result, kEvalulationResult, "Result of the evaluation", ParameterProperties::HYPER); } @@ -92,13 +92,13 @@ CrossValidationStorage::CrossValidationStorage() : EvaluationResult() m_num_folds = 0; SG_ADD( - &m_num_runs, "num_runs", "The total number of cross-validation runs", + &m_num_runs, kNumRuns, "The total number of cross-validation runs", ParameterProperties::HYPER); SG_ADD( - &m_num_folds, "num_folds", "The total number of cross-validation folds", + &m_num_folds, kNumFold, "The total number of cross-validation folds", ParameterProperties::HYPER); SG_ADD( - &m_original_labels, "labels", + &m_original_labels, kOriginalLabels, "The labels used for this cross-validation", ParameterProperties::HYPER); this->watch_param( diff --git a/src/shogun/evaluation/CrossValidationStorage.h b/src/shogun/evaluation/CrossValidationStorage.h index b060b592731..e0f9310627f 100644 --- a/src/shogun/evaluation/CrossValidationStorage.h +++ b/src/shogun/evaluation/CrossValidationStorage.h @@ -103,6 +103,18 @@ namespace shogun /** Evaluation result for this fold */ float64_t m_evaluation_result{}; + + #ifndef SWIG + public: + static constexpr std::string_view kCurrentRunIndex = "run_index"; + static constexpr std::string_view kCurrentFoldIndex = "fold_index"; + static constexpr std::string_view kTrainedMachine = "trained_machine"; + static constexpr std::string_view kTestResult = "predicted_labels"; + static constexpr std::string_view kTestTrueResult = "ground_truth_labels"; + static constexpr std::string_view kTrainIndices = "train_indices"; + static constexpr std::string_view kTestIndices = "test_indices"; + static constexpr std::string_view kEvalulationResult = "evaluation_result"; + #endif }; /** @@ -156,6 +168,13 @@ namespace shogun /** Vector with all the folds results */ std::vector> m_folds_results; + + #ifndef SWIG + public: + static constexpr std::string_view kNumRuns = "num_runs"; + static constexpr std::string_view kNumFold = "num_folds"; + static constexpr std::string_view kOriginalLabels = "labels"; + #endif }; } diff --git a/src/shogun/evaluation/GradientEvaluation.cpp b/src/shogun/evaluation/GradientEvaluation.cpp index 9cf68f1d6d3..997ffff8387 100644 --- a/src/shogun/evaluation/GradientEvaluation.cpp +++ b/src/shogun/evaluation/GradientEvaluation.cpp @@ -29,7 +29,7 @@ void GradientEvaluation::init() m_diff=NULL; SG_ADD( - &m_diff, "differentiable_function", "Differentiable function", + &m_diff, kDifferentiableFunction, "Differentiable function", ParameterProperties::HYPER); } diff --git a/src/shogun/evaluation/GradientEvaluation.h b/src/shogun/evaluation/GradientEvaluation.h index 2e5f362cca0..9278e8c0cda 100644 --- a/src/shogun/evaluation/GradientEvaluation.h +++ b/src/shogun/evaluation/GradientEvaluation.h @@ -86,6 +86,10 @@ class GradientEvaluation: public MachineEvaluation /** parameter dictionary of differentiable function */ mutable std::map> m_parameter_dictionary; +#ifndef SWIG +public: + static constexpr std::string_view kDifferentiableFunction = "differentiable_function"; +#endif }; } #endif /* CGRADIENTEVALUATION_H_ */ diff --git a/src/shogun/evaluation/MachineEvaluation.cpp b/src/shogun/evaluation/MachineEvaluation.cpp index d2590b28b2a..adf800bb24e 100644 --- a/src/shogun/evaluation/MachineEvaluation.cpp +++ b/src/shogun/evaluation/MachineEvaluation.cpp @@ -61,12 +61,12 @@ void MachineEvaluation::init() m_cancel_computation = false; m_pause_computation_flag = false; - SG_ADD(&m_machine, "machine", "Used learning machine"); - SG_ADD(&m_features, "features", "Used features"); - SG_ADD(&m_labels, "labels", "Used labels"); - SG_ADD(&m_splitting_strategy, "splitting_strategy", + SG_ADD(&m_machine, kMachine, "Used learning machine"); + SG_ADD(&m_features, kFeatures, "Used features"); + SG_ADD(&m_labels, kLabels, "Used labels"); + SG_ADD(&m_splitting_strategy, kSplittingStrategy, "Used splitting strategy"); - SG_ADD(&m_evaluation_criterion, "evaluation_criterion", + SG_ADD(&m_evaluation_criterion, kEvaluationCriterion, "Used evaluation criterion"); } diff --git a/src/shogun/evaluation/MachineEvaluation.h b/src/shogun/evaluation/MachineEvaluation.h index b3f8c9a31e6..1b2e6cdf7c9 100644 --- a/src/shogun/evaluation/MachineEvaluation.h +++ b/src/shogun/evaluation/MachineEvaluation.h @@ -104,6 +104,14 @@ namespace shogun /** Criterion for evaluation */ std::shared_ptr m_evaluation_criterion; + #ifndef SWIG + public: + static constexpr std::string_view kMachine = "machine"; + static constexpr std::string_view kFeatures = "features"; + static constexpr std::string_view kLabels = "labels"; + static constexpr std::string_view kSplittingStrategy = "splitting_strategy"; + static constexpr std::string_view kEvaluationCriterion = "evaluation_criterion"; + #endif }; } /* namespace shogun */ diff --git a/src/shogun/evaluation/MulticlassOVREvaluation.cpp b/src/shogun/evaluation/MulticlassOVREvaluation.cpp index 2b15729c43f..a2c0eda6cf9 100644 --- a/src/shogun/evaluation/MulticlassOVREvaluation.cpp +++ b/src/shogun/evaluation/MulticlassOVREvaluation.cpp @@ -20,7 +20,7 @@ MulticlassOVREvaluation::MulticlassOVREvaluation() : MulticlassOVREvaluation::MulticlassOVREvaluation(const std::shared_ptr& binary_evaluation) : Evaluation(), m_binary_evaluation(nullptr), m_graph_results(nullptr), m_num_graph_results(0) { - SG_ADD((std::shared_ptr*)&m_binary_evaluation, "binary_evaluation", "binary evaluator") + SG_ADD((std::shared_ptr*)&m_binary_evaluation, kBinaryEvaluation, "binary evaluator") } MulticlassOVREvaluation::~MulticlassOVREvaluation() diff --git a/src/shogun/evaluation/MulticlassOVREvaluation.h b/src/shogun/evaluation/MulticlassOVREvaluation.h index e2ad269affe..827ee5b763b 100644 --- a/src/shogun/evaluation/MulticlassOVREvaluation.h +++ b/src/shogun/evaluation/MulticlassOVREvaluation.h @@ -80,6 +80,10 @@ class MulticlassOVREvaluation: public Evaluation /** number of graph results */ int32_t m_num_graph_results; +#ifndef SWIG +public: + static constexpr std::string_view kBinaryEvaluation = "binary_evaluation"; +#endif }; diff --git a/src/shogun/evaluation/SigmoidCalibration.cpp b/src/shogun/evaluation/SigmoidCalibration.cpp index 4b368434463..f9b34f1a74e 100644 --- a/src/shogun/evaluation/SigmoidCalibration.cpp +++ b/src/shogun/evaluation/SigmoidCalibration.cpp @@ -28,19 +28,19 @@ void SigmoidCalibration::init() m_epsilon = 1E-5; SG_ADD( - &m_sigmoid_as, "m_sigmoid_as", + &m_sigmoid_as, kSigmoidAs, "Vector of paramter A of sigmoid for each class."); SG_ADD( - &m_sigmoid_bs, "m_sigmoid_bs", + &m_sigmoid_bs, kSigmoidBs, "Vector of paramter B of sigmoid for each class."); SG_ADD( - &m_maxiter, "m_maxiter", "Maximum number of iteration for search."); + &m_maxiter, kMaxiter, "Maximum number of iteration for search."); SG_ADD( - &m_minstep, "m_minstep", "Minimum step taken in line search."); + &m_minstep, kMinstep, "Minimum step taken in line search."); SG_ADD( - &m_sigma, "m_sigma", + &m_sigma, kSigma, "Positive parameter to ensure positive semi-definite Hessian."); - SG_ADD(&m_epsilon, "m_epsilon", "Stopping criteria."); + SG_ADD(&m_epsilon, kEpsilon, "Stopping criteria."); } void SigmoidCalibration::set_maxiter(index_t maxiter) diff --git a/src/shogun/evaluation/SigmoidCalibration.h b/src/shogun/evaluation/SigmoidCalibration.h index 19dee6b9c33..b9b529ab1eb 100644 --- a/src/shogun/evaluation/SigmoidCalibration.h +++ b/src/shogun/evaluation/SigmoidCalibration.h @@ -139,6 +139,15 @@ namespace shogun float64_t m_sigma; /** Stopping criteria of search */ float64_t m_epsilon; + #ifndef SWIG + public: + static constexpr std::string_view kSigmoidAs = "sigmoid_as"; + static constexpr std::string_view kSigmoidBs = "sigmoid_bs"; + static constexpr std::string_view kMaxiter = "maxiter"; + static constexpr std::string_view kMinstep = "minstep"; + static constexpr std::string_view kSigma = "sigma"; + static constexpr std::string_view kEpsilon = "epsilon"; + #endif }; } #endif \ No newline at end of file diff --git a/src/shogun/evaluation/SplittingStrategy.cpp b/src/shogun/evaluation/SplittingStrategy.cpp index 31150e4ddfd..5ee491279d1 100644 --- a/src/shogun/evaluation/SplittingStrategy.cpp +++ b/src/shogun/evaluation/SplittingStrategy.cpp @@ -50,13 +50,13 @@ void SplittingStrategy::init() m_is_filled=false; m_num_subsets=0; - SG_ADD(&m_labels, "labels", "Labels for subsets"); + SG_ADD(&m_labels, kLabels, "Labels for subsets"); SG_ADD( - &m_subset_indices, "subset_indices", "Set of sets of subset indices"); + &m_subset_indices, kSubsetIndices, "Set of sets of subset indices"); SG_ADD( - &m_is_filled, "is_filled", "Whether ther are index sets"); + &m_is_filled, kIsFilled, "Whether ther are index sets"); SG_ADD( - &m_num_subsets, "num_subsets", "Number of index sets"); + &m_num_subsets, kSumSubsets, "Number of index sets"); } SplittingStrategy::~SplittingStrategy() diff --git a/src/shogun/evaluation/SplittingStrategy.h b/src/shogun/evaluation/SplittingStrategy.h index b7eedf0757d..5c36eaa0780 100644 --- a/src/shogun/evaluation/SplittingStrategy.h +++ b/src/shogun/evaluation/SplittingStrategy.h @@ -106,6 +106,13 @@ class SplittingStrategy: public SGObject /** flag to check whether there is a set of index sets stored. If not, * call build_subsets() */ bool m_is_filled; +#ifndef SWIG +public: + static constexpr std::string_view kLabels = "labels"; + static constexpr std::string_view kSubsetIndices = "subset_indices"; + static constexpr std::string_view kIsFilled = "is_filled"; + static constexpr std::string_view kSumSubsets = "num_subsets"; +#endif }; } diff --git a/src/shogun/evaluation/TimeSeriesSplitting.cpp b/src/shogun/evaluation/TimeSeriesSplitting.cpp index c1e44cc20b4..adf1c82e953 100644 --- a/src/shogun/evaluation/TimeSeriesSplitting.cpp +++ b/src/shogun/evaluation/TimeSeriesSplitting.cpp @@ -53,7 +53,7 @@ TimeSeriesSplitting::TimeSeriesSplitting(std::shared_ptr labels, index_t void TimeSeriesSplitting::init() { m_min_subset_size = 1; - SG_ADD(&m_min_subset_size, "min_subset_size", + SG_ADD(&m_min_subset_size, kMinSubsetSize, "The minimum subset size for test set"); } diff --git a/src/shogun/evaluation/TimeSeriesSplitting.h b/src/shogun/evaluation/TimeSeriesSplitting.h index 95777a86aae..205dd21f76b 100644 --- a/src/shogun/evaluation/TimeSeriesSplitting.h +++ b/src/shogun/evaluation/TimeSeriesSplitting.h @@ -90,6 +90,11 @@ namespace shogun private: void init(); + + #ifndef SWIG + public: + static constexpr std::string_view kMinSubsetSize = "min_subset_size"; + #endif }; } diff --git a/src/shogun/neuralnets/DeepAutoencoder.cpp b/src/shogun/neuralnets/DeepAutoencoder.cpp index fda2689ad1b..c44fe01e665 100644 --- a/src/shogun/neuralnets/DeepAutoencoder.cpp +++ b/src/shogun/neuralnets/DeepAutoencoder.cpp @@ -321,6 +321,5 @@ void DeepAutoencoder::init() "Pre-training L1 regularization coeff"); SG_ADD(&m_do_pretrain, "do_pretrain", "Whether to pretrain with relevant parameters"); - SG_ADD(&m_sigma, "m_sigma", "Initialization Sigma"); } diff --git a/src/shogun/neuralnets/DeepAutoencoder.h b/src/shogun/neuralnets/DeepAutoencoder.h index 87e9b87d8bf..7715b818c6a 100644 --- a/src/shogun/neuralnets/DeepAutoencoder.h +++ b/src/shogun/neuralnets/DeepAutoencoder.h @@ -276,6 +276,7 @@ class DeepAutoencoder : public Autoencoder /** Standard deviation of the gaussian used to initialize the * parameters */ float64_t m_sigma; + }; } #endif