Minimal Training Example¶
Train surrogate models from a CSV dataset.
Dataset¶
Example CSV:
x1,x2→ input featuresy1,y2→ prediction targets
Single-Output Training¶
from pathlib import Path
from simml.surrogate.models import (
LinearModelConfig,
GaussianProcessModelConfig,
NeuralNetworkModelConfig,
)
from simml.surrogate.trainer import (
SurrogateTrainer,
)
trainer = SurrogateTrainer(
feature_names=["x1", "x2"],
target_names=["y1", "y2"],
model_configs=[
LinearModelConfig(),
GaussianProcessModelConfig(),
NeuralNetworkModelConfig(
hidden_layer_sizes=[64, 64],
),
],
n_folds=5,
)
results = trainer.run(
Path("dataset.csv")
)
trainer.print_best(
results,
trainer.target_names,
)
Saved models:
Multi-Output Training¶
from pathlib import Path
from simml.surrogate.models import (
LinearModelConfig,
GaussianProcessModelConfig,
)
from simml.surrogate.multi_trainer import (
MultiOutputSurrogateTrainer,
)
trainer = MultiOutputSurrogateTrainer(
feature_names=["x1", "x2"],
target_names=["y1", "y2"],
model_configs=[
LinearModelConfig(),
GaussianProcessModelConfig(),
],
)
results = trainer.run(
Path("dataset.csv")
)
trainer.print_best(results)
Saved models:
Loading a Saved Model¶
import joblib
import numpy as np
pipeline = joblib.load(
"models_saved/y1/Gaussian_Process.joblib"
)
X = np.array([
[0.15, 1.4],
])
prediction = pipeline.predict(X)
print(prediction)