Add AdaBoostPy
This commit is contained in:
@@ -68,7 +68,7 @@ endif (ENABLE_CLANG_TIDY)
|
||||
# --------------------------------------------------
|
||||
# find_library(BayesNet NAMES libBayesNet BayesNet libBayesNet.a PATHS ${PyClassifiers_SOURCE_DIR}/../lib/lib REQUIRED)
|
||||
# find_path(Bayesnet_INCLUDE_DIRS REQUIRED NAMES bayesnet PATHS ${PyClassifiers_SOURCE_DIR}/../lib/include)
|
||||
find_library(bayesnet NAMES libbayesnet bayesnet libbayesnet.a PATHS ../lib REQUIRED)
|
||||
find_library(bayesnet NAMES libbayesnet bayesnet libbayesnet.a ${PyClassifiers_SOURCE_DIR}/../lib/lib REQUIRED)
|
||||
find_path(Bayesnet_INCLUDE_DIRS REQUIRED NAMES bayesnet PATHS ../lib/include)
|
||||
message(STATUS "BayesNet=${bayesnet}")
|
||||
message(STATUS "Bayesnet_INCLUDE_DIRS=${Bayesnet_INCLUDE_DIRS}")
|
||||
|
@@ -1,19 +1,19 @@
|
||||
#include "AdaBoost.h"
|
||||
#include "AdaBoostPy.h"
|
||||
|
||||
namespace pywrap {
|
||||
AdaBoost::AdaBoost() : PyClassifier("sklearn.ensemble", "AdaBoostClassifier", true)
|
||||
AdaBoostPy::AdaBoostPy() : PyClassifier("sklearn.ensemble", "AdaBoostClassifier", true)
|
||||
{
|
||||
validHyperparameters = { "n_estimators", "n_jobs", "random_state" };
|
||||
}
|
||||
int AdaBoost::getNumberOfEdges() const
|
||||
int AdaBoostPy::getNumberOfEdges() const
|
||||
{
|
||||
return callMethodSumOfItems("get_n_leaves");
|
||||
}
|
||||
int AdaBoost::getNumberOfStates() const
|
||||
int AdaBoostPy::getNumberOfStates() const
|
||||
{
|
||||
return callMethodSumOfItems("get_depth");
|
||||
}
|
||||
int AdaBoost::getNumberOfNodes() const
|
||||
int AdaBoostPy::getNumberOfNodes() const
|
||||
{
|
||||
return callMethodSumOfItems("node_count");
|
||||
}
|
@@ -1,12 +1,12 @@
|
||||
#ifndef ADABOOST_H
|
||||
#define ADABOOST_H
|
||||
#ifndef ADABOOSTPY_H
|
||||
#define ADABOOSTPY_H
|
||||
#include "PyClassifier.h"
|
||||
|
||||
namespace pywrap {
|
||||
class AdaBoost : public PyClassifier {
|
||||
class AdaBoostPy : public PyClassifier {
|
||||
public:
|
||||
AdaBoost();
|
||||
~AdaBoost() = default;
|
||||
AdaBoostPy();
|
||||
~AdaBoostPy() = default;
|
||||
int getNumberOfEdges() const override;
|
||||
int getNumberOfStates() const override;
|
||||
int getNumberOfNodes() const override;
|
@@ -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 AdaBoost.cc PyClassifier.cc PyWrap.cc)
|
||||
add_library(PyClassifiers ODTE.cc STree.cc SVC.cc RandomForest.cc XGBoost.cc AdaBoostPy.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)
|
@@ -10,7 +10,7 @@
|
||||
#include "pyclfs/SVC.h"
|
||||
#include "pyclfs/RandomForest.h"
|
||||
#include "pyclfs/XGBoost.h"
|
||||
#include "pyclfs/AdaBoost.h"
|
||||
#include "pyclfs/AdaBoostPy.h"
|
||||
#include "pyclfs/ODTE.h"
|
||||
#include "TestUtils.h"
|
||||
#include <iostream>
|
||||
@@ -63,7 +63,7 @@ TEST_CASE("Test Python Classifiers score", "[PyClassifiers]")
|
||||
TEST_CASE("AdaBoostClassifier", "[PyClassifiers]")
|
||||
{
|
||||
auto raw = RawDatasets("iris", false);
|
||||
auto clf = pywrap::AdaBoost();
|
||||
auto clf = pywrap::AdaBoostPy();
|
||||
clf.fit(raw.Xt, raw.yt, raw.featurest, raw.classNamet, raw.statest);
|
||||
clf.setHyperparameters(nlohmann::json::parse("{ \"n_estimators\": 100 }"));
|
||||
auto score = clf.score(raw.Xt, raw.yt);
|
||||
|
Reference in New Issue
Block a user