DEV: Restructure high level user interface
The high level interface should be restructured to the discussed solution.
cs = ClusterSpace(prim, cutoffs)
sc = StructureContainer(cs, supercells)
optimizer = Optimizer('LASSO',
sc.get_fit_data( structures=..., property=...),
train_fraction=0.75, test_fraction=0.25)
optimizer.train(seed=42)
model = Model(cs, optimizer.parameters)
This means we need the following core objects:
- Clusters (FCP minus parameters)
- StructureContainer (hiphive object minus parameters and train functionality)
- Optimizer (hiphive.train)
- Model (FCP)
And it would still be useful to have a FCM and FCS object.
Tasks:
-
Agree on this structure
✔ -
Agree on suitable name for core classes
✔ -
Restructure code
✔ - Update examples/tests
- Update doc/tutorial
Edited by Erik Fransson