Añade AdaBoost and tests

This commit is contained in:
2025-06-15 12:03:32 +02:00
parent 1678a17fc4
commit 2a99dce23b
9 changed files with 62 additions and 20 deletions

20
pyclfs/AdaBoost.cc Normal file
View File

@@ -0,0 +1,20 @@
#include "AdaBoost.h"
namespace pywrap {
AdaBoost::AdaBoost() : PyClassifier("sklearn.ensemble", "AdaBoostClassifier", true)
{
validHyperparameters = { "n_estimators", "n_jobs", "random_state" };
}
int AdaBoost::getNumberOfEdges() const
{
return callMethodSumOfItems("get_n_leaves");
}
int AdaBoost::getNumberOfStates() const
{
return callMethodSumOfItems("get_depth");
}
int AdaBoost::getNumberOfNodes() const
{
return callMethodSumOfItems("node_count");
}
} /* namespace pywrap */

15
pyclfs/AdaBoost.h Normal file
View File

@@ -0,0 +1,15 @@
#ifndef ADABOOST_H
#define ADABOOST_H
#include "PyClassifier.h"
namespace pywrap {
class AdaBoost : public PyClassifier {
public:
AdaBoost();
~AdaBoost() = default;
int getNumberOfEdges() const override;
int getNumberOfStates() const override;
int getNumberOfNodes() const override;
};
} /* namespace pywrap */
#endif /* ADABOOST_H */

View File

@@ -4,5 +4,5 @@ include_directories(
${PyClassifiers_SOURCE_DIR}/lib/json/include
${Bayesnet_INCLUDE_DIRS}
)
add_library(PyClassifiers ODTE.cc STree.cc SVC.cc RandomForest.cc XGBoost.cc PyClassifier.cc PyWrap.cc)
add_library(PyClassifiers ODTE.cc STree.cc SVC.cc RandomForest.cc XGBoost.cc AdaBoost.cc PyClassifier.cc PyWrap.cc)
target_link_libraries(PyClassifiers nlohmann_json::nlohmann_json ${Python3_LIBRARIES} "${TORCH_LIBRARIES}" ${LIBTORCH_PYTHON} Boost::boost Boost::python Boost::numpy)