From e22f26d07415ff99b592b024786e7d97ebe45969 Mon Sep 17 00:00:00 2001 From: Relintai Date: Fri, 10 Feb 2023 22:02:57 +0100 Subject: [PATCH] Fixed warnings in MLPPGaussianNB. --- mlpp/gaussian_nb/gaussian_nb.cpp | 26 ++++++++++++-------------- mlpp/gaussian_nb/gaussian_nb.h | 1 - 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/mlpp/gaussian_nb/gaussian_nb.cpp b/mlpp/gaussian_nb/gaussian_nb.cpp index 4d9c16c..399436e 100644 --- a/mlpp/gaussian_nb/gaussian_nb.cpp +++ b/mlpp/gaussian_nb/gaussian_nb.cpp @@ -13,26 +13,24 @@ #include #include +MLPPGaussianNB::MLPPGaussianNB(std::vector> p_inputSet, std::vector p_outputSet, int p_class_num) { + inputSet = p_inputSet; + outputSet = p_outputSet; + class_num = p_class_num; -MLPPGaussianNB::MLPPGaussianNB(std::vector> inputSet, std::vector outputSet, int class_num) : - inputSet(inputSet), outputSet(outputSet), class_num(class_num) { y_hat.resize(outputSet.size()); Evaluate(); - MLPPLinAlg alg; } std::vector MLPPGaussianNB::modelSetTest(std::vector> X) { std::vector y_hat; - for (int i = 0; i < X.size(); i++) { + for (uint32_t i = 0; i < X.size(); i++) { y_hat.push_back(modelTest(X[i])); } return y_hat; } real_t MLPPGaussianNB::modelTest(std::vector x) { - MLPPStat stat; - MLPPLinAlg alg; - real_t score[class_num]; real_t y_hat_i = 1; for (int i = class_num - 1; i >= 0; i--) { @@ -43,12 +41,12 @@ real_t MLPPGaussianNB::modelTest(std::vector x) { } real_t MLPPGaussianNB::score() { - MLPPUtilities util; + MLPPUtilities util; return util.performance(y_hat, outputSet); } void MLPPGaussianNB::Evaluate() { - MLPPStat stat; + MLPPStat stat; MLPPLinAlg alg; // Computing mu_k_y and sigma_k_y @@ -56,8 +54,8 @@ void MLPPGaussianNB::Evaluate() { sigma.resize(class_num); for (int i = class_num - 1; i >= 0; i--) { std::vector set; - for (int j = 0; j < inputSet.size(); j++) { - for (int k = 0; k < inputSet[j].size(); k++) { + for (uint32_t j = 0; j < inputSet.size(); j++) { + for (uint32_t k = 0; k < inputSet[j].size(); k++) { if (outputSet[j] == i) { set.push_back(inputSet[j][k]); } @@ -69,16 +67,16 @@ void MLPPGaussianNB::Evaluate() { // Priors priors.resize(class_num); - for (int i = 0; i < outputSet.size(); i++) { + for (uint32_t i = 0; i < outputSet.size(); i++) { priors[int(outputSet[i])]++; } priors = alg.scalarMultiply(real_t(1) / real_t(outputSet.size()), priors); - for (int i = 0; i < outputSet.size(); i++) { + for (uint32_t i = 0; i < outputSet.size(); i++) { real_t score[class_num]; real_t y_hat_i = 1; for (int j = class_num - 1; j >= 0; j--) { - for (int k = 0; k < inputSet[i].size(); k++) { + for (uint32_t k = 0; k < inputSet[i].size(); k++) { y_hat_i += std::log(priors[j] * (1 / sqrt(2 * M_PI * sigma[j] * sigma[j])) * exp(-(inputSet[i][k] * mu[j]) * (inputSet[i][k] * mu[j]) / (2 * sigma[j] * sigma[j]))); } score[j] = exp(y_hat_i); diff --git a/mlpp/gaussian_nb/gaussian_nb.h b/mlpp/gaussian_nb/gaussian_nb.h index 81258ae..e40f33e 100644 --- a/mlpp/gaussian_nb/gaussian_nb.h +++ b/mlpp/gaussian_nb/gaussian_nb.h @@ -12,7 +12,6 @@ #include - class MLPPGaussianNB { public: MLPPGaussianNB(std::vector> inputSet, std::vector outputSet, int class_num);