Update to include BayesNet 1.0.3
This commit is contained in:
@@ -4,7 +4,7 @@ diagrams:
|
|||||||
Platform:
|
Platform:
|
||||||
type: class
|
type: class
|
||||||
glob:
|
glob:
|
||||||
- src/Platform/*.cc
|
- src/*.cc
|
||||||
- src/Command/*.cc
|
- src/Command/*.cc
|
||||||
using_namespace: platform
|
using_namespace: platform
|
||||||
include:
|
include:
|
||||||
@@ -25,7 +25,6 @@ diagrams:
|
|||||||
- platform
|
- platform
|
||||||
include:
|
include:
|
||||||
paths:
|
paths:
|
||||||
- src/Command
|
- src
|
||||||
- src/Platform
|
|
||||||
start_from:
|
start_from:
|
||||||
- function: main(int,const char **)
|
- function: main(int,const char **)
|
||||||
|
12
.vscode/launch.json
vendored
12
.vscode/launch.json
vendored
@@ -22,7 +22,7 @@
|
|||||||
"type": "lldb",
|
"type": "lldb",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"name": "experimentPy",
|
"name": "experimentPy",
|
||||||
"program": "${workspaceFolder}/build_debug/src/Platform/b_main",
|
"program": "${workspaceFolder}/build_debug/src/b_main",
|
||||||
"args": [
|
"args": [
|
||||||
"-m",
|
"-m",
|
||||||
"STree",
|
"STree",
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"type": "lldb",
|
"type": "lldb",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"name": "gridsearch",
|
"name": "gridsearch",
|
||||||
"program": "${workspaceFolder}/build_debug/src/Platform/b_grid",
|
"program": "${workspaceFolder}/build_debug/src/b_grid",
|
||||||
"args": [
|
"args": [
|
||||||
"-m",
|
"-m",
|
||||||
"KDB",
|
"KDB",
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
"type": "lldb",
|
"type": "lldb",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"name": "experimentBayes",
|
"name": "experimentBayes",
|
||||||
"program": "${workspaceFolder}/build_debug/src/Platform/b_main",
|
"program": "${workspaceFolder}/build_debug/src/b_main",
|
||||||
"args": [
|
"args": [
|
||||||
"-m",
|
"-m",
|
||||||
"TAN",
|
"TAN",
|
||||||
@@ -72,7 +72,7 @@
|
|||||||
"type": "lldb",
|
"type": "lldb",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"name": "best",
|
"name": "best",
|
||||||
"program": "${workspaceFolder}/build_debug/src/Platform/b_best",
|
"program": "${workspaceFolder}/build_debug/src/b_best",
|
||||||
"args": [
|
"args": [
|
||||||
"-m",
|
"-m",
|
||||||
"BoostAODE",
|
"BoostAODE",
|
||||||
@@ -86,7 +86,7 @@
|
|||||||
"type": "lldb",
|
"type": "lldb",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"name": "manage",
|
"name": "manage",
|
||||||
"program": "${workspaceFolder}/build_debug/src/Platform/b_manage",
|
"program": "${workspaceFolder}/build_debug/src/b_manage",
|
||||||
"args": [
|
"args": [
|
||||||
"-n",
|
"-n",
|
||||||
"20"
|
"20"
|
||||||
@@ -97,7 +97,7 @@
|
|||||||
"type": "lldb",
|
"type": "lldb",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"name": "list",
|
"name": "list",
|
||||||
"program": "${workspaceFolder}/build_debug/src/Platform/b_list",
|
"program": "${workspaceFolder}/build_debug/src/b_list",
|
||||||
"args": [],
|
"args": [],
|
||||||
//"cwd": "/Users/rmontanana/Code/discretizbench",
|
//"cwd": "/Users/rmontanana/Code/discretizbench",
|
||||||
"cwd": "${workspaceFolder}/../discretizbench",
|
"cwd": "${workspaceFolder}/../discretizbench",
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
cmake_minimum_required(VERSION 3.20)
|
cmake_minimum_required(VERSION 3.20)
|
||||||
|
|
||||||
project(Platform
|
project(Platform
|
||||||
VERSION 1.0.1
|
VERSION 1.0.2
|
||||||
DESCRIPTION "Platform to run Experiments with classifiers."
|
DESCRIPTION "Platform to run Experiments with classifiers."
|
||||||
HOMEPAGE_URL "https://github.com/rmontanana/platform"
|
HOMEPAGE_URL "https://github.com/rmontanana/platform"
|
||||||
LANGUAGES CXX
|
LANGUAGES CXX
|
||||||
@@ -78,11 +78,11 @@ message("XLSXWRITER_LIB=${XLSXWRITER_LIB}")
|
|||||||
|
|
||||||
# Subdirectories
|
# Subdirectories
|
||||||
# --------------
|
# --------------
|
||||||
set(Platform_MODULES ${Platform_SOURCE_DIR}/src/Platform/modules/)
|
set(Platform_MODULES ${Platform_SOURCE_DIR}/src/modules/)
|
||||||
add_subdirectory(config)
|
add_subdirectory(config)
|
||||||
add_subdirectory(src/Platform)
|
add_subdirectory(src)
|
||||||
add_subdirectory(sample)
|
add_subdirectory(sample)
|
||||||
file(GLOB Platform_SOURCES CONFIGURE_DEPENDS ${Platform_SOURCE_DIR}/src/Platform/*.cc)
|
file(GLOB Platform_SOURCES CONFIGURE_DEPENDS ${Platform_SOURCE_DIR}/src/*.cc)
|
||||||
|
|
||||||
# Testing
|
# Testing
|
||||||
# -------
|
# -------
|
||||||
|
2
Makefile
2
Makefile
@@ -47,7 +47,7 @@ install: ## Copy binary files to bin folder
|
|||||||
@echo "*******************************************"
|
@echo "*******************************************"
|
||||||
@for item in $(app_targets); do \
|
@for item in $(app_targets); do \
|
||||||
echo ">>> Copying $$item" ; \
|
echo ">>> Copying $$item" ; \
|
||||||
cp $(f_release)/src/Platform/$$item $(dest) ; \
|
cp $(f_release)/src/$$item $(dest) ; \
|
||||||
done
|
done
|
||||||
|
|
||||||
dependency: ## Create a dependency graph diagram of the project (build/dependency.png)
|
dependency: ## Create a dependency graph diagram of the project (build/dependency.png)
|
||||||
|
Submodule lib/PyClassifiers updated: 5a6d38e900...bd6f6f5837
Submodule lib/catch2 updated: bbba3d8a06...ed6ac8a629
@@ -1,10 +1,10 @@
|
|||||||
include_directories(
|
include_directories(
|
||||||
${Platform_SOURCE_DIR}/src/Platform/modules
|
${Platform_SOURCE_DIR}/src/modules
|
||||||
${Platform_SOURCE_DIR}/lib/PyClassifiers/src/PyClassifiers
|
${Platform_SOURCE_DIR}/lib/PyClassifiers/src
|
||||||
${Python3_INCLUDE_DIRS}
|
${Python3_INCLUDE_DIRS}
|
||||||
${Platform_SOURCE_DIR}/lib/Files
|
${Platform_SOURCE_DIR}/lib/Files
|
||||||
${Platform_SOURCE_DIR}/lib/argparse/include
|
${Platform_SOURCE_DIR}/lib/argparse/include
|
||||||
${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/src/BayesNet
|
${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/src
|
||||||
${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/lib/folding
|
${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/lib/folding
|
||||||
${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/lib/mdlp
|
${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/lib/mdlp
|
||||||
${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/lib/json/include
|
${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/lib/json/include
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
include_directories(
|
include_directories(
|
||||||
${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/src/BayesNet
|
${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/src
|
||||||
${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/lib/folding
|
${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/lib/folding
|
||||||
${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/lib/mdlp
|
${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/lib/mdlp
|
||||||
${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/lib/json/include
|
${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/lib/json/include
|
||||||
${Platform_SOURCE_DIR}/lib/PyClassifiers/src/PyClassifiers
|
${Platform_SOURCE_DIR}/lib/PyClassifiers/src
|
||||||
${Platform_MODULES}
|
${Platform_MODULES}
|
||||||
${Platform_SOURCE_DIR}/lib/Files
|
${Platform_SOURCE_DIR}/lib/Files
|
||||||
${Platform_SOURCE_DIR}/lib/mdlp
|
${Platform_SOURCE_DIR}/lib/mdlp
|
@@ -1,7 +1,7 @@
|
|||||||
if(ENABLE_TESTING)
|
if(ENABLE_TESTING)
|
||||||
set(TEST_PLATFORM "unit_tests_platform")
|
set(TEST_PLATFORM "unit_tests_platform")
|
||||||
include_directories(
|
include_directories(
|
||||||
${Platform_SOURCE_DIR}/src/Platform
|
${Platform_SOURCE_DIR}/src
|
||||||
${Platform_SOURCE_DIR}/lib/argparse/include
|
${Platform_SOURCE_DIR}/lib/argparse/include
|
||||||
${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/lib/mdlp
|
${Platform_SOURCE_DIR}/lib/PyClassifiers/lib/BayesNet/lib/mdlp
|
||||||
${Platform_SOURCE_DIR}/lib/Files
|
${Platform_SOURCE_DIR}/lib/Files
|
||||||
|
@@ -6,65 +6,11 @@
|
|||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include "TestUtils.h"
|
#include "TestUtils.h"
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
|
||||||
TEST_CASE("Test Python Classifiers score", "[PyClassifiers]")
|
TEST_CASE("Test Python Classifiers score", "[PyClassifiers]")
|
||||||
{
|
{
|
||||||
map <pair<std::string, std::string>, float> scores = {
|
std::string version = { project_version.begin(), project_version.end() };
|
||||||
// Diabetes
|
REQUIRE(version == "1.0.2");
|
||||||
{{"diabetes", "STree"}, 0.81641}, {{"diabetes", "ODTE"}, 0.84635}, {{"diabetes", "SVC"}, 0.76823}, {{"diabetes", "RandomForest"}, 1.0},
|
|
||||||
// Ecoli
|
|
||||||
{{"ecoli", "STree"}, 0.8125}, {{"ecoli", "ODTE"}, 0.84821}, {{"ecoli", "SVC"}, 0.89583}, {{"ecoli", "RandomForest"}, 1.0},
|
|
||||||
// Glass
|
|
||||||
{{"glass", "STree"}, 0.57009}, {{"glass", "ODTE"}, 0.77103}, {{"glass", "SVC"}, 0.35514}, {{"glass", "RandomForest"}, 1.0},
|
|
||||||
// Iris
|
|
||||||
{{"iris", "STree"}, 0.99333}, {{"iris", "ODTE"}, 0.98667}, {{"iris", "SVC"}, 0.97333}, {{"iris", "RandomForest"}, 1.0},
|
|
||||||
};
|
|
||||||
|
|
||||||
std::string file_name = GENERATE("glass", "iris", "ecoli", "diabetes");
|
|
||||||
auto raw = RawDatasets(file_name, false);
|
|
||||||
|
|
||||||
SECTION("Test STree classifier (" + file_name + ")")
|
|
||||||
{
|
|
||||||
auto clf = pywrap::STree();
|
|
||||||
clf.fit(raw.Xt, raw.yt, raw.featurest, raw.classNamet, raw.statest);
|
|
||||||
auto score = clf.score(raw.Xt, raw.yt);
|
|
||||||
REQUIRE(score == Catch::Approx(scores[{file_name, "STree"}]).epsilon(raw.epsilon));
|
|
||||||
}
|
|
||||||
SECTION("Test ODTE classifier (" + file_name + ")")
|
|
||||||
{
|
|
||||||
auto clf = pywrap::ODTE();
|
|
||||||
clf.fit(raw.Xt, raw.yt, raw.featurest, raw.classNamet, raw.statest);
|
|
||||||
auto score = clf.score(raw.Xt, raw.yt);
|
|
||||||
REQUIRE(score == Catch::Approx(scores[{file_name, "ODTE"}]).epsilon(raw.epsilon));
|
|
||||||
}
|
|
||||||
SECTION("Test SVC classifier (" + file_name + ")")
|
|
||||||
{
|
|
||||||
auto clf = pywrap::SVC();
|
|
||||||
clf.fit(raw.Xt, raw.yt, raw.featurest, raw.classNamet, raw.statest);
|
|
||||||
auto score = clf.score(raw.Xt, raw.yt);
|
|
||||||
REQUIRE(score == Catch::Approx(scores[{file_name, "SVC"}]).epsilon(raw.epsilon));
|
|
||||||
}
|
|
||||||
SECTION("Test RandomForest classifier (" + file_name + ")")
|
|
||||||
{
|
|
||||||
auto clf = pywrap::RandomForest();
|
|
||||||
clf.fit(raw.Xt, raw.yt, raw.featurest, raw.classNamet, raw.statest);
|
|
||||||
auto score = clf.score(raw.Xt, raw.yt);
|
|
||||||
REQUIRE(score == Catch::Approx(scores[{file_name, "RandomForest"}]).epsilon(raw.epsilon));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
TEST_CASE("Classifiers features", "[PyClassifiers]")
|
|
||||||
{
|
|
||||||
auto raw = RawDatasets("iris", true);
|
|
||||||
auto clf = pywrap::STree();
|
|
||||||
clf.fit(raw.Xt, raw.yt, raw.featurest, raw.classNamet, raw.statest);
|
|
||||||
REQUIRE(clf.getNumberOfNodes() == 3);
|
|
||||||
REQUIRE(clf.getNumberOfEdges() == 2);
|
|
||||||
}
|
|
||||||
TEST_CASE("Get num features & num edges", "[PyClassifiers]")
|
|
||||||
{
|
|
||||||
auto raw = RawDatasets("iris", true);
|
|
||||||
auto clf = pywrap::ODTE();
|
|
||||||
clf.fit(raw.Xt, raw.yt, raw.featurest, raw.classNamet, raw.statest);
|
|
||||||
REQUIRE(clf.getNumberOfNodes() == 10);
|
|
||||||
REQUIRE(clf.getNumberOfEdges() == 10);
|
|
||||||
}
|
}
|
Reference in New Issue
Block a user