Skip to content

Commit 4e7b887

Browse files
bugfix and refactoring
1 parent 01d634b commit 4e7b887

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+3488
-3686
lines changed

aplr/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
from .aplr import *
1+
from .aplr import *

aplr/aplr.py

Lines changed: 284 additions & 169 deletions
Large diffs are not rendered by default.

cpp/APLRClassifier.h

Lines changed: 73 additions & 76 deletions
Large diffs are not rendered by default.

cpp/APLRRegressor.h

Lines changed: 550 additions & 541 deletions
Large diffs are not rendered by default.

cpp/constants.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#pragma once
22
#include <limits>
33

4-
const double NAN_DOUBLE{ std::numeric_limits<double>::quiet_NaN() };
4+
const double NAN_DOUBLE{std::numeric_limits<double>::quiet_NaN()};
55
const int MAX_ABS_EXPONENT_TO_APPLY_ON_LINEAR_PREDICTOR_IN_LOGIT_MODEL{std::min(16, std::numeric_limits<double>::max_exponent10)};
66
const std::string MSE_LOSS_FUNCTION{"mse"};
77
const size_t MIN_CATEGORIES_IN_CLASSIFIER{2};

cpp/functions.h

Lines changed: 174 additions & 170 deletions
Large diffs are not rendered by default.

cpp/main.cpp

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -10,48 +10,48 @@ using namespace Eigen;
1010

1111
int main()
1212
{
13-
//Model
13+
// Model
1414
APLRRegressor model{APLRRegressor()};
15-
model.m=100;
16-
model.v=0.5;
17-
model.bins=300;
18-
model.n_jobs=0;
19-
model.loss_function="mse";
20-
model.verbosity=3;
21-
model.min_observations_in_split=10;
22-
//model.max_interaction_level=0;
23-
model.max_interaction_level=100;
24-
model.max_interactions=30;
25-
model.ineligible_boosting_steps_added=10;
26-
model.max_eligible_terms=5;
27-
28-
//Data
15+
model.m = 100;
16+
model.v = 0.5;
17+
model.bins = 300;
18+
model.n_jobs = 0;
19+
model.loss_function = "mse";
20+
model.verbosity = 3;
21+
model.min_observations_in_split = 10;
22+
// model.max_interaction_level=0;
23+
model.max_interaction_level = 100;
24+
model.max_interactions = 30;
25+
model.ineligible_boosting_steps_added = 10;
26+
model.max_eligible_terms = 5;
27+
28+
// Data
2929
MatrixXd X_train{load_csv_into_eigen_matrix<MatrixXd>("X_train.csv")};
30-
MatrixXd X_test{load_csv_into_eigen_matrix<MatrixXd>("X_test.csv")};
31-
VectorXd y_train{load_csv_into_eigen_matrix<MatrixXd>("y_train.csv")};
32-
VectorXd y_test{load_csv_into_eigen_matrix<MatrixXd>("y_test.csv")};
30+
MatrixXd X_test{load_csv_into_eigen_matrix<MatrixXd>("X_test.csv")};
31+
VectorXd y_train{load_csv_into_eigen_matrix<MatrixXd>("y_train.csv")};
32+
VectorXd y_test{load_csv_into_eigen_matrix<MatrixXd>("y_test.csv")};
3333

34-
VectorXd sample_weight{VectorXd::Constant(y_train.size(),1.0)};
35-
//VectorXd sample_weight{VectorXd::Random(y_train.size()).cwiseAbs()};
34+
VectorXd sample_weight{VectorXd::Constant(y_train.size(), 1.0)};
35+
// VectorXd sample_weight{VectorXd::Random(y_train.size()).cwiseAbs()};
3636

37-
//Fitting
37+
// Fitting
3838
clock_t time_req{clock()};
39-
//model.fit(X_train,y_train);
40-
model.fit(X_train,y_train,sample_weight);
41-
time_req=clock()-time_req;
42-
std::cout<<"time elapsed: "<<std::to_string(time_req)<<"\n\n";
43-
39+
// model.fit(X_train,y_train);
40+
model.fit(X_train, y_train, sample_weight);
41+
time_req = clock() - time_req;
42+
std::cout << "time elapsed: " << std::to_string(time_req) << "\n\n";
43+
4444
VectorXd predictions{model.predict(X_test)};
4545

46-
//Saving results
47-
save_as_csv_file("output.csv",predictions);
48-
std::cout<<"min validation_error "<<model.validation_error_steps.minCoeff()<<"\n\n";
49-
std::cout<<is_approximately_equal(model.validation_error_steps.minCoeff(),6.32895,0.00001)<<"\n";
46+
// Saving results
47+
save_as_csv_file("output.csv", predictions);
48+
std::cout << "min validation_error " << model.validation_error_steps.minCoeff() << "\n\n";
49+
std::cout << is_approximately_equal(model.validation_error_steps.minCoeff(), 6.32895, 0.00001) << "\n";
5050

51-
std::cout<<"mean prediction "<<predictions.mean()<<"\n\n";
52-
std::cout<<is_approximately_equal(predictions.mean(),23.587,0.0001)<<"\n";
51+
std::cout << "mean prediction " << predictions.mean() << "\n\n";
52+
std::cout << is_approximately_equal(predictions.mean(), 23.587, 0.0001) << "\n";
5353

54-
std::cout<<"best_m: "<<model.m<<"\n";
54+
std::cout << "best_m: " << model.m << "\n";
5555

56-
std::cout<<"test";
56+
std::cout << "test";
5757
}

cpp/pythonbinding.cpp

Lines changed: 172 additions & 177 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)