Convert InstanceFeatures into dataclass

This commit is contained in:
2021-04-05 20:02:24 -05:00
parent d79eec5da6
commit 94084e0669
7 changed files with 30 additions and 27 deletions

View File

@@ -12,7 +12,12 @@ from miplearn import LearningSolver, InternalSolver, Instance
from miplearn.classifiers import Classifier
from miplearn.classifiers.threshold import Threshold, MinProbabilityThreshold
from miplearn.components.lazy_static import StaticLazyConstraintsComponent
from miplearn.types import TrainingSample, Features, LearningSolveStats
from miplearn.types import (
TrainingSample,
Features,
LearningSolveStats,
InstanceFeatures,
)
@pytest.fixture
@@ -25,9 +30,10 @@ def sample() -> TrainingSample:
@pytest.fixture
def features() -> Features:
return Features(
instance={
"Lazy constraint count": 4,
},
instance=InstanceFeatures(
user_features=[0],
lazy_constraint_count=4,
),
constraints={
"c1": {
"Category": "type-a",

View File

@@ -9,7 +9,7 @@ from numpy.testing import assert_array_equal
from miplearn import GurobiPyomoSolver, LearningSolver, Regressor
from miplearn.components.objective import ObjectiveValueComponent
from miplearn.types import TrainingSample, Features
from miplearn.types import TrainingSample, Features, InstanceFeatures
from tests.fixtures.knapsack import get_knapsack_instance
import numpy as np
@@ -18,9 +18,9 @@ import numpy as np
@pytest.fixture
def features() -> Features:
return Features(
instance={
"User features": [1.0, 2.0],
}
instance=InstanceFeatures(
user_features=[1.0, 2.0],
)
)