palma package#

Subpackages#

Module contents#

class palma.ModelEvaluation(estimator)#

Bases: object

Attributes:
components
id
unfit_estimator

Methods

add

fit

add(component, name=None)#
property components#
fit(project: Project)#
property id: str#
property unfit_estimator#
class palma.ModelSelector(engine: str | BaseOptimizer, engine_parameters: Dict)#

Bases: object

Wrapper to optimizers selecting the best model for a Project.

The optimization can be launched with the start method. Once the optimization is done, the best model can be accessed as the best_model_ attribute.

Parameters:
- engine (str): Currently accepted values are “FlamlOptimizer” or

“AutoSklearnOptimizer” (the latter is deprecatted).

- engine_parameters (dict): parameters passed to the engine.
Attributes:
run_id

Methods

- start(project: Project): look for best model

property run_id: str#
start(project: Project)#
class palma.Project(project_name: str, problem: str)#

Bases: object

Represents a machine learning project with various components and logging capabilities.

Parameters:
project_name (str): The name of the project.
problem (str): The description of the machine learning problem.

Accepted values: “classification” or “regression”.

Attributes:
base_index (List[int]): List of base indices for the project.
components (dict): Dictionary containing project components.
date (datetime): The date and time when the project was created.
project_id (str): Unique identifier for the project.
is_started (bool): Indicates whether the project has been started.
problem (str): Description of the machine learning problem.
validation_strategy (ValidationStrategy): The validation strategy used in the project.
project_name (str): The name of the project.
study_name (str): The randomly generated study name.
X (pd.DataFrame): The feature data for the project.
y (pd.Series): The target variable for the project.

Methods

add(component: Component) -> None: Adds a component to the project.

start(X: pd.DataFrame, y: pd.Series, splitter, X_test=None, y_test=None, groups=None, **kwargs) -> None:

Starts the project with the specified data and validation strategy.

property X: DataFrame#
add(component: Component) None#
property components: dict#
property date: datetime#
property is_started: bool#
property problem: str#
property project_id: str#
property project_name: str#
start(X: DataFrame, y: Series, splitter, X_test=None, y_test=None, groups=None, **kwargs) None#
property study_name: str#
property validation_strategy: ValidationStrategy#
property y: Series#
palma.set_logger(_logger) None#
Parameters:
_logger: Logger

Define the logger to use.

>>> from palma import logger, set_logger
>>> from palma.components import FileSystemLogger
>>> from palma.components import MLFlowLogger
>>> set_logger(MLFlowLogger(uri="."))
>>> set_logger(FileSystemLogger(uri="."))