def automl_fit( input: Path, output: Path = Path("automl.bin"), target: str = None, ignore_cols: List[int] = typer.Option([]), evaluation_timeout: int = 5 * Min, memory_limit: int = 4 * Gb, search_timeout: int = 60 * 60, pop_size: int = 20, iterations: int = 100, random_state: int = None, format: str = None, ): """ 🏃 Train an AutoML instance on a dataset. """ try: dataset = _load_dataset(format, input, ignore_cols) except ValueError as e: logger.error(f"⚠️ Error: {str(e)}") return if target is None: target = dataset.columns[-1] columns = [c for c in dataset.columns if c != target] X = dataset[columns].values y = dataset[target].values automl = AutoML( output=VectorCategorical(), search_kwargs=dict( evaluation_timeout=evaluation_timeout, memory_limit=memory_limit, search_timeout=search_timeout, pop_size=pop_size, ), random_state=random_state, search_iterations=iterations, ) console.print(f"🏃 Training on {len(dataset)} items.") automl.fit(X, y, logger=RichLogger()) with output.open("wb") as fp: automl.save(fp) console.print(f"💾 Saving model to [green]{output.absolute()}[/].")
def test_automl_save_load(): X, y = dummy.generate(seed=0) automl = AutoML(search_iterations=3, registry=[DummyAlgorithm]) automl.fit(X, y) pipe = automl.best_pipeline_ fp = BytesIO() automl.save(fp) fp.seek(0) automl2 = AutoML.load(fp) pipe2 = automl2.best_pipeline_ assert repr(pipe) == repr(pipe2)
def test_automl_save_load(): X, y = dummy.generate(seed=0) automl = AutoML( input=(MatrixContinuousDense, Supervised[VectorCategorical]), output=VectorCategorical, search_iterations=3, registry=[DummyAlgorithm], ) automl.fit(X, y) pipe = automl.best_pipeline_ fp = BytesIO() automl.save(fp) fp.seek(0) automl2 = AutoML.load(fp) pipe2 = automl2.best_pipeline_ assert repr(pipe) == repr(pipe2)
# import high-level API from autogoal.ml import AutoML from autogoal.kb import MatrixContinuousDense, CategoricalVector # load data from autogoal.datasets import cars X, y = cars.load() # instantiate AutoML class automl = AutoML( input=MatrixContinuousDense(), output=CategoricalVector(), # ... other parameters and constraints ) # fit the model automl.fit(X, y) # save the best model with open("model.bin", "wb") as fp: automl.save(fp)