actableai.tasks.association_rules.AAIAssociationRulesTask(use_ray: bool = False, ray_params: Optional[dict] = None, optimize_memory_allocation: bool = False, collect_memory_usage: bool = False, optimize_memory_allocation_nrmse_threshold: float = 0.2, max_memory_offset: float = 0.1, optimize_gpu_memory_allocation: bool = False, collect_gpu_memory_usage: bool = False, optimize_gpu_memory_allocation_nrmse_threshold: float = 0.2, max_gpu_memory_offset: float = 0.1, resources_predictors_actor: Optional[ray.actor.ActorHandle] = None, cpu_percent_interval: float = 1.0, return_model: bool = True, upload_model: bool = False, s3_models_bucket: Optional[str] = None, s3_models_prefix: Optional[str] = None, seed=None)¶Bases: actableai.tasks.base.AAITask
run(df: pandas.core.frame.DataFrame, group_by: List[str], items: str, frequent_method: str = 'fpgrowth', min_support: float = 0.5, association_metric: str = 'confidence', min_association_metric: float = 0.5, graph_top_k: int = 10) Dict¶Generate association rules from a dataframe.
Examples
>>> import pandas as pd
>>> from actableai.tasks.association_rules import AssociationRulesTask
>>> df = pd.read_csv("path/to/data.csv")
>>> result = AssociationRulesTask().run(
... df,
... group_by=["order_id", "customer_id"],
... items="product_id",
... )
>>> result["association_rules"]
actableai.tasks.autogluon.AAIAutogluonTask(use_ray: bool = False, ray_params: Optional[dict] = None, optimize_memory_allocation: bool = False, collect_memory_usage: bool = False, optimize_memory_allocation_nrmse_threshold: float = 0.2, max_memory_offset: float = 0.1, optimize_gpu_memory_allocation: bool = False, collect_gpu_memory_usage: bool = False, optimize_gpu_memory_allocation_nrmse_threshold: float = 0.2, max_gpu_memory_offset: float = 0.1, resources_predictors_actor: Optional[ray.actor.ActorHandle] = None, cpu_percent_interval: float = 1.0, return_model: bool = True, upload_model: bool = False, s3_models_bucket: Optional[str] = None, s3_models_prefix: Optional[str] = None, seed=None)¶Bases: actableai.tasks.base.AAITunableTask, abc.ABC
get_available_models(problem_type: str, explain_samples: bool, gpu: bool = False, ag_automm_enabled: bool = False, tabpfn_enabled: bool = False, causal_inference: bool = False) List[actableai.models.autogluon.params.base.Model]¶Get list of available models for the given problem type.
List of available models
get_base_hyperparameters_space(num_class: int, dataset_len: int, problem_type: str, device: str = 'cpu', explain_samples: bool = False, ag_automm_enabled: bool = False, tabpfn_enabled: bool = False, causal_inference: bool = False) actableai.parameters.models.OptionsSpace[Parameters]¶Return the hyperparameters space of the task.
Default models and settings. options: Display name and hyperparameters of the available models
default
actableai.tasks.base.AAITask(use_ray: bool = False, ray_params: Optional[dict] = None, optimize_memory_allocation: bool = False, collect_memory_usage: bool = False, optimize_memory_allocation_nrmse_threshold: float = 0.2, max_memory_offset: float = 0.1, optimize_gpu_memory_allocation: bool = False, collect_gpu_memory_usage: bool = False, optimize_gpu_memory_allocation_nrmse_threshold: float = 0.2, max_gpu_memory_offset: float = 0.1, resources_predictors_actor: Optional[ray.actor.ActorHandle] = None, cpu_percent_interval: float = 1.0, return_model: bool = True, upload_model: bool = False, s3_models_bucket: Optional[str] = None, s3_models_prefix: Optional[str] = None, seed=None)¶Bases: abc.ABC
Base abstract class to represent a Actable AI Task
get_parameters() actableai.parameters.parameters.Parameters¶run(*args, **kwargs)¶Abstract method called to run the task
run_with_ray_remote(task: actableai.tasks.TaskType) Callable¶Method to run a specific task with ray remote (used as a decorator)
actableai.tasks.base.AAITunableTask(use_ray: bool = False, ray_params: Optional[dict] = None, optimize_memory_allocation: bool = False, collect_memory_usage: bool = False, optimize_memory_allocation_nrmse_threshold: float = 0.2, max_memory_offset: float = 0.1, optimize_gpu_memory_allocation: bool = False, collect_gpu_memory_usage: bool = False, optimize_gpu_memory_allocation_nrmse_threshold: float = 0.2, max_gpu_memory_offset: float = 0.1, resources_predictors_actor: Optional[ray.actor.ActorHandle] = None, cpu_percent_interval: float = 1.0, return_model: bool = True, upload_model: bool = False, s3_models_bucket: Optional[str] = None, s3_models_prefix: Optional[str] = None, seed=None)¶Bases: actableai.tasks.base.AAITask, abc.ABC
Base abstract class to represent a Tunable Actable AI Task.
get_hyperparameters_space(*args, **kwargs) actableai.parameters.models.OptionsSpace[Parameters]¶Return the hyperparameters space oof the task.
actableai.tasks.bayesian_regression.AAIBayesianRegressionTask(use_ray: bool = False, ray_params: Optional[dict] = None, optimize_memory_allocation: bool = False, collect_memory_usage: bool = False, optimize_memory_allocation_nrmse_threshold: float = 0.2, max_memory_offset: float = 0.1, optimize_gpu_memory_allocation: bool = False, collect_gpu_memory_usage: bool = False, optimize_gpu_memory_allocation_nrmse_threshold: float = 0.2, max_gpu_memory_offset: float = 0.1, resources_predictors_actor: Optional[ray.actor.ActorHandle] = None, cpu_percent_interval: float = 1.0, return_model: bool = True, upload_model: bool = False, s3_models_bucket: Optional[str] = None, s3_models_prefix: Optional[str] = None, seed=None)¶Bases: actableai.tasks.base.AAITask
run(df: pandas.core.frame.DataFrame, features: List[str], target: str, priors: Optional[Dict] = None, prediction_quantile_low: int = 5, prediction_quantile_high: int = 95, trials: int = 1, polynomial_degree: int = 1, validation_split: int = 20, pdf_steps: int = 100, predict_steps: int = 100, normalize: bool = False) Dict¶A task to run a Bayesian Regression on features w.r.t to target
Examples
>>> df = pd.read_csv("path/to/dataframe")
>>> result = AAIBayesianRegressionTask(
... df,
... ["feature1", "feature2", "feature3"],
... "target"
>>> )
>>> result
actableai.tasks.causal_discovery.AAICausalDiscoveryTask(use_ray: bool = False, ray_params: Optional[dict] = None, optimize_memory_allocation: bool = False, collect_memory_usage: bool = False, optimize_memory_allocation_nrmse_threshold: float = 0.2, max_memory_offset: float = 0.1, optimize_gpu_memory_allocation: bool = False, collect_gpu_memory_usage: bool = False, optimize_gpu_memory_allocation_nrmse_threshold: float = 0.2, max_gpu_memory_offset: float = 0.1, resources_predictors_actor: Optional[ray.actor.ActorHandle] = None, cpu_percent_interval: float = 1.0, return_model: bool = True, upload_model: bool = False, s3_models_bucket: Optional[str] = None, s3_models_prefix: Optional[str] = None, seed=None)¶Bases: actableai.tasks.base.AAITask
run(algo: str, payload: actableai.causal.discover.algorithms.payloads.CausalDiscoveryPayload, progress_callback: Optional[Callable] = None) Dict¶Run a causal discovery algorithm.
The causal graph produced by the algorithm.
CausalGraph
ValueError – If the algorithm is not supported.
actableai.tasks.causal_inference.AAICausalInferenceTask(use_ray: bool = False, ray_params: Optional[dict] = None, optimize_memory_allocation: bool = False, collect_memory_usage: bool = False, optimize_memory_allocation_nrmse_threshold: float = 0.2, max_memory_offset: float = 0.1, optimize_gpu_memory_allocation: bool = False, collect_gpu_memory_usage: bool = False, optimize_gpu_memory_allocation_nrmse_threshold: float = 0.2, max_gpu_memory_offset: float = 0.1, resources_predictors_actor: Optional[ray.actor.ActorHandle] = None, cpu_percent_interval: float = 1.0, return_model: bool = True, upload_model: bool = False, s3_models_bucket: Optional[str] = None, s3_models_prefix: Optional[str] = None, seed=None)¶Bases: actableai.tasks.base.AAITask
get_estimator_parameters(Y: numpy.ndarray, T: numpy.ndarray, has_categorical_treatment: bool, has_binary_outcome: bool, is_single_binary_treatment: bool, common_causes_and_effect_modifiers: List) pydantic.generics.OptionsParameter[Parameters]¶TODO: Finalise Documentation
The parameter options space of the estimator
get_hyperparameters(pd_table: pandas.core.frame.DataFrame, treatments: List, outcomes: List, device: str, dataset_len: Union[int, None, str] = 'auto', num_class: Union[int, None, str] = 'auto', has_categorical_treatment: Union[bool, None, str] = 'auto', is_single_binary_outcome: Union[bool, None, str] = 'auto', effect_modifiers: Optional[List] = [], common_causes: Optional[List] = [], log_treatment: Optional[bool] = False, log_outcome: Optional[bool] = False, positive_outcome_value=None) actableai.parameters.parameters.Parameters¶Get hyperparameters of the outcomes model and treatments model (for Double ML estimators)
Parameters of the outcomes model and treatments model
get_hyperparameters_t(has_categorical_treatment: bool, pd_table: pandas.core.frame.DataFrame, device: str, label_t: str, dataset_len: Union[int, None, str] = 'auto', num_class: Union[int, None, str] = 'auto')¶Get hyperparameters for treatments model
The hyperparameters space task_t: The regression/classification task
hyperparameters_space_t
get_hyperparameters_y(is_single_binary_outcome: bool, pd_table: pandas.core.frame.DataFrame, device: str, dataset_len: Union[int, None, str] = 'auto')¶Get hyperparameters for outcomes model
The hyperparameters space task_y: The regression/classification task
hyperparameters_space_y
get_parameters(pd_table: pandas.core.frame.DataFrame, treatments: List, outcomes: List, Y: Union[numpy.ndarray, None, str] = 'auto', T: Union[numpy.ndarray, None, str] = 'auto', has_categorical_treatment: Union[bool, None, str] = 'auto', is_single_binary_outcome: Union[bool, None, str] = 'auto', is_single_binary_treatment: Union[bool, None, str] = 'auto', effect_modifiers: Optional[List] = [], common_causes: Optional[List] = [], log_treatment: Optional[bool] = False, log_outcome: Optional[bool] = False, positive_outcome_value=None) actableai.parameters.parameters.Parameters¶Get parameters of the estimator
Parameters of the estimator
run(pd_table: pandas.core.frame.DataFrame, treatments: List, outcomes: List, effect_modifiers: Optional[List] = None, common_causes: Optional[List] = None, instrumental_variables: Optional[List] = None, controls: Optional[dict] = None, positive_outcome_value=None, target_units: Optional[str] = 'ate', alpha: Optional[float] = 0.05, tree_max_depth: Optional[int] = 3, log_treatment: Optional[bool] = False, log_outcome: Optional[bool] = False, model_directory: Optional[Union[str, pathlib.Path]] = None, ag_presets: str = 'medium_quality_faster_train', model_params: Optional[List] = None, rscorer: Optional[List] = None, feature_importance: bool = False, seed: int = 123, num_gpus: Union[int, str] = 0, drop_unique: bool = True, drop_useless_features: bool = False, parameters_estimator: Optional[dict] = {}, num_trials: int = 1)¶Causal analysis task
Options for the estimator to be used. This needs to be defined in the key ‘estimator’. For DoubleML estimators, the following keys can also be specified:
- ’hyperparameters_t’: AutoGluon hyperparameters for the tabular
- predictor model(s) trained on the treatments
- ’hyperparameters_y’: AutoGluon hyperparameters for the tabular
- predictor model(s) trained on the outcomes
Examples
>>> df = pd.read_csv("path/to/csv")
>>> result = infer_causal(
... df,
... treatments=["feature1", "feature2"],
... outcomes=["feature3", "feature4"],
... effect_modifiers=["feature5", "feature6"]
... )
>>> result
actableai.tasks.causal_inference.LogCategoricalOutcomeNotAllowed¶Bases: ValueError
actableai.tasks.causal_inference.LogCategoricalTreatmentNotAllowed¶Bases: ValueError
actableai.tasks.causal_inference.convert_categorical_to_numeric(df, columns)¶actableai.tasks.classification.AAIClassificationTask(use_ray: bool = False, ray_params: Optional[dict] = None, optimize_memory_allocation: bool = False, collect_memory_usage: bool = False, optimize_memory_allocation_nrmse_threshold: float = 0.2, max_memory_offset: float = 0.1, optimize_gpu_memory_allocation: bool = False, collect_gpu_memory_usage: bool = False, optimize_gpu_memory_allocation_nrmse_threshold: float = 0.2, max_gpu_memory_offset: float = 0.1, resources_predictors_actor: Optional[ray.actor.ActorHandle] = None, cpu_percent_interval: float = 1.0, return_model: bool = True, upload_model: bool = False, s3_models_bucket: Optional[str] = None, s3_models_prefix: Optional[str] = None, seed=None)¶Bases: actableai.tasks.autogluon.AAIAutogluonTask
AAIClassificationTask class for classification
compute_problem_type(df: pandas.core.frame.DataFrame, target: str, num_class: Optional[int] = None) str¶Determine the problem type (‘multiclass’ or ‘binary’), using the values in the target column
‘multiclass’ or ‘binary’
String representation of the problem type
get_hyperparameters_space(num_class: int, dataset_len: int, device: str = 'cpu', explain_samples: bool = False, ag_automm_enabled: bool = False, tabpfn_enabled: bool = False, causal_inference: bool = False, name: str = 'classification_model_space', display_name: str = 'Classification Model Space', description: str = 'The space of available and default classification models and parameters.') actableai.parameters.models.OptionsSpace[Parameters]¶Return the hyperparameters space of the task.
Hyperparameters space represented as a ModelSpace.
get_num_class(df: pandas.core.frame.DataFrame, target: str) int¶Determine the number of classes of the target.
An integer representing the number of classes of the target column.
run(df: pandas.core.frame.DataFrame, target: str, features: Optional[List[str]] = None, biased_groups: Optional[List[str]] = None, debiased_features: Optional[List[str]] = None, validation_ratio: float = 0.2, positive_label: Optional[str] = None, explain_samples: bool = False, model_directory: Optional[str] = None, presets: str = 'medium_quality_faster_train', hyperparameters: Optional[Dict] = None, train_task_params: Optional[Dict] = None, kfolds: int = 1, cross_validation_max_concurrency: int = 1, residuals_hyperparameters: Optional[Dict] = None, drop_duplicates: bool = True, num_gpus: float = 0, eval_metric: str = 'accuracy', time_limit: Optional[int] = None, drop_unique: bool = True, drop_useless_features: bool = True, split_by_datetime: bool = False, datetime_column: Optional[str] = None, ag_automm_enabled=False, refit_full=False, feature_prune=True, feature_prune_time_limit: Optional[float] = None, intervention_run_params: Optional[Dict] = None, run_pdp: bool = True, run_ice: bool = True, pdp_ice_grid_resolution: Optional[int] = 100, pdp_ice_n_samples: Optional[int] = 100, tabpfn_model_directory: Optional[str] = None, num_trials: int = 1, infer_limit: float = 60, infer_limit_batch_size: int = 100) Dict¶Run this classification task and return results.
Exception – If the target has less than 2 unique values.
Examples
>>> df = pd.read_csv("path/to/dataframe")
>>> AAIClassificationTask(df, ["feature1", "feature2", "feature3"], "target")
actableai.tasks.clustering.AAIClusteringTask(use_ray: bool = False, ray_params: Optional[dict] = None, optimize_memory_allocation: bool = False, collect_memory_usage: bool = False, optimize_memory_allocation_nrmse_threshold: float = 0.2, max_memory_offset: float = 0.1, optimize_gpu_memory_allocation: bool = False, collect_gpu_memory_usage: bool = False, optimize_gpu_memory_allocation_nrmse_threshold: float = 0.2, max_gpu_memory_offset: float = 0.1, resources_predictors_actor: Optional[ray.actor.ActorHandle] = None, cpu_percent_interval: float = 1.0, return_model: bool = True, upload_model: bool = False, s3_models_bucket: Optional[str] = None, s3_models_prefix: Optional[str] = None, seed=None)¶Bases: actableai.tasks.base.AAITask
Clustering Task
get_parameters() actableai.parameters.parameters.Parameters¶run(df: pandas.core.frame.DataFrame, features: Optional[List[str]] = None, num_clusters: int = 2, drop_low_info: bool = False, explain_samples: bool = False, cluster_explain_max_depth=20, cluster_explain_min_impurity_decrease=0.001, cluster_explain_min_samples_leaf=0.001, cluster_explain_min_precision=0.8, max_train_samples: Optional[int] = None, parameters: Dict[str, Any] = None) Dict¶Runs a clustering analysis on df
Examples
>>> df = pd.read_csv("path/to/dataframe")
>>> result = AAIClusteringTask().run(
... df,
... ["feature1", "feature2", "feature3"]
... )
>>> result
actableai.tasks.correlation.AAICorrelationTask(use_ray: bool = False, ray_params: Optional[dict] = None, optimize_memory_allocation: bool = False, collect_memory_usage: bool = False, optimize_memory_allocation_nrmse_threshold: float = 0.2, max_memory_offset: float = 0.1, optimize_gpu_memory_allocation: bool = False, collect_gpu_memory_usage: bool = False, optimize_gpu_memory_allocation_nrmse_threshold: float = 0.2, max_gpu_memory_offset: float = 0.1, resources_predictors_actor: Optional[ray.actor.ActorHandle] = None, cpu_percent_interval: float = 1.0, return_model: bool = True, upload_model: bool = False, s3_models_bucket: Optional[str] = None, s3_models_prefix: Optional[str] = None, seed=None)¶Bases: actableai.tasks.base.AAITask
Correlation Task
run(df: pandas.core.frame.DataFrame, target_column: str, target_value: Optional[str] = None, kde_steps: int = 100, lr_steps: int = 100, control_columns: Optional[List[str]] = None, control_values: Optional[List[str]] = None, correlation_threshold: float = 0.05, p_value: float = 0.05, use_bonferroni: bool = False, top_k: int = 20) Dict¶Runs a correlation analysis on Input DataFrame
Examples
>>> df = pd.read_csv("path/to/dataframe")
>>> result = AAICorrelationTask().run(
... df,
... ["feature1", "feature2", "feature3"],
... "target"
... )
actableai.tasks.data_imputation.AAIDataImputationTask(use_ray: bool = False, ray_params: Optional[dict] = None, optimize_memory_allocation: bool = False, collect_memory_usage: bool = False, optimize_memory_allocation_nrmse_threshold: float = 0.2, max_memory_offset: float = 0.1, optimize_gpu_memory_allocation: bool = False, collect_gpu_memory_usage: bool = False, optimize_gpu_memory_allocation_nrmse_threshold: float = 0.2, max_gpu_memory_offset: float = 0.1, resources_predictors_actor: Optional[ray.actor.ActorHandle] = None, cpu_percent_interval: float = 1.0, return_model: bool = True, upload_model: bool = False, s3_models_bucket: Optional[str] = None, s3_models_prefix: Optional[str] = None, seed=None)¶Bases: actableai.tasks.base.AAITask
run(df, rules: Tuple[str, str] = ('', ''), impute_nulls: bool = True, override_column_types: Dict = {}) Dict¶Impute the DataFrame df
Examples
>>> df = pd.read_csv("path/to/dataframe")
>>> result = AAIDataImputationTask().run(df)
>>> result
actableai.tasks.data_imputation.construct_rules(data)¶actableai.tasks.direct_causal.AAIDirectCausalFeatureSelection(use_ray: bool = False, ray_params: Optional[dict] = None, optimize_memory_allocation: bool = False, collect_memory_usage: bool = False, optimize_memory_allocation_nrmse_threshold: float = 0.2, max_memory_offset: float = 0.1, optimize_gpu_memory_allocation: bool = False, collect_gpu_memory_usage: bool = False, optimize_gpu_memory_allocation_nrmse_threshold: float = 0.2, max_gpu_memory_offset: float = 0.1, resources_predictors_actor: Optional[ray.actor.ActorHandle] = None, cpu_percent_interval: float = 1.0, return_model: bool = True, upload_model: bool = False, s3_models_bucket: Optional[str] = None, s3_models_prefix: Optional[str] = None, seed=None)¶Bases: actableai.tasks.base.AAITask
Search for direct causal features with DML.
run(df, target, features, max_concurrent_ci_tasks=4, positive_outcome_value=None, causal_inference_task_params=None, causal_inference_run_params=None)¶This function performs causal feature selection on a given dataset.
A dictionary containing the status, data and validations of the function.
dict
actableai.tasks.forecast.AAIForecastTask(use_ray: bool = False, ray_params: Optional[dict] = None, optimize_memory_allocation: bool = False, collect_memory_usage: bool = False, optimize_memory_allocation_nrmse_threshold: float = 0.2, max_memory_offset: float = 0.1, optimize_gpu_memory_allocation: bool = False, collect_gpu_memory_usage: bool = False, optimize_gpu_memory_allocation_nrmse_threshold: float = 0.2, max_gpu_memory_offset: float = 0.1, resources_predictors_actor: Optional[ray.actor.ActorHandle] = None, cpu_percent_interval: float = 1.0, return_model: bool = True, upload_model: bool = False, s3_models_bucket: Optional[str] = None, s3_models_prefix: Optional[str] = None, seed=None)¶Bases: actableai.tasks.base.AAITunableTask
Forecast (time series) Task
get_hyperparameters_space(dataset_len: int) actableai.parameters.models.OptionsSpace[Parameters]¶Return the hyperparameters space of the task.
run(df: pandas.core.frame.DataFrame, prediction_length: int, date_column: Optional[str] = None, predicted_columns: Optional[List[str]] = None, group_by: Optional[List[str]] = None, feature_columns: Optional[List[str]] = None, ray_tune_kwargs: Optional[Dict] = None, max_concurrent: int = 3, trials: int = 1, use_ray: bool = True, tune_samples: int = 20, refit_full: bool = True, verbose: int = 3, seed: int = 123, sampling_method: str = 'random', tuning_metric: str = 'mean_wQuantileLoss', seasonal_periods: Optional[List[int]] = None, hyperparameters: Dict = None) Dict[str, Any]¶Run time series forecasting task and return results.
Dictionary containing the results.
Dict
actableai.tasks.intervention.AAIInterventionTask(use_ray: bool = False, ray_params: Optional[dict] = None, optimize_memory_allocation: bool = False, collect_memory_usage: bool = False, optimize_memory_allocation_nrmse_threshold: float = 0.2, max_memory_offset: float = 0.1, optimize_gpu_memory_allocation: bool = False, collect_gpu_memory_usage: bool = False, optimize_gpu_memory_allocation_nrmse_threshold: float = 0.2, max_gpu_memory_offset: float = 0.1, resources_predictors_actor: Optional[ray.actor.ActorHandle] = None, cpu_percent_interval: float = 1.0, return_model: bool = True, upload_model: bool = False, s3_models_bucket: Optional[str] = None, s3_models_prefix: Optional[str] = None, seed=None)¶Bases: actableai.tasks.base.AAITask
run(df: pandas.core.frame.DataFrame, target: str, current_intervention_column: str, new_intervention_column: Optional[str] = None, expected_target: Optional[str] = None, common_causes: Optional[List[str]] = None, causal_cv: Optional[int] = None, causal_hyperparameters: Optional[Dict] = None, cate_alpha: Optional[float] = None, presets: Optional[str] = None, model_directory: Optional[str] = None, num_gpus: Optional[int] = 0, feature_importance: bool = True, drop_unique: bool = True, drop_useless_features: bool = True, only_fit: bool = False, tabpfn_model_directory: Optional[str] = None, cross_validation_hyperparameters: Optional[Dict] = None) Dict¶Run this intervention task and return the results.
Examples
>>> import pandas as pd
>>> from actableai.tasks.intervention import AAIInterventionTask
>>> df = pd.read_csv("path/to/csv")
>>> result = AAIInterventionTask().run(
... df,
... 'target_column',
... )
actableai.tasks.ocr.AAIOCRTask(use_ray: bool = False, ray_params: Optional[dict] = None, optimize_memory_allocation: bool = False, collect_memory_usage: bool = False, optimize_memory_allocation_nrmse_threshold: float = 0.2, max_memory_offset: float = 0.1, optimize_gpu_memory_allocation: bool = False, collect_gpu_memory_usage: bool = False, optimize_gpu_memory_allocation_nrmse_threshold: float = 0.2, max_gpu_memory_offset: float = 0.1, resources_predictors_actor: Optional[ray.actor.ActorHandle] = None, cpu_percent_interval: float = 1.0, return_model: bool = True, upload_model: bool = False, s3_models_bucket: Optional[str] = None, s3_models_prefix: Optional[str] = None, seed=None)¶Bases: actableai.tasks.base.AAITask
get_parameters() actableai.parameters.parameters.Parameters¶run(images: Iterable[PIL.Image.Image], parameters: Optional[Dict[str, Any]] = None)¶Abstract method called to run the task
actableai.tasks.regression.AAIRegressionTask(use_ray: bool = False, ray_params: Optional[dict] = None, optimize_memory_allocation: bool = False, collect_memory_usage: bool = False, optimize_memory_allocation_nrmse_threshold: float = 0.2, max_memory_offset: float = 0.1, optimize_gpu_memory_allocation: bool = False, collect_gpu_memory_usage: bool = False, optimize_gpu_memory_allocation_nrmse_threshold: float = 0.2, max_gpu_memory_offset: float = 0.1, resources_predictors_actor: Optional[ray.actor.ActorHandle] = None, cpu_percent_interval: float = 1.0, return_model: bool = True, upload_model: bool = False, s3_models_bucket: Optional[str] = None, s3_models_prefix: Optional[str] = None, seed=None)¶Bases: actableai.tasks.autogluon.AAIAutogluonTask
Regression task.
compute_problem_type(prediction_quantiles: Optional[List[int]]) str¶Determine the problem type (‘regression’ or ‘quantile’)
get_hyperparameters_space(dataset_len: int, prediction_quantiles: Optional[List[float]] = None, device: str = 'cpu', explain_samples: bool = False, ag_automm_enabled: bool = False, tabpfn_enabled: bool = False, causal_inference: bool = False, name: str = 'regression_model_space', display_name: str = 'Regression Model Space', description: str = 'The space of available and default regression models and parameters.') actableai.parameters.models.OptionsSpace[Parameters]¶Return the hyperparameters space of the task.
Hyperparameters space represented as a ModelSpace.
run(df: pandas.core.frame.DataFrame, target: str, features: Optional[List[str]] = None, biased_groups: Optional[List[str]] = None, debiased_features: Optional[List[str]] = None, eval_metric: str = 'r2', validation_ratio: float = 0.2, prediction_quantiles: Optional[List[float]] = None, explain_samples: bool = False, model_directory: Optional[str] = None, presets: str = 'medium_quality_faster_train', hyperparameters: Optional[dict] = None, train_task_params: Optional[dict] = None, kfolds: int = 1, cross_validation_max_concurrency: int = 1, residuals_hyperparameters: Optional[dict] = None, drop_duplicates: bool = True, return_residuals: bool = False, kde_steps: int = 10, num_gpus: Union[int, str] = 0, time_limit: Optional[int] = None, drop_unique: bool = True, drop_useless_features: bool = True, split_by_datetime: bool = False, datetime_column: Optional[str] = None, ag_automm_enabled: bool = False, refit_full: bool = False, feature_prune: bool = True, feature_prune_time_limit: Optional[float] = None, intervention_run_params: Optional[Dict] = None, causal_feature_selection: bool = False, causal_feature_selection_max_concurrent_tasks: int = 20, ci_for_causal_feature_selection_task_params: Optional[dict] = None, ci_for_causal_feature_selection_run_params: Optional[dict] = None, run_pdp: bool = True, run_ice: bool = True, pdp_ice_grid_resolution: Optional[int] = 100, pdp_ice_n_samples: Optional[int] = 100, num_trials: int = 1, infer_limit: float = 60, infer_limit_batch_size: int = 100) Dict[str, Any]¶Run this regression task and return results.
Examples
>>> import pandas as pd
>>> from actableai.tasks.regression import AAIRegressionTask
>>> df = pd.read_csv("path/to/csv")
>>> result = AAIRegressionTask().run(
... df,
... 'target_column',
... )
actableai.tasks.sentiment_analysis.AAISentimentAnalysisTask(use_ray: bool = False, ray_params: Optional[dict] = None, optimize_memory_allocation: bool = False, collect_memory_usage: bool = False, optimize_memory_allocation_nrmse_threshold: float = 0.2, max_memory_offset: float = 0.1, optimize_gpu_memory_allocation: bool = False, collect_gpu_memory_usage: bool = False, optimize_gpu_memory_allocation_nrmse_threshold: float = 0.2, max_gpu_memory_offset: float = 0.1, resources_predictors_actor: Optional[ray.actor.ActorHandle] = None, cpu_percent_interval: float = 1.0, return_model: bool = True, upload_model: bool = False, s3_models_bucket: Optional[str] = None, s3_models_prefix: Optional[str] = None, seed=None)¶Bases: actableai.tasks.base.AAITask
Sentiment Analysis Task
run(df: pandas.core.frame.DataFrame, target: str, batch_size: int = 32, rake_threshold=1.0) Dict¶Run a sentiment analysis on Input DataFrame
Examples
>>> df = pd.read_csv("path/to/dataframe")
>>> AAISentimentAnalysisTask().run(df, "target")
actableai.tasks.text_extraction.AAITextExtractionTask(use_ray: bool = False, ray_params: Optional[dict] = None, optimize_memory_allocation: bool = False, collect_memory_usage: bool = False, optimize_memory_allocation_nrmse_threshold: float = 0.2, max_memory_offset: float = 0.1, optimize_gpu_memory_allocation: bool = False, collect_gpu_memory_usage: bool = False, optimize_gpu_memory_allocation_nrmse_threshold: float = 0.2, max_gpu_memory_offset: float = 0.1, resources_predictors_actor: Optional[ray.actor.ActorHandle] = None, cpu_percent_interval: float = 1.0, return_model: bool = True, upload_model: bool = False, s3_models_bucket: Optional[str] = None, s3_models_prefix: Optional[str] = None, seed=None)¶Bases: actableai.tasks.base.AAITask
get_parameters() actableai.parameters.parameters.Parameters¶run(df: pandas.core.frame.DataFrame, document_name_column: str, text_column: str, default_openai_api_key: str, openai_rate_limit_per_minute: float = None, parameters: Optional[Dict[str, Any]] = None) Dict[str, Any]¶Abstract method called to run the task
actableai.tasks.TaskType(value)¶Bases: str, enum.Enum
Enum representing the different tasks available
ASSOCIATION_RULES = 'association_rules'¶BAYESIAN_REGRESSION = 'bayesian_regression'¶CAUSAL_DISCOVERY = 'causal_discovery'¶CAUSAL_INFERENCE = 'causal_inference'¶CLASSIFICATION = 'classification'¶CLASSIFICATION_TRAIN = 'classification_train'¶CLUSTERING = 'clustering'¶CORRELATION = 'correlation'¶DATA_IMPUTATION = 'data_imputation'¶DEC_ANCHOR_CLUSTERING = 'dec_anchor_clustering'¶DIRECT_CAUSAL_FEATURE_SELECTION = 'direct_causal_feature_selection'¶FORECAST = 'forecast'¶INTERVENTION = 'intervention'¶OCR = 'ocr'¶REGRESSION = 'regression'¶REGRESSION_TRAIN = 'regression_train'¶SENTIMENT_ANALYSIS = 'sentiment_analysis'¶TEXT_EXTRACTION = 'text_extraction'¶