:py:mod:`abacusai.api_class`
============================

.. py:module:: abacusai.api_class


Submodules
----------
.. toctree::
   :titlesonly:
   :maxdepth: 1

   abstract/index.rst
   batch_prediction/index.rst
   blob_input/index.rst
   dataset/index.rst
   document_retriever/index.rst
   enums/index.rst
   feature_group/index.rst
   model/index.rst
   project/index.rst
   python_functions/index.rst
   refresh/index.rst


Package Contents
----------------

Classes
~~~~~~~

.. autoapisummary::

   abacusai.api_class.ApiClass
   abacusai.api_class._ApiClassFactory
   abacusai.api_class.BatchPredictionArgs
   abacusai.api_class.AnomalyDetectionBatchPredictionArgs
   abacusai.api_class.AnomalyOutliersBatchPredictionArgs
   abacusai.api_class.ForecastingBatchPredictionArgs
   abacusai.api_class.NamedEntityExtractionBatchPredictionArgs
   abacusai.api_class.PersonalizationBatchPredictionArgs
   abacusai.api_class.PredictiveModelingBatchPredictionArgs
   abacusai.api_class.PretrainedModelsBatchPredictionArgs
   abacusai.api_class.SentenceBoundaryDetectionBatchPredictionArgs
   abacusai.api_class.ThemeAnalysisBatchPredictionArgs
   abacusai.api_class.ChatLLMBatchPredictionArgs
   abacusai.api_class._BatchPredictionArgsFactory
   abacusai.api_class.ApiClass
   abacusai.api_class.BlobInput
   abacusai.api_class.ApiClass
   abacusai.api_class.ParsingConfig
   abacusai.api_class.ApiClass
   abacusai.api_class.VectorStoreTextEncoder
   abacusai.api_class.VectorStoreConfig
   abacusai.api_class.DocumentRetrieverConfig
   abacusai.api_class.ApiEnum
   abacusai.api_class.ProblemType
   abacusai.api_class.RegressionObjective
   abacusai.api_class.RegressionTreeHPOMode
   abacusai.api_class.RegressionAugmentationStrategy
   abacusai.api_class.RegressionTargetTransform
   abacusai.api_class.RegressionTypeOfSplit
   abacusai.api_class.RegressionTimeSplitMethod
   abacusai.api_class.RegressionLossFunction
   abacusai.api_class.ExplainerType
   abacusai.api_class.SamplingMethodType
   abacusai.api_class.MergeMode
   abacusai.api_class.FillLogic
   abacusai.api_class.BatchSize
   abacusai.api_class.HolidayCalendars
   abacusai.api_class.ExperimentationMode
   abacusai.api_class.PersonalizationTrainingMode
   abacusai.api_class.PersonalizationObjective
   abacusai.api_class.ForecastingObjective
   abacusai.api_class.ForecastingFrequency
   abacusai.api_class.ForecastingDataSplitType
   abacusai.api_class.ForecastingLossFunction
   abacusai.api_class.ForecastingLocalScaling
   abacusai.api_class.ForecastingFillMethod
   abacusai.api_class.ForecastingQuanitlesExtensionMethod
   abacusai.api_class.NERObjective
   abacusai.api_class.NERModelType
   abacusai.api_class.NLPDocumentFormat
   abacusai.api_class.SentimentType
   abacusai.api_class.ClusteringImputationMethod
   abacusai.api_class.ConnectorType
   abacusai.api_class.PythonFunctionArgumentType
   abacusai.api_class.PythonFunctionOutputArgumentType
   abacusai.api_class.VectorStoreTextEncoder
   abacusai.api_class.LLMName
   abacusai.api_class.ApiClass
   abacusai.api_class._ApiClassFactory
   abacusai.api_class.SamplingConfig
   abacusai.api_class.NSamplingConfig
   abacusai.api_class.PercentSamplingConfig
   abacusai.api_class._SamplingConfigFactory
   abacusai.api_class.MergeConfig
   abacusai.api_class.LastNMergeConfig
   abacusai.api_class.TimeWindowMergeConfig
   abacusai.api_class._MergeConfigFactory
   abacusai.api_class.ApiClass
   abacusai.api_class._ApiClassFactory
   abacusai.api_class.TrainingConfig
   abacusai.api_class.PersonalizationTrainingConfig
   abacusai.api_class.RegressionTrainingConfig
   abacusai.api_class.ForecastingTrainingConfig
   abacusai.api_class.NamedEntityExtractionTrainingConfig
   abacusai.api_class.NaturalLanguageSearchTrainingConfig
   abacusai.api_class.ChatLLMTrainingConfig
   abacusai.api_class.SentenceBoundaryDetectionTrainingConfig
   abacusai.api_class.SentimentDetectionTrainingConfig
   abacusai.api_class.DocumentClassificationTrainingConfig
   abacusai.api_class.DocumentSummarizationTrainingConfig
   abacusai.api_class.DocumentVisualizationTrainingConfig
   abacusai.api_class.ClusteringTrainingConfig
   abacusai.api_class.ClusteringTimeseriesTrainingConfig
   abacusai.api_class.EventAnomalyTrainingConfig
   abacusai.api_class.CumulativeForecastingTrainingConfig
   abacusai.api_class.AnomalyDetectionTrainingConfig
   abacusai.api_class.ThemeAnalysisTrainingConfig
   abacusai.api_class.AIAgentTrainingConfig
   abacusai.api_class.CustomTrainedModelTrainingConfig
   abacusai.api_class.CustomAlgorithmTrainingConfig
   abacusai.api_class.OptimizationTrainingConfig
   abacusai.api_class._TrainingConfigFactory
   abacusai.api_class.ApiClass
   abacusai.api_class.FeatureMappingConfig
   abacusai.api_class.ProjectFeatureGroupTypeMappingsConfig
   abacusai.api_class.ApiClass
   abacusai.api_class.PythonFunctionArgument
   abacusai.api_class.OutputVariableMapping
   abacusai.api_class.ApiClass
   abacusai.api_class._ApiClassFactory
   abacusai.api_class.FeatureGroupExportConfig
   abacusai.api_class.FileConnectorExportConfig
   abacusai.api_class.DatabaseConnectorExportConfig
   abacusai.api_class._FeatureGroupExportConfigFactory




.. py:class:: ApiClass

   Bases: :py:obj:`abc.ABC`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: _upper_snake_case_keys
      :type: bool

      

   .. py:attribute:: _support_kwargs
      :type: bool

      

   .. py:method:: __post_init__()


   .. py:method:: _get_builder()
      :classmethod:


   .. py:method:: to_dict()

      Standardizes converting an ApiClass to dictionary.
      Keys of response dictionary are converted to camel case.
      This also validates the fields ( type, value, etc ) received in the dictionary.


   .. py:method:: from_dict(input_dict)
      :classmethod:



.. py:class:: _ApiClassFactory

   Bases: :py:obj:`abc.ABC`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: config_abstract_class

      

   .. py:attribute:: config_class_key

      

   .. py:attribute:: config_class_map

      

   .. py:method:: from_dict(config)
      :classmethod:



.. py:class:: BatchPredictionArgs

   Bases: :py:obj:`abacusai.api_class.abstract.ApiClass`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: _support_kwargs
      :type: bool

      

   .. py:attribute:: kwargs
      :type: dict

      

   .. py:attribute:: problem_type
      :type: abacusai.api_class.enums.ProblemType

      

   .. py:attribute:: name
      :type: str
      :value: 'batch_prediction_args'

      

   .. py:method:: _get_builder()
      :classmethod:



.. py:class:: AnomalyDetectionBatchPredictionArgs

   Bases: :py:obj:`BatchPredictionArgs`

   Batch Prediction Config for the ANOMALY_DETECTION problem type
   :param for_eval: If True, the test fold which was created during training and used for metrics calculation will be used as input data. These predictions are hence, used for model evaluation.
   :type for_eval: bool
   :param prediction_time_endpoint: The end point for predictions.
   :type prediction_time_endpoint: str
   :param prediction_time_range: Over what period of time should we make predictions (in seconds).
   :type prediction_time_range: int
   :param minimum_anomaly_score: Exclude results with an anomaly score (1 in x event) below this threshold. Range: [1, 1_000_000_000_000].
   :type minimum_anomaly_score: int
   :param summary_mode: Only show top anomalies per ID.
   :type summary_mode: bool
   :param attach_raw_data: Return raw data along with anomalies.
   :type attach_raw_data: bool
   :param small_batch: Size of batch data guaranteed to be small.
   :type small_batch: bool

   .. py:attribute:: for_eval
      :type: bool

      

   .. py:attribute:: prediction_time_endpoint
      :type: str

      

   .. py:attribute:: prediction_time_range
      :type: int

      

   .. py:attribute:: minimum_anomaly_score
      :type: int

      

   .. py:attribute:: summary_mode
      :type: bool

      

   .. py:attribute:: attach_raw_data
      :type: bool

      

   .. py:attribute:: small_batch
      :type: bool

      

   .. py:method:: __post_init__()



.. py:class:: AnomalyOutliersBatchPredictionArgs

   Bases: :py:obj:`BatchPredictionArgs`

   Batch Prediction Config for the ANOMALY_OUTLIERS problem type
   :param for_eval: If True, the test fold which was created during training and used for metrics calculation will be used as input data. These predictions are hence, used for model evaluation.
   :type for_eval: bool
   :param threshold: The threshold for detecting an anomaly. Range: [0.8, 0.99]
   :type threshold: float

   .. py:attribute:: for_eval
      :type: bool

      

   .. py:attribute:: threshold
      :type: float

      

   .. py:method:: __post_init__()



.. py:class:: ForecastingBatchPredictionArgs

   Bases: :py:obj:`BatchPredictionArgs`

   Batch Prediction Config for the FORECASTING problem type
   :param for_eval: If True, the test fold which was created during training and used for metrics calculation will be used as input data. These predictions are hence, used for model evaluation
   :type for_eval: bool
   :param predictions_start_date: The start date for predictions.
   :type predictions_start_date: str
   :param use_prediction_offset: If True, use prediction offset.
   :type use_prediction_offset: bool
   :param start_date_offset: Sets prediction start date as this offset relative to the prediction start date.
   :type start_date_offset: int
   :param forecasting_horizon: The number of timestamps to predict in the future. Range: [1, 1000].
   :type forecasting_horizon: int
   :param item_attributes_to_include_in_the_result: List of columns to include in the prediction output.
   :type item_attributes_to_include_in_the_result: list
   :param explain_predictions: If True, explain predictions for the forecast.
   :type explain_predictions: bool

   .. py:attribute:: for_eval
      :type: bool

      

   .. py:attribute:: predictions_start_date
      :type: str

      

   .. py:attribute:: use_prediction_offset
      :type: bool

      

   .. py:attribute:: start_date_offset
      :type: int

      

   .. py:attribute:: forecasting_horizon
      :type: int

      

   .. py:attribute:: item_attributes_to_include_in_the_result
      :type: list

      

   .. py:attribute:: explain_predictions
      :type: bool

      

   .. py:method:: __post_init__()



.. py:class:: NamedEntityExtractionBatchPredictionArgs

   Bases: :py:obj:`BatchPredictionArgs`

   Batch Prediction Config for the NAMED_ENTITY_EXTRACTION problem type
   :param for_eval: If True, the test fold which was created during training and used for metrics calculation will be used as input data. These predictions are hence, used for model evaluation.
   :type for_eval: bool
   :param verbose_predictions: Return prediction inputs, predicted annotations and token label probabilities.
   :type verbose_predictions: bool

   .. py:attribute:: for_eval
      :type: bool

      

   .. py:attribute:: verbose_predictions
      :type: bool

      

   .. py:method:: __post_init__()



.. py:class:: PersonalizationBatchPredictionArgs

   Bases: :py:obj:`BatchPredictionArgs`

   Batch Prediction Config for the PERSONALIZATION problem type
   :param for_eval: If True, the test fold which was created during training and used for metrics calculation will be used as input data. These predictions are hence, used for model evaluation.
   :type for_eval: bool
   :param number_of_items: Number of items to recommend.
   :type number_of_items: int
   :param result_columns: List of columns to include in the prediction output.
   :type result_columns: list
   :param score_field: If specified, relative item scores will be returned using a field with this name
   :type score_field: str

   .. py:attribute:: for_eval
      :type: bool

      

   .. py:attribute:: number_of_items
      :type: int

      

   .. py:attribute:: item_attributes_to_include_in_the_result
      :type: list

      

   .. py:attribute:: score_field
      :type: str

      

   .. py:method:: __post_init__()



.. py:class:: PredictiveModelingBatchPredictionArgs

   Bases: :py:obj:`BatchPredictionArgs`

   Batch Prediction Config for the PREDICTIVE_MODELING problem type
   :param for_eval: If True, the test fold which was created during training and used for metrics calculation will be used as input data. These predictions are hence, used for model evaluation.
   :type for_eval: bool
   :param explainer_type: The type of explainer to use to generate explanations on the batch prediction.
   :type explainer_type: enums.ExplainerType
   :param number_of_samples_to_use_for_explainer: Number Of Samples To Use For Kernel Explainer.
   :type number_of_samples_to_use_for_explainer: int
   :param include_multi_class_explanations: If True, Includes explanations for all classes in multi-class classification.
   :type include_multi_class_explanations: bool
   :param features_considered_constant_for_explanations: Comma separate list of fields to treat as constant in SHAP explanations.
   :type features_considered_constant_for_explanations: str
   :param importance_of_records_in_nested_columns: Returns importance of each index in the specified nested column instead of SHAP column explanations.
   :type importance_of_records_in_nested_columns: str
   :param explanation_filter_lower_bound: If set explanations will be limited to predictions above this value, Range: [0, 1].
   :type explanation_filter_lower_bound: float
   :param explanation_filter_upper_bound: If set explanations will be limited to predictions below this value, Range: [0, 1].
   :type explanation_filter_upper_bound: float
   :param bound_label: For classification problems specifies the label to which the explanation bounds are applied.
   :type bound_label: str
   :param output_columns: A list of column names to include in the prediction result.
   :type output_columns: list

   .. py:attribute:: for_eval
      :type: bool

      

   .. py:attribute:: explainer_type
      :type: abacusai.api_class.enums.ExplainerType

      

   .. py:attribute:: number_of_samples_to_use_for_explainer
      :type: int

      

   .. py:attribute:: include_multi_class_explanations
      :type: bool

      

   .. py:attribute:: features_considered_constant_for_explanations
      :type: str

      

   .. py:attribute:: importance_of_records_in_nested_columns
      :type: str

      

   .. py:attribute:: explanation_filter_lower_bound
      :type: float

      

   .. py:attribute:: explanation_filter_upper_bound
      :type: float

      

   .. py:attribute:: explanation_filter_label
      :type: str

      

   .. py:attribute:: output_columns
      :type: list

      

   .. py:method:: __post_init__()



.. py:class:: PretrainedModelsBatchPredictionArgs

   Bases: :py:obj:`BatchPredictionArgs`

   Batch Prediction Config for the PRETRAINED_MODELS problem type
   :param for_eval: If True, the test fold which was created during training and used for metrics calculation will be used as input data. These predictions are hence, used for model evaluation.
   :type for_eval: bool
   :param files_output_location_prefix: The output location prefix for the files.
   :type files_output_location_prefix: str
   :param channel_id_to_label_map: JSON string for the map from channel ids to their labels.
   :type channel_id_to_label_map: str

   .. py:attribute:: for_eval
      :type: bool

      

   .. py:attribute:: files_output_location_prefix
      :type: str

      

   .. py:attribute:: channel_id_to_label_map
      :type: str

      

   .. py:method:: __post_init__()



.. py:class:: SentenceBoundaryDetectionBatchPredictionArgs

   Bases: :py:obj:`BatchPredictionArgs`

   Batch Prediction Config for the SENTENCE_BOUNDARY_DETECTION problem type
   :param for_eval: If True, the test fold which was created during training and used for metrics calculation will be used as input data. These predictions are hence, used for model evaluation
   :type for_eval: bool
   :param explode_output: Explode data so there is one sentence per row.
   :type explode_output: bool

   .. py:attribute:: for_eval
      :type: bool

      

   .. py:attribute:: explode_output
      :type: bool

      

   .. py:method:: __post_init__()



.. py:class:: ThemeAnalysisBatchPredictionArgs

   Bases: :py:obj:`BatchPredictionArgs`

   Batch Prediction Config for the THEME_ANALYSIS problem type
   :param for_eval: If True, the test fold which was created during training and used for metrics calculation will be used as input data. These predictions are hence, used for model evaluation.
   :type for_eval: bool
   :param analysis_frequency: The length of each analysis interval.
   :type analysis_frequency: str
   :param start_date: The end point for predictions.
   :type start_date: str
   :param analysis_days: How many days to analyze.
   :type analysis_days: int

   .. py:attribute:: for_eval
      :type: bool

      

   .. py:attribute:: analysis_frequency
      :type: str

      

   .. py:attribute:: start_date
      :type: str

      

   .. py:attribute:: analysis_days
      :type: int

      

   .. py:method:: __post_init__()



.. py:class:: ChatLLMBatchPredictionArgs

   Bases: :py:obj:`BatchPredictionArgs`

   Batch Prediction Config for the ChatLLM problem type
   :param for_eval: If True, the test fold which was created during training and used for metrics calculation will be used as input data. These predictions are hence, used for model evaluation.
   :type for_eval: bool
   :param product: Generate a response for every question and chunk combination
   :type product: bool

   .. py:attribute:: for_eval
      :type: bool

      

   .. py:attribute:: product
      :type: bool

      

   .. py:method:: __post_init__()



.. py:class:: _BatchPredictionArgsFactory

   Bases: :py:obj:`abacusai.api_class.abstract._ApiClassFactory`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: config_abstract_class

      

   .. py:attribute:: config_class_key
      :value: 'problemType'

      

   .. py:attribute:: config_class_map

      


.. py:class:: ApiClass

   Bases: :py:obj:`abc.ABC`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: _upper_snake_case_keys
      :type: bool

      

   .. py:attribute:: _support_kwargs
      :type: bool

      

   .. py:method:: __post_init__()


   .. py:method:: _get_builder()
      :classmethod:


   .. py:method:: to_dict()

      Standardizes converting an ApiClass to dictionary.
      Keys of response dictionary are converted to camel case.
      This also validates the fields ( type, value, etc ) received in the dictionary.


   .. py:method:: from_dict(input_dict)
      :classmethod:



.. py:class:: BlobInput

   Bases: :py:obj:`abacusai.api_class.abstract.ApiClass`

   Binary large object input data.

   :param filename: The original filename of the blob.
   :type filename: str
   :param contents: The binary contents of the blob.
   :type contents: bytes
   :param mime_type: The mime type of the blob.
   :type mime_type: str
   :param size: The size of the blob in bytes.
   :type size: int

   .. py:attribute:: filename
      :type: str

      

   .. py:attribute:: contents
      :type: bytes

      

   .. py:attribute:: mime_type
      :type: str

      

   .. py:attribute:: size
      :type: int

      

   .. py:method:: from_local_file(file_path)
      :classmethod:


   .. py:method:: from_contents(contents, filename = None, mime_type = None)
      :classmethod:



.. py:class:: ApiClass

   Bases: :py:obj:`abc.ABC`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: _upper_snake_case_keys
      :type: bool

      

   .. py:attribute:: _support_kwargs
      :type: bool

      

   .. py:method:: __post_init__()


   .. py:method:: _get_builder()
      :classmethod:


   .. py:method:: to_dict()

      Standardizes converting an ApiClass to dictionary.
      Keys of response dictionary are converted to camel case.
      This also validates the fields ( type, value, etc ) received in the dictionary.


   .. py:method:: from_dict(input_dict)
      :classmethod:



.. py:class:: ParsingConfig

   Bases: :py:obj:`abacusai.api_class.abstract.ApiClass`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: escape
      :type: str

      

   .. py:attribute:: csv_delimiter
      :type: str

      

   .. py:attribute:: file_path_with_schema
      :type: str

      


.. py:class:: ApiClass

   Bases: :py:obj:`abc.ABC`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: _upper_snake_case_keys
      :type: bool

      

   .. py:attribute:: _support_kwargs
      :type: bool

      

   .. py:method:: __post_init__()


   .. py:method:: _get_builder()
      :classmethod:


   .. py:method:: to_dict()

      Standardizes converting an ApiClass to dictionary.
      Keys of response dictionary are converted to camel case.
      This also validates the fields ( type, value, etc ) received in the dictionary.


   .. py:method:: from_dict(input_dict)
      :classmethod:



.. py:class:: VectorStoreTextEncoder

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: E5
      :value: 'E5'

      

   .. py:attribute:: OPENAI
      :value: 'OPENAI'

      

   .. py:attribute:: SENTENCE_BERT
      :value: 'SENTENCE_BERT'

      

   .. py:attribute:: E5_SMALL
      :value: 'E5_SMALL'

      


.. py:class:: VectorStoreConfig

   Bases: :py:obj:`abacusai.api_class.abstract.ApiClass`

   Configs for vector store indexing.

   :param chunk_size: The size of text chunks in the vector store.
   :type chunk_size: int
   :param chunk_overlap_fraction: The fraction of overlap between chunks.
   :type chunk_overlap_fraction: float
   :param text_encoder: Encoder used to index texts from the documents.
   :type text_encoder: VectorStoreTextEncoder

   .. py:attribute:: chunk_size
      :type: int

      

   .. py:attribute:: chunk_overlap_fraction
      :type: float

      

   .. py:attribute:: text_encoder
      :type: abacusai.api_class.enums.VectorStoreTextEncoder

      


.. py:class:: DocumentRetrieverConfig

   Bases: :py:obj:`VectorStoreConfig`

   Configs for document retriever.


.. py:class:: ApiEnum

   Bases: :py:obj:`enum.Enum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:method:: __eq__(other)

      Return self==value.


   .. py:method:: __hash__()

      Return hash(self).



.. py:class:: ProblemType

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: AI_AGENT
      :value: 'ai_agent'

      

   .. py:attribute:: ANOMALY_DETECTION
      :value: 'anomaly_new'

      

   .. py:attribute:: ANOMALY_OUTLIERS
      :value: 'anomaly'

      

   .. py:attribute:: EVENT_ANOMALY
      :value: 'event_anomaly'

      

   .. py:attribute:: CLUSTERING
      :value: 'clustering'

      

   .. py:attribute:: CLUSTERING_TIMESERIES
      :value: 'clustering_timeseries'

      

   .. py:attribute:: CUMULATIVE_FORECASTING
      :value: 'cumulative_forecasting'

      

   .. py:attribute:: NAMED_ENTITY_EXTRACTION
      :value: 'nlp_ner'

      

   .. py:attribute:: NATURAL_LANGUAGE_SEARCH
      :value: 'nlp_search'

      

   .. py:attribute:: CHAT_LLM
      :value: 'chat_llm'

      

   .. py:attribute:: SENTENCE_BOUNDARY_DETECTION
      :value: 'nlp_sentence_boundary_detection'

      

   .. py:attribute:: SENTIMENT_DETECTION
      :value: 'nlp_sentiment'

      

   .. py:attribute:: DOCUMENT_CLASSIFICATION
      :value: 'nlp_classification'

      

   .. py:attribute:: DOCUMENT_SUMMARIZATION
      :value: 'nlp_summarization'

      

   .. py:attribute:: DOCUMENT_VISUALIZATION
      :value: 'nlp_document_visualization'

      

   .. py:attribute:: PERSONALIZATION
      :value: 'personalization'

      

   .. py:attribute:: PREDICTIVE_MODELING
      :value: 'regression'

      

   .. py:attribute:: FORECASTING
      :value: 'forecasting'

      

   .. py:attribute:: CUSTOM_TRAINED_MODEL
      :value: 'plug_and_play'

      

   .. py:attribute:: CUSTOM_ALGORITHM
      :value: 'trainable_plug_and_play'

      

   .. py:attribute:: FEATURE_STORE
      :value: 'feature_store'

      

   .. py:attribute:: IMAGE_CLASSIFICATION
      :value: 'vision_classification'

      

   .. py:attribute:: OBJECT_DETECTION
      :value: 'vision_object_detection'

      

   .. py:attribute:: IMAGE_VALUE_PREDICTION
      :value: 'vision_regression'

      

   .. py:attribute:: MODEL_MONITORING
      :value: 'model_monitoring'

      

   .. py:attribute:: LANGUAGE_DETECTION
      :value: 'language_detection'

      

   .. py:attribute:: OPTIMIZATION
      :value: 'optimization'

      

   .. py:attribute:: PRETRAINED_MODELS
      :value: 'pretrained'

      

   .. py:attribute:: THEME_ANALYSIS
      :value: 'theme_analysis'

      


.. py:class:: RegressionObjective

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: AUC
      :value: 'auc'

      

   .. py:attribute:: ACCURACY
      :value: 'acc'

      

   .. py:attribute:: LOG_LOSS
      :value: 'log_loss'

      

   .. py:attribute:: PRECISION
      :value: 'precision'

      

   .. py:attribute:: RECALL
      :value: 'recall'

      

   .. py:attribute:: F1_SCORE
      :value: 'fscore'

      

   .. py:attribute:: MAE
      :value: 'mae'

      

   .. py:attribute:: MAPE
      :value: 'mape'

      

   .. py:attribute:: WAPE
      :value: 'wape'

      

   .. py:attribute:: RMSE
      :value: 'rmse'

      

   .. py:attribute:: R_SQUARED_COEFFICIENT_OF_DETERMINATION
      :value: 'r^2'

      


.. py:class:: RegressionTreeHPOMode

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: RAPID
      :value: ('rapid',)

      

   .. py:attribute:: THOROUGH
      :value: 'thorough'

      


.. py:class:: RegressionAugmentationStrategy

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: SMOTE
      :value: 'smote'

      

   .. py:attribute:: RESAMPLE
      :value: 'resample'

      


.. py:class:: RegressionTargetTransform

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: LOG
      :value: 'log'

      

   .. py:attribute:: QUANTILE
      :value: 'quantile'

      

   .. py:attribute:: YEO_JOHNSON
      :value: 'yeo-johnson'

      

   .. py:attribute:: BOX_COX
      :value: 'box-cox'

      


.. py:class:: RegressionTypeOfSplit

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: RANDOM
      :value: 'Random Sampling'

      

   .. py:attribute:: TIMESTAMP_BASED
      :value: 'Timestamp Based'

      

   .. py:attribute:: ROW_INDICATOR_BASED
      :value: 'Row Indicator Based'

      


.. py:class:: RegressionTimeSplitMethod

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: TEST_SPLIT_PERCENTAGE_BASED
      :value: 'Test Split Percentage Based'

      

   .. py:attribute:: TEST_START_TIMESTAMP_BASED
      :value: 'Test Start Timestamp Based'

      


.. py:class:: RegressionLossFunction

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: HUBER
      :value: 'Huber'

      

   .. py:attribute:: MSE
      :value: 'Mean Squared Error'

      

   .. py:attribute:: MAE
      :value: 'Mean Absolute Error'

      

   .. py:attribute:: MAPE
      :value: 'Mean Absolute Percentage Error'

      

   .. py:attribute:: MSLE
      :value: 'Mean Squared Logarithmic Error'

      

   .. py:attribute:: TWEEDIE
      :value: 'Tweedie'

      

   .. py:attribute:: CROSS_ENTROPY
      :value: 'Cross Entropy'

      

   .. py:attribute:: FOCAL_CROSS_ENTROPY
      :value: 'Focal Cross Entropy'

      

   .. py:attribute:: AUTOMATIC
      :value: 'Automatic'

      

   .. py:attribute:: CUSTOM
      :value: 'Custom'

      


.. py:class:: ExplainerType

   Bases: :py:obj:`enum.Enum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: KERNEL_EXPLAINER
      :value: 'KERNEL_EXPLAINER'

      

   .. py:attribute:: LIME_EXPLAINER
      :value: 'LIME_EXPLAINER'

      

   .. py:attribute:: TREE_EXPLAINER
      :value: 'TREE_EXPLAINER'

      

   .. py:attribute:: EBM_EXPLAINER
      :value: 'EBM_EXPLAINER'

      


.. py:class:: SamplingMethodType

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: N_SAMPLING
      :value: 'N_SAMPLING'

      

   .. py:attribute:: PERCENT_SAMPLING
      :value: 'PERCENT_SAMPLING'

      


.. py:class:: MergeMode

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: LAST_N
      :value: 'LAST_N'

      

   .. py:attribute:: TIME_WINDOW
      :value: 'TIME_WINDOW'

      


.. py:class:: FillLogic

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: AVERAGE
      :value: 'average'

      

   .. py:attribute:: MAX
      :value: 'max'

      

   .. py:attribute:: MEDIAN
      :value: 'median'

      

   .. py:attribute:: MIN
      :value: 'min'

      

   .. py:attribute:: CUSTOM
      :value: 'custom'

      

   .. py:attribute:: BACKFILL
      :value: 'bfill'

      

   .. py:attribute:: FORWARDFILL
      :value: 'ffill'

      

   .. py:attribute:: LINEAR
      :value: 'linear'

      

   .. py:attribute:: NEAREST
      :value: 'nearest'

      


.. py:class:: BatchSize

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: BATCH_8
      :value: 8

      

   .. py:attribute:: BATCH_16
      :value: 16

      

   .. py:attribute:: BATCH_32
      :value: 32

      

   .. py:attribute:: BATCH_64
      :value: 64

      

   .. py:attribute:: BATCH_128
      :value: 128

      

   .. py:attribute:: BATCH_256
      :value: 256

      

   .. py:attribute:: BATCH_384
      :value: 384

      

   .. py:attribute:: BATCH_512
      :value: 512

      

   .. py:attribute:: BATCH_740
      :value: 740

      

   .. py:attribute:: BATCH_1024
      :value: 1024

      


.. py:class:: HolidayCalendars

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: AU
      :value: 'AU'

      

   .. py:attribute:: UK
      :value: 'UK'

      

   .. py:attribute:: US
      :value: 'US'

      


.. py:class:: ExperimentationMode

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: RAPID
      :value: 'rapid'

      

   .. py:attribute:: THOROUGH
      :value: 'thorough'

      


.. py:class:: PersonalizationTrainingMode

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: EXPERIMENTAL
      :value: 'EXP'

      

   .. py:attribute:: PRODUCTION
      :value: 'PROD'

      


.. py:class:: PersonalizationObjective

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: NDCG
      :value: 'ndcg'

      

   .. py:attribute:: NDCG_5
      :value: 'ndcg@5'

      

   .. py:attribute:: NDCG_10
      :value: 'ndcg@10'

      

   .. py:attribute:: MAP
      :value: 'map'

      

   .. py:attribute:: MAP_5
      :value: 'map@5'

      

   .. py:attribute:: MAP_10
      :value: 'map@10'

      

   .. py:attribute:: MRR
      :value: 'mrr'

      

   .. py:attribute:: PERSONALIZATION
      :value: 'personalization@10'

      

   .. py:attribute:: COVERAGE
      :value: 'coverage'

      


.. py:class:: ForecastingObjective

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: ACCURACY
      :value: 'w_c_accuracy'

      

   .. py:attribute:: WAPE
      :value: 'wape'

      

   .. py:attribute:: MAPE
      :value: 'mape'

      

   .. py:attribute:: CMAPE
      :value: 'cmape'

      

   .. py:attribute:: RMSE
      :value: 'rmse'

      

   .. py:attribute:: CV
      :value: 'coefficient_of_variation'

      

   .. py:attribute:: BIAS
      :value: 'bias'

      

   .. py:attribute:: SRMSE
      :value: 'srmse'

      


.. py:class:: ForecastingFrequency

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: HOURLY
      :value: '1H'

      

   .. py:attribute:: DAILY
      :value: '1D'

      

   .. py:attribute:: WEEKLY_SUNDAY_START
      :value: '1W'

      

   .. py:attribute:: WEEKLY_MONDAY_START
      :value: 'W-MON'

      

   .. py:attribute:: WEEKLY_SATURDAY_START
      :value: 'W-SAT'

      

   .. py:attribute:: MONTH_START
      :value: 'MS'

      

   .. py:attribute:: MONTH_END
      :value: '1M'

      

   .. py:attribute:: QUARTER_START
      :value: 'QS'

      

   .. py:attribute:: QUARTER_END
      :value: '1Q'

      

   .. py:attribute:: YEARLY
      :value: '1Y'

      


.. py:class:: ForecastingDataSplitType

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: AUTO
      :value: 'Automatic Time Based'

      

   .. py:attribute:: TIMESTAMP
      :value: 'Timestamp Based'

      

   .. py:attribute:: ITEM
      :value: 'Item Based'

      

   .. py:attribute:: PREDICTION_LENGTH
      :value: 'Force Prediction Length'

      


.. py:class:: ForecastingLossFunction

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: CUSTOM
      :value: 'Custom'

      

   .. py:attribute:: MEAN_ABSOLUTE_ERROR
      :value: 'mae'

      

   .. py:attribute:: NORMALIZED_MEAN_ABSOLUTE_ERROR
      :value: 'nmae'

      

   .. py:attribute:: PEAKS_MEAN_ABSOLUTE_ERROR
      :value: 'peaks_mae'

      

   .. py:attribute:: MEAN_ABSOLUTE_PERCENTAGE_ERROR
      :value: 'stable_mape'

      

   .. py:attribute:: POINTWISE_ACCURACY
      :value: 'accuracy'

      

   .. py:attribute:: ROOT_MEAN_SQUARE_ERROR
      :value: 'rmse'

      

   .. py:attribute:: NORMALIZED_ROOT_MEAN_SQUARE_ERROR
      :value: 'nrmse'

      

   .. py:attribute:: ASYMMETRIC_MEAN_ABSOLUTE_PERCENTAGE_ERROR
      :value: 'asymmetric_mape'

      

   .. py:attribute:: STABLE_STANDARDIZED_MEAN_ABSOLUTE_PERCENTAGE_ERROR
      :value: 'stable_standardized_mape_with_cmape'

      

   .. py:attribute:: GAUSSIAN
      :value: 'mle_gaussian_local'

      

   .. py:attribute:: GAUSSIAN_FULL_COVARIANCE
      :value: 'mle_gaussfullcov'

      

   .. py:attribute:: GUASSIAN_EXPONENTIAL
      :value: 'mle_gaussexp'

      

   .. py:attribute:: MIX_GAUSSIANS
      :value: 'mle_gaussmix'

      

   .. py:attribute:: WEIBULL
      :value: 'mle_weibull'

      

   .. py:attribute:: NEGATIVE_BINOMIAL
      :value: 'mle_negbinom'

      

   .. py:attribute:: LOG_ROOT_MEAN_SQUARE_ERROR
      :value: 'log_rmse'

      


.. py:class:: ForecastingLocalScaling

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: ZSCORE
      :value: 'zscore'

      

   .. py:attribute:: SLIDING_ZSCORE
      :value: 'sliding_zscore'

      

   .. py:attribute:: LAST_POINT
      :value: 'lastpoint'

      

   .. py:attribute:: MIN_MAX
      :value: 'minmax'

      

   .. py:attribute:: MIN_STD
      :value: 'minstd'

      

   .. py:attribute:: ROBUST
      :value: 'robust'

      

   .. py:attribute:: ITEM
      :value: 'item'

      


.. py:class:: ForecastingFillMethod

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: BACK
      :value: 'BACK'

      

   .. py:attribute:: MIDDLE
      :value: 'MIDDLE'

      

   .. py:attribute:: FUTURE
      :value: 'FUTURE'

      


.. py:class:: ForecastingQuanitlesExtensionMethod

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: DIRECT
      :value: 'direct'

      

   .. py:attribute:: QUADRATIC
      :value: 'quadratic'

      

   .. py:attribute:: ANCESTRAL_SIMULATION
      :value: 'simulation'

      


.. py:class:: NERObjective

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: LOG_LOSS
      :value: 'log_loss'

      

   .. py:attribute:: AUC
      :value: 'auc'

      

   .. py:attribute:: PRECISION
      :value: 'precision'

      

   .. py:attribute:: RECALL
      :value: 'recall'

      

   .. py:attribute:: ANNOTATIONS_PRECISION
      :value: 'annotations_precision'

      

   .. py:attribute:: ANNOTATIONS_RECALL
      :value: 'annotations_recall'

      


.. py:class:: NERModelType

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: PRETRAINED_BERT
      :value: 'pretrained_bert'

      

   .. py:attribute:: PRETRAINED_ROBERTA_27
      :value: 'pretrained_roberta_27'

      

   .. py:attribute:: PRETRAINED_ROBERTA_43
      :value: 'pretrained_roberta_43'

      

   .. py:attribute:: PRETRAINED_MULTILINGUAL
      :value: 'pretrained_multilingual'

      

   .. py:attribute:: LEARNED
      :value: 'learned'

      


.. py:class:: NLPDocumentFormat

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: AUTO
      :value: 'auto'

      

   .. py:attribute:: TEXT
      :value: 'text'

      

   .. py:attribute:: DOC
      :value: 'doc'

      

   .. py:attribute:: TOKENS
      :value: 'tokens'

      


.. py:class:: SentimentType

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: VALENCE
      :value: 'valence'

      

   .. py:attribute:: EMOTION
      :value: 'emotion'

      


.. py:class:: ClusteringImputationMethod

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: AUTOMATIC
      :value: 'Automatic'

      

   .. py:attribute:: ZEROS
      :value: 'Zeros'

      

   .. py:attribute:: INTERPOLATE
      :value: 'Interpolate'

      


.. py:class:: ConnectorType

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: FILE
      :value: 'FILE'

      

   .. py:attribute:: DATABASE
      :value: 'DATABASE'

      

   .. py:attribute:: STREAMING
      :value: 'STREAMING'

      

   .. py:attribute:: APPLICATION
      :value: 'APPLICATION'

      


.. py:class:: PythonFunctionArgumentType

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: FEATURE_GROUP
      :value: 'FEATURE_GROUP'

      

   .. py:attribute:: INTEGER
      :value: 'INTEGER'

      

   .. py:attribute:: STRING
      :value: 'STRING'

      

   .. py:attribute:: BOOLEAN
      :value: 'BOOLEAN'

      

   .. py:attribute:: FLOAT
      :value: 'FLOAT'

      

   .. py:attribute:: JSON
      :value: 'JSON'

      

   .. py:attribute:: LIST
      :value: 'LIST'

      

   .. py:attribute:: DATASET_ID
      :value: 'DATASET_ID'

      

   .. py:attribute:: MODEL_ID
      :value: 'MODEL_ID'

      

   .. py:attribute:: FEATURE_GROUP_ID
      :value: 'FEATURE_GROUP_ID'

      

   .. py:attribute:: MONITOR_ID
      :value: 'MONITOR_ID'

      

   .. py:attribute:: BATCH_PREDICTION_ID
      :value: 'BATCH_PREDICTION_ID'

      

   .. py:attribute:: DEPLOYMENT_ID
      :value: 'DEPLOYMENT_ID'

      


.. py:class:: PythonFunctionOutputArgumentType

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: NTEGER
      :value: 'INTEGER'

      

   .. py:attribute:: STRING
      :value: 'STRING'

      

   .. py:attribute:: BOOLEAN
      :value: 'BOOLEAN'

      

   .. py:attribute:: FLOAT
      :value: 'FLOAT'

      

   .. py:attribute:: JSON
      :value: 'JSON'

      

   .. py:attribute:: LIST
      :value: 'LIST'

      

   .. py:attribute:: DATASET_ID
      :value: 'DATASET_ID'

      

   .. py:attribute:: MODEL_ID
      :value: 'MODEL_ID'

      

   .. py:attribute:: FEATURE_GROUP_ID
      :value: 'FEATURE_GROUP_ID'

      

   .. py:attribute:: MONITOR_ID
      :value: 'MONITOR_ID'

      

   .. py:attribute:: BATCH_PREDICTION_ID
      :value: 'BATCH_PREDICTION_ID'

      

   .. py:attribute:: DEPLOYMENT_ID
      :value: 'DEPLOYMENT_ID'

      

   .. py:attribute:: ANY
      :value: 'ANY'

      


.. py:class:: VectorStoreTextEncoder

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: E5
      :value: 'E5'

      

   .. py:attribute:: OPENAI
      :value: 'OPENAI'

      

   .. py:attribute:: SENTENCE_BERT
      :value: 'SENTENCE_BERT'

      

   .. py:attribute:: E5_SMALL
      :value: 'E5_SMALL'

      


.. py:class:: LLMName

   Bases: :py:obj:`ApiEnum`

   Generic enumeration.

   Derive from this class to define new enumerations.

   .. py:attribute:: OPENAI_GPT4
      :value: 'OPENAI_GPT4'

      

   .. py:attribute:: OPENAI_GPT3_5
      :value: 'OPENAI_GPT3_5'

      

   .. py:attribute:: OPENAI_GPT3_5_SHORT
      :value: 'OPENAI_GPT3_5_SHORT'

      

   .. py:attribute:: CLAUDE_V2
      :value: 'CLAUDE_V2'

      

   .. py:attribute:: ABACUS
      :value: 'ABACUS'

      

   .. py:attribute:: ABACUS_LONG
      :value: 'ABACUS_LONG'

      

   .. py:attribute:: ABACUS_LARGE
      :value: 'ABACUS_LARGE'

      

   .. py:attribute:: PALM
      :value: 'PALM'

      


.. py:class:: ApiClass

   Bases: :py:obj:`abc.ABC`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: _upper_snake_case_keys
      :type: bool

      

   .. py:attribute:: _support_kwargs
      :type: bool

      

   .. py:method:: __post_init__()


   .. py:method:: _get_builder()
      :classmethod:


   .. py:method:: to_dict()

      Standardizes converting an ApiClass to dictionary.
      Keys of response dictionary are converted to camel case.
      This also validates the fields ( type, value, etc ) received in the dictionary.


   .. py:method:: from_dict(input_dict)
      :classmethod:



.. py:class:: _ApiClassFactory

   Bases: :py:obj:`abc.ABC`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: config_abstract_class

      

   .. py:attribute:: config_class_key

      

   .. py:attribute:: config_class_map

      

   .. py:method:: from_dict(config)
      :classmethod:



.. py:class:: SamplingConfig

   Bases: :py:obj:`abacusai.api_class.abstract.ApiClass`

   An abstract class for the sampling config of a feature group

   .. py:method:: _get_builder()
      :classmethod:


   .. py:method:: __post_init__()



.. py:class:: NSamplingConfig

   Bases: :py:obj:`SamplingConfig`

   The number of distinct values of the key columns to include in the sample, or number of rows if key columns not specified.

   :param sampling_method: N_SAMPLING
   :type sampling_method: SamplingMethodType
   :param sample_count: The number of rows to include in the sample
   :type sample_count: int
   :param key_columns: The feature(s) to use as the key(s) when sampling
   :type key_columns: List[str]

   .. py:attribute:: sample_count
      :type: int

      

   .. py:attribute:: key_columns
      :type: List[str]

      

   .. py:attribute:: sampling_method
      :type: abacusai.api_class.enums.SamplingMethodType

      


.. py:class:: PercentSamplingConfig

   Bases: :py:obj:`SamplingConfig`

   The fraction of distinct values of the feature group to include in the sample.

   :param sampling_method: PERCENT_SAMPLING
   :type sampling_method: SamplingMethodType
   :param sample_percent: The percentage of the rows to sample
   :type sample_percent: float
   :param key_columns: The feature(s) to use as the key(s) when sampling
   :type key_columns: List[str]

   .. py:attribute:: sample_percent
      :type: float

      

   .. py:attribute:: key_columns
      :type: List[str]

      

   .. py:attribute:: sampling_method
      :type: abacusai.api_class.enums.SamplingMethodType

      


.. py:class:: _SamplingConfigFactory

   Bases: :py:obj:`abacusai.api_class.abstract._ApiClassFactory`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: config_class_key
      :value: 'sampling_method'

      

   .. py:attribute:: config_class_map

      


.. py:class:: MergeConfig

   Bases: :py:obj:`abacusai.api_class.abstract.ApiClass`

   An abstract class for the merge config of a feature group

   .. py:method:: _get_builder()
      :classmethod:


   .. py:method:: __post_init__()



.. py:class:: LastNMergeConfig

   Bases: :py:obj:`MergeConfig`

   Merge LAST N chunks/versions of an incremental dataset.

   :param merge_mode: LAST_N
   :type merge_mode: MergeMode
   :param num_versions: The number of versions to merge. num_versions == 0 means merge all versions.
   :type num_versions: int

   .. py:attribute:: num_versions
      :type: int

      

   .. py:attribute:: merge_mode
      :type: abacusai.api_class.enums.MergeMode

      


.. py:class:: TimeWindowMergeConfig

   Bases: :py:obj:`MergeConfig`

   Merge rows within a given timewindow of the most recent timestamp

   :param merge_mode: TIME_WINDOW
   :type merge_mode: MergeMode
   :param feature_name: Time based column to index on
   :type feature_name: str
   :param time_window_size_ms: Range of merged rows will be [MAX_TIME - time_window_size_ms, MAX_TIME]
   :type time_window_size_ms: int

   .. py:attribute:: feature_name
      :type: str

      

   .. py:attribute:: time_window_size_ms
      :type: int

      

   .. py:attribute:: merge_mode
      :type: abacusai.api_class.enums.MergeMode

      


.. py:class:: _MergeConfigFactory

   Bases: :py:obj:`abacusai.api_class.abstract._ApiClassFactory`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: config_class_key
      :value: 'merge_mode'

      

   .. py:attribute:: config_class_map

      


.. py:class:: ApiClass

   Bases: :py:obj:`abc.ABC`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: _upper_snake_case_keys
      :type: bool

      

   .. py:attribute:: _support_kwargs
      :type: bool

      

   .. py:method:: __post_init__()


   .. py:method:: _get_builder()
      :classmethod:


   .. py:method:: to_dict()

      Standardizes converting an ApiClass to dictionary.
      Keys of response dictionary are converted to camel case.
      This also validates the fields ( type, value, etc ) received in the dictionary.


   .. py:method:: from_dict(input_dict)
      :classmethod:



.. py:class:: _ApiClassFactory

   Bases: :py:obj:`abc.ABC`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: config_abstract_class

      

   .. py:attribute:: config_class_key

      

   .. py:attribute:: config_class_map

      

   .. py:method:: from_dict(config)
      :classmethod:



.. py:class:: TrainingConfig

   Bases: :py:obj:`abacusai.api_class.abstract.ApiClass`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: _upper_snake_case_keys
      :type: bool

      

   .. py:attribute:: _support_kwargs
      :type: bool

      

   .. py:attribute:: kwargs
      :type: dict

      

   .. py:attribute:: problem_type
      :type: abacusai.api_class.enums.ProblemType

      

   .. py:attribute:: algorithm
      :type: str

      

   .. py:method:: _get_builder()
      :classmethod:



.. py:class:: PersonalizationTrainingConfig

   Bases: :py:obj:`TrainingConfig`

   Training config for the PERSONALIZATION problem type
   :param objective: Ranking scheme used to select final best model.
   :type objective: PersonalizationObjective
   :param sort_objective: Ranking scheme used to sort models on the metrics page.
   :type sort_objective: PersonalizationObjective
   :param training_mode: whether to train in production or experimental mode. Defaults to EXP.
   :type training_mode: PersonalizationTrainingMode
   :param target_action_types: List of action types to use as targets for training.
   :type target_action_types: List[str]
   :param target_action_weights: Dictionary of action types to weights for training.
   :type target_action_weights: Dict[str, float]
   :param session_event_types: List of event types to treat as occurrences of sessions.
   :type session_event_types: List[str]
   :param test_split: Percent of dataset to use for test data. We support using a range between 6% to 20% of your dataset to use as test data.
   :type test_split: int
   :param recent_days_for_training: Limit training data to a certain latest number of days.
   :type recent_days_for_training: int
   :param training_start_date: Only consider training interaction data after this date. Specified in the timezone of the dataset.
   :type training_start_date: str
   :param test_on_user_split: Use user splits instead of using time splits, when validating and testing the model.
   :type test_on_user_split: bool
   :param test_split_on_last_k_items: Use last k items instead of global timestamp splits, when validating and testing the model.
   :type test_split_on_last_k_items: bool
   :param test_last_items_length: Number of items to leave out for each user when using leave k out folds.
   :type test_last_items_length: int
   :param test_window_length_hours: Duration (in hours) of most recent time window to use when validating and testing the model.
   :type test_window_length_hours: int
   :param explicit_time_split: Sets an explicit time-based test boundary.
   :type explicit_time_split: bool
   :param test_row_indicator: Column indicating which rows to use for training (TRAIN), validation (VAL) and testing (TEST).
   :type test_row_indicator: str
   :param full_data_retraining: Train models separately with all the data.
   :type full_data_retraining: bool
   :param sequential_training: Train a mode sequentially through time.
   :type sequential_training: bool
   :param data_split_feature_group_table_name: Specify the table name of the feature group to export training data with the fold column.
   :type data_split_feature_group_table_name: str
   :param optimized_event_type: The final event type to optimize for and compute metrics on.
   :type optimized_event_type: str
   :param dropout_rate: Dropout rate for neural network.
   :type dropout_rate: int
   :param batch_size: Batch size for neural network.
   :type batch_size: BatchSize
   :param disable_transformer: Disable training the transformer algorithm.
   :type disable_transformer: bool
   :param disable_gpu: Disable training on GPU.
   :type disable_gpu: boo
   :param filter_history: Do not recommend items the user has already interacted with.
   :type filter_history: bool
   :param max_history_length: Maximum length of user-item history to include user in training examples.
   :type max_history_length: int
   :param compute_rerank_metrics: Compute metrics based on rerank results.
   :type compute_rerank_metrics: bool
   :param add_time_features: Include interaction time as a feature.
   :type add_time_features: bool
   :param disable_timestamp_scalar_features: Exclude timestamp scalar features.
   :type disable_timestamp_scalar_features: bool
   :param compute_session_metrics: Evaluate models based on how well they are able to predict the next session of interactions.
   :type compute_session_metrics: bool
   :param max_user_history_len_percentile: Filter out users with history length above this percentile.
   :type max_user_history_len_percentile: int
   :param downsample_item_popularity_percentile: Downsample items more popular than this percentile.
   :type downsample_item_popularity_percentile: float

   .. py:attribute:: objective
      :type: abacusai.api_class.enums.PersonalizationObjective

      

   .. py:attribute:: sort_objective
      :type: abacusai.api_class.enums.PersonalizationObjective

      

   .. py:attribute:: training_mode
      :type: abacusai.api_class.enums.PersonalizationTrainingMode

      

   .. py:attribute:: target_action_types
      :type: List[str]

      

   .. py:attribute:: target_action_weights
      :type: Dict[str, float]

      

   .. py:attribute:: session_event_types
      :type: List[str]

      

   .. py:attribute:: test_split
      :type: int

      

   .. py:attribute:: recent_days_for_training
      :type: int

      

   .. py:attribute:: training_start_date
      :type: str

      

   .. py:attribute:: test_on_user_split
      :type: bool

      

   .. py:attribute:: test_split_on_last_k_items
      :type: bool

      

   .. py:attribute:: test_last_items_length
      :type: int

      

   .. py:attribute:: test_window_length_hours
      :type: int

      

   .. py:attribute:: explicit_time_split
      :type: bool

      

   .. py:attribute:: test_row_indicator
      :type: str

      

   .. py:attribute:: full_data_retraining
      :type: bool

      

   .. py:attribute:: sequential_training
      :type: bool

      

   .. py:attribute:: data_split_feature_group_table_name
      :type: str

      

   .. py:attribute:: optimized_event_type
      :type: str

      

   .. py:attribute:: dropout_rate
      :type: int

      

   .. py:attribute:: batch_size
      :type: abacusai.api_class.enums.BatchSize

      

   .. py:attribute:: disable_transformer
      :type: bool

      

   .. py:attribute:: disable_gpu
      :type: bool

      

   .. py:attribute:: filter_history
      :type: bool

      

   .. py:attribute:: max_history_length
      :type: int

      

   .. py:attribute:: compute_rerank_metrics
      :type: bool

      

   .. py:attribute:: add_time_features
      :type: bool

      

   .. py:attribute:: disable_timestamp_scalar_features
      :type: bool

      

   .. py:attribute:: compute_session_metrics
      :type: bool

      

   .. py:attribute:: max_user_history_len_percentile
      :type: int

      

   .. py:attribute:: downsample_item_popularity_percentile
      :type: float

      

   .. py:method:: __post_init__()



.. py:class:: RegressionTrainingConfig

   Bases: :py:obj:`TrainingConfig`

   Training config for the PREDICTIVE_MODELING problem type
   :param objective: Ranking scheme used to select final best model.
   :type objective: RegressionObjective
   :param sort_objective: Ranking scheme used to sort models on the metrics page.
   :type sort_objective: RegressionObjective
   :param tree_hpo_mode: (RegressionTreeHPOMode): Turning off Rapid Experimentation will take longer to train.
   :param type_of_split: Type of data splitting into train/test (validation also).
   :type type_of_split: RegressionTypeOfSplit
   :param test_split: Percent of dataset to use for test data. We support using a range between 5% to 20% of your dataset to use as test data.
   :type test_split: int
   :param disable_test_val_fold: Do not create a TEST_VAL set. All records which would be part of the TEST_VAL fold otherwise, remain in the TEST fold.
   :type disable_test_val_fold: bool
   :param k_fold_cross_validation: Use this to force k-fold cross validation bagging on or off.
   :type k_fold_cross_validation: bool
   :param num_cv_folds: Specify the value of k in k-fold cross validation.
   :type num_cv_folds: int
   :param timestamp_based_splitting_column: Timestamp column selected for splitting into test and train.
   :type timestamp_based_splitting_column: str
   :param timestamp_based_splitting_method: Method of selecting TEST set, top percentile wise or after a given timestamp.
   :type timestamp_based_splitting_method: RegressionTimeSplitMethod
   :param test_splitting_timestamp: Rows with timestamp greater than this will be considered to be in the test set.
   :type test_splitting_timestamp: str
   :param sampling_unit_keys: Constrain train/test separation to partition a column.
   :type sampling_unit_keys: List[str]
   :param test_row_indicator: Column indicating which rows to use for training (TRAIN) and testing (TEST). Validation (VAL) can also be specified.
   :type test_row_indicator: str
   :param rebalance_classes: Class weights are computed as the inverse of the class frequency from the training dataset when this option is selected as "Yes". It is useful when the classes in the dataset are unbalanced.
                             Re-balancing classes generally boosts recall at the cost of precision on rare classes.
   :type rebalance_classes: bool
   :param rare_class_augmentation_threshold: Augments any rare class whose relative frequency with respect to the most frequent class is less than this threshold. Default = 0.1 for classification problems with rare classes.
   :type rare_class_augmentation_threshold: float
   :param augmentation_strategy: Strategy to deal with class imbalance and data augmentation.
   :type augmentation_strategy: RegressionAugmentationStrategy
   :param training_rows_downsample_ratio: Uses this ratio to train on a sample of the dataset provided.
   :type training_rows_downsample_ratio: float
   :param active_labels_column: Specify a column to use as the active columns in a multi label setting.
   :type active_labels_column: str
   :param min_categorical_count: Minimum threshold to consider a value different from the unknown placeholder.
   :type min_categorical_count: int
   :param sample_weight: Specify a column to use as the weight of a sample for training and eval.
   :type sample_weight: str
   :param numeric_clipping_percentile: Uses this option to clip the top and bottom x percentile of numeric feature columns where x is the value of this option.
   :type numeric_clipping_percentile: float
   :param target_transform: Specify a transform (e.g. log, quantile) to apply to the target variable.
   :type target_transform: RegressionTargetTransform
   :param ignore_datetime_features: Remove all datetime features from the model. Useful while generalizing to different time periods.
   :type ignore_datetime_features: bool
   :param max_text_words: Maximum number of words to use from text fields.
   :type max_text_words: int
   :param perform_feature_selection: If enabled, additional algorithms which support feature selection as a pretraining step will be trained separately with the selected subset of features. The details about their selected features can be found in their respective logs.
   :type perform_feature_selection: bool
   :param feature_selection_intensity: This determines the strictness with which features will be filtered out. 1 being very lenient (more features kept), 100 being very strict.
   :type feature_selection_intensity: int
   :param batch_size: Batch size.
   :type batch_size: BatchSize
   :param dropout_rate: Dropout percentage rate.
   :type dropout_rate: int
   :param pretrained_model_name: Enable algorithms which process text using pretrained multilingual NLP models.
   :type pretrained_model_name: str
   :param is_multilingual: Enable algorithms which process text using pretrained multilingual NLP models.
   :type is_multilingual: bool
   :param loss_function: Loss function to be used as objective for model training.
   :type loss_function: RegressionLossFunction
   :param loss_parameters: Loss function params in format <key>=<value>;<key>=<value>;.....
   :type loss_parameters: str
   :param target_encode_categoricals: Use this to turn target encoding on categorical features on or off.
   :type target_encode_categoricals: bool
   :param drop_original_categoricals: This option helps us choose whether to also feed the original label encoded categorical columns to the mdoels along with their target encoded versions.
   :type drop_original_categoricals: bool
   :param data_split_feature_group_table_name: Specify the table name of the feature group to export training data with the fold column.
   :type data_split_feature_group_table_name: str
   :param custom_loss_functions: Registered custom losses available for selection.
   :type custom_loss_functions: List[str]
   :param custom_metrics: Registered custom metrics available for selection.
   :type custom_metrics: List[str]

   .. py:attribute:: objective
      :type: abacusai.api_class.enums.RegressionObjective

      

   .. py:attribute:: sort_objective
      :type: abacusai.api_class.enums.RegressionObjective

      

   .. py:attribute:: tree_hpo_mode
      :type: abacusai.api_class.enums.RegressionTreeHPOMode

      

   .. py:attribute:: type_of_split
      :type: abacusai.api_class.enums.RegressionTypeOfSplit

      

   .. py:attribute:: test_split
      :type: int

      

   .. py:attribute:: disable_test_val_fold
      :type: bool

      

   .. py:attribute:: k_fold_cross_validation
      :type: bool

      

   .. py:attribute:: num_cv_folds
      :type: int

      

   .. py:attribute:: timestamp_based_splitting_column
      :type: str

      

   .. py:attribute:: timestamp_based_splitting_method
      :type: abacusai.api_class.enums.RegressionTimeSplitMethod

      

   .. py:attribute:: test_splitting_timestamp
      :type: str

      

   .. py:attribute:: sampling_unit_keys
      :type: List[str]

      

   .. py:attribute:: test_row_indicator
      :type: str

      

   .. py:attribute:: rebalance_classes
      :type: bool

      

   .. py:attribute:: rare_class_augmentation_threshold
      :type: float

      

   .. py:attribute:: augmentation_strategy
      :type: abacusai.api_class.enums.RegressionAugmentationStrategy

      

   .. py:attribute:: training_rows_downsample_ratio
      :type: float

      

   .. py:attribute:: active_labels_column
      :type: str

      

   .. py:attribute:: min_categorical_count
      :type: int

      

   .. py:attribute:: sample_weight
      :type: str

      

   .. py:attribute:: numeric_clipping_percentile
      :type: float

      

   .. py:attribute:: target_transform
      :type: abacusai.api_class.enums.RegressionTargetTransform

      

   .. py:attribute:: ignore_datetime_features
      :type: bool

      

   .. py:attribute:: max_text_words
      :type: int

      

   .. py:attribute:: perform_feature_selection
      :type: bool

      

   .. py:attribute:: feature_selection_intensity
      :type: int

      

   .. py:attribute:: batch_size
      :type: abacusai.api_class.enums.BatchSize

      

   .. py:attribute:: dropout_rate
      :type: int

      

   .. py:attribute:: pretrained_model_name
      :type: str

      

   .. py:attribute:: is_multilingual
      :type: bool

      

   .. py:attribute:: loss_function
      :type: abacusai.api_class.enums.RegressionLossFunction

      

   .. py:attribute:: loss_parameters
      :type: str

      

   .. py:attribute:: target_encode_categoricals
      :type: bool

      

   .. py:attribute:: drop_original_categoricals
      :type: bool

      

   .. py:attribute:: data_split_feature_group_table_name
      :type: str

      

   .. py:attribute:: custom_loss_functions
      :type: List[str]

      

   .. py:attribute:: custom_metrics
      :type: List[str]

      

   .. py:method:: __post_init__()



.. py:class:: ForecastingTrainingConfig

   Bases: :py:obj:`TrainingConfig`

   Training config for the FORECASTING problem type
   :param prediction_length: How many timesteps in the future to predict.
   :type prediction_length: int
   :param objective: Ranking scheme used to select final best model.
   :type objective: ForecastingObjective
   :param sort_objective: Ranking scheme used to sort models on the metrics page.
   :type sort_objective: ForecastingObjective
   :param forecast_frequency: Forecast frequency.
   :type forecast_frequency: ForecastingFrequency
   :param probability_quantiles: Prediction quantiles.
   :type probability_quantiles: List[float]
   :param force_prediction_length: Force length of test window to be the same as prediction length.
   :type force_prediction_length: int
   :param filter_items: Filter items with small history and volume.
   :type filter_items: bool
   :param enable_feature_selection: Enable feature selection.
   :type enable_feature_selection: bool
   :param enable_cold_start: Enable cold start forecasting by training/predicting for zero history items.
   :type enable_cold_start: bool
   :param enable_multiple_backtests: Whether to enable multiple backtesting or not.
   :type enable_multiple_backtests: bool
   :param num_backtesting_windows: Total backtesting windows to use for the training.
   :type num_backtesting_windows: int
   :param backtesting_window_step_size: Use this step size to shift backtesting windows for model training.
   :type backtesting_window_step_size: int
   :param full_data_retraining: Train models separately with all the data.
   :type full_data_retraining: bool
   :param additional_forecast_keys: List[str]: List of categoricals in timeseries that can act as multi-identifier.
   :param experimentation_mode: Selecting Thorough Experimentation will take longer to train.
   :type experimentation_mode: ExperimentationMode
   :param type_of_split: Type of data splitting into train/test.
   :type type_of_split: ForecastingDataSplitType
   :param test_by_item: Partition train/test data by item rather than time if true.
   :type test_by_item: bool
   :param test_start: Limit training data to dates before the given test start.
   :type test_start: str
   :param test_split: Percent of dataset to use for test data. We support using a range between 5% to 20% of your dataset to use as test data.
   :type test_split: int
   :param loss_function: Loss function for training neural network.
   :type loss_function: ForecastingLossFunction
   :param underprediction_weight: Weight for underpredictions
   :type underprediction_weight: float
   :param disable_networks_without_analytic_quantiles: Disable neural networks, which quantile functions do not have analytic expressions (e.g, mixture models)
   :type disable_networks_without_analytic_quantiles: bool
   :param initial_learning_rate: Initial learning rate.
   :type initial_learning_rate: float
   :param l2_regularization_factor: L2 regularization factor.
   :type l2_regularization_factor: float
   :param dropout_rate: Dropout percentage rate.
   :type dropout_rate: int
   :param recurrent_layers: Number of recurrent layers to stack in network.
   :type recurrent_layers: int
   :param recurrent_units: Number of units in each recurrent layer.
   :type recurrent_units: int
   :param convolutional_layers: Number of convolutional layers to stack on top of recurrent layers in network.
   :type convolutional_layers: int
   :param convolution_filters: Number of filters in each convolution.
   :type convolution_filters: int
   :param local_scaling_mode: Options to make NN inputs stationary in high dynamic range datasets.
   :type local_scaling_mode: ForecastingLocalScaling
   :param zero_predictor: Include subnetwork to classify points where target equals zero.
   :type zero_predictor: bool
   :param skip_missing: Make the RNN ignore missing entries rather instead of processing them.
   :type skip_missing: bool
   :param batch_size: Batch size.
   :type batch_size: ForecastingBatchSize
   :param batch_renormalization: Enable batch renormalization between layers.
   :type batch_renormalization: bool
   :param history_length: While training, how much history to consider.
   :type history_length: int
   :param prediction_step_size: Number of future periods to include in objective for each training sample.
   :type prediction_step_size: int
   :param training_point_overlap: Amount of overlap to allow between training samples.
   :type training_point_overlap: float
   :param max_scale_context: Maximum context to use for local scaling.
   :type max_scale_context: int
   :param quantiles_extension_method: Quantile extension method
   :type quantiles_extension_method: ForecastingQuanitlesExtensionMethod
   :param number_of_samples: Number of samples for ancestral simulation
   :type number_of_samples: int
   :param symmetrize_quantiles: Force symmetric quantiles (like in Gaussian distribution)
   :type symmetrize_quantiles: bool
   :param use_log_transforms: Apply logarithmic transformations to input data.
   :type use_log_transforms: bool
   :param smooth_history: Smooth (low pass filter) the timeseries.
   :type smooth_history: float
   :param skip_local_scale_target: Skip using per training/prediction window target scaling.
   :type skip_local_scale_target: bool
   :param timeseries_weight_column: If set, we use the values in this column from timeseries data to assign time dependent item weights during training and evaluation.
   :type timeseries_weight_column: str
   :param item_attributes_weight_column: If set, we use the values in this column from item attributes data to assign weights to items during training and evaluation.
   :type item_attributes_weight_column: str
   :param use_timeseries_weights_in_objective: If True, we include weights from column set as "TIMESERIES WEIGHT COLUMN" in objective functions.
   :type use_timeseries_weights_in_objective: bool
   :param use_item_weights_in_objective: If True, we include weights from column set as "ITEM ATTRIBUTES WEIGHT COLUMN" in objective functions.
   :type use_item_weights_in_objective: bool
   :param skip_timeseries_weight_scaling: If True, we will avoid normalizing the weights.
   :type skip_timeseries_weight_scaling: bool
   :param timeseries_loss_weight_column: Use value in this column to weight the loss while training.
   :type timeseries_loss_weight_column: str
   :param use_item_id: Include a feature to indicate the item being forecast.
   :type use_item_id: bool
   :param use_all_item_totals: Include as input total target across items.
   :type use_all_item_totals: bool
   :param handle_zeros_as_missing_values: If True, handle zero values in demand as missing data.
   :type handle_zeros_as_missing_values: bool
   :param datetime_holiday_calendars: Holiday calendars to augment training with.
   :type datetime_holiday_calendars: List[HolidayCalendars]
   :param fill_missing_values: Strategy for filling in missing values.
   :type fill_missing_values: List[dict]
   :param enable_clustering: Enable clustering in forecasting.
   :type enable_clustering: bool
   :param data_split_feature_group_table_name: Specify the table name of the feature group to export training data with the fold column.
   :type data_split_feature_group_table_name: str
   :param custom_loss_functions: Registered custom losses available for selection.
   :type custom_loss_functions: List[str]
   :param custom_metrics: Registered custom metrics available for selection.
   :type custom_metrics: List[str]

   .. py:attribute:: prediction_length
      :type: int

      

   .. py:attribute:: objective
      :type: abacusai.api_class.enums.ForecastingObjective

      

   .. py:attribute:: sort_objective
      :type: abacusai.api_class.enums.ForecastingObjective

      

   .. py:attribute:: forecast_frequency
      :type: abacusai.api_class.enums.ForecastingFrequency

      

   .. py:attribute:: probability_quantiles
      :type: List[float]

      

   .. py:attribute:: force_prediction_length
      :type: bool

      

   .. py:attribute:: filter_items
      :type: bool

      

   .. py:attribute:: enable_feature_selection
      :type: bool

      

   .. py:attribute:: enable_cold_start
      :type: bool

      

   .. py:attribute:: enable_multiple_backtests
      :type: bool

      

   .. py:attribute:: num_backtesting_windows
      :type: int

      

   .. py:attribute:: backtesting_window_step_size
      :type: int

      

   .. py:attribute:: full_data_retraining
      :type: bool

      

   .. py:attribute:: additional_forecast_keys
      :type: List[str]

      

   .. py:attribute:: experimentation_mode
      :type: abacusai.api_class.enums.ExperimentationMode

      

   .. py:attribute:: type_of_split
      :type: abacusai.api_class.enums.ForecastingDataSplitType

      

   .. py:attribute:: test_by_item
      :type: bool

      

   .. py:attribute:: test_start
      :type: str

      

   .. py:attribute:: test_split
      :type: int

      

   .. py:attribute:: loss_function
      :type: abacusai.api_class.enums.ForecastingLossFunction

      

   .. py:attribute:: underprediction_weight
      :type: float

      

   .. py:attribute:: disable_networks_without_analytic_quantiles
      :type: bool

      

   .. py:attribute:: initial_learning_rate
      :type: float

      

   .. py:attribute:: l2_regularization_factor
      :type: float

      

   .. py:attribute:: dropout_rate
      :type: int

      

   .. py:attribute:: recurrent_layers
      :type: int

      

   .. py:attribute:: recurrent_units
      :type: int

      

   .. py:attribute:: convolutional_layers
      :type: int

      

   .. py:attribute:: convolution_filters
      :type: int

      

   .. py:attribute:: local_scaling_mode
      :type: abacusai.api_class.enums.ForecastingLocalScaling

      

   .. py:attribute:: zero_predictor
      :type: bool

      

   .. py:attribute:: skip_missing
      :type: bool

      

   .. py:attribute:: batch_size
      :type: abacusai.api_class.enums.BatchSize

      

   .. py:attribute:: batch_renormalization
      :type: bool

      

   .. py:attribute:: history_length
      :type: int

      

   .. py:attribute:: prediction_step_size
      :type: int

      

   .. py:attribute:: training_point_overlap
      :type: float

      

   .. py:attribute:: max_scale_context
      :type: int

      

   .. py:attribute:: quantiles_extension_method
      :type: abacusai.api_class.enums.ForecastingQuanitlesExtensionMethod

      

   .. py:attribute:: number_of_samples
      :type: int

      

   .. py:attribute:: symmetrize_quantiles
      :type: bool

      

   .. py:attribute:: use_log_transforms
      :type: bool

      

   .. py:attribute:: smooth_history
      :type: float

      

   .. py:attribute:: skip_local_scale_target
      :type: bool

      

   .. py:attribute:: timeseries_weight_column
      :type: str

      

   .. py:attribute:: item_attributes_weight_column
      :type: str

      

   .. py:attribute:: use_timeseries_weights_in_objective
      :type: bool

      

   .. py:attribute:: use_item_weights_in_objective
      :type: bool

      

   .. py:attribute:: skip_timeseries_weight_scaling
      :type: bool

      

   .. py:attribute:: timeseries_loss_weight_column
      :type: str

      

   .. py:attribute:: use_item_id
      :type: bool

      

   .. py:attribute:: use_all_item_totals
      :type: bool

      

   .. py:attribute:: handle_zeros_as_missing_values
      :type: bool

      

   .. py:attribute:: datetime_holiday_calendars
      :type: List[abacusai.api_class.enums.HolidayCalendars]

      

   .. py:attribute:: fill_missing_values
      :type: List[dict]

      

   .. py:attribute:: enable_clustering
      :type: bool

      

   .. py:attribute:: data_split_feature_group_table_name
      :type: str

      

   .. py:attribute:: custom_loss_functions
      :type: List[str]

      

   .. py:attribute:: custom_metrics
      :type: List[str]

      

   .. py:method:: __post_init__()



.. py:class:: NamedEntityExtractionTrainingConfig

   Bases: :py:obj:`TrainingConfig`

   Training config for the NAMED_ENTITY_EXTRACTION problem type
   :param objective: Ranking scheme used to select final best model.
   :type objective: NERObjective
   :param sort_objective: Ranking scheme used to sort models on the metrics page.
   :type sort_objective: NERObjective
   :param ner_model_type: Type of NER model to use.
   :type ner_model_type: NERModelType
   :param test_split: Percent of dataset to use for test data. We support using a range between 5 ( i.e. 5% ) to 20 ( i.e. 20% ) of your dataset.
   :type test_split: int
   :param test_row_indicator: Column indicating which rows to use for training (TRAIN) and testing (TEST).
   :type test_row_indicator: str
   :param dropout_rate: Dropout rate for neural network.
   :type dropout_rate: float
   :param batch_size: Batch size for neural network.
   :type batch_size: BatchSize
   :param active_labels_column: Entities that have been marked in a particular text
   :type active_labels_column: str
   :param document_format: Format of the input documents.
   :type document_format: NLPDocumentFormat
   :param include_longformer: Whether to include the longformer model.
   :type include_longformer: bool

   .. py:attribute:: objective
      :type: abacusai.api_class.enums.NERObjective

      

   .. py:attribute:: sort_objective
      :type: abacusai.api_class.enums.NERObjective

      

   .. py:attribute:: ner_model_type
      :type: abacusai.api_class.enums.NERModelType

      

   .. py:attribute:: test_split
      :type: int

      

   .. py:attribute:: test_row_indicator
      :type: str

      

   .. py:attribute:: dropout_rate
      :type: float

      

   .. py:attribute:: batch_size
      :type: abacusai.api_class.enums.BatchSize

      

   .. py:attribute:: active_labels_column
      :type: str

      

   .. py:attribute:: document_format
      :type: abacusai.api_class.enums.NLPDocumentFormat

      

   .. py:attribute:: include_longformer
      :type: bool

      

   .. py:method:: __post_init__()



.. py:class:: NaturalLanguageSearchTrainingConfig

   Bases: :py:obj:`TrainingConfig`

   Training config for the NATURAL_LANGUAGE_SEARCH problem type
   :param abacus_internal_model: Use a Abacus.AI LLM to answer questions about your data without using any external APIs
   :type abacus_internal_model: bool
   :param num_completion_tokens: Default for maximum number of tokens for chat answers. Reducing this will get faster responses which are more succinct
   :type num_completion_tokens: int
   :param larger_embeddings: Use a higher dimension embedding model.
   :type larger_embeddings: bool
   :param search_chunk_size: Chunk size for indexing the documents.
   :type search_chunk_size: int
   :param chunk_overlap_fraction: Overlap in chunks while indexing the documents.
   :type chunk_overlap_fraction: float
   :param test_split: Percent of dataset to use for test data. We support using a range between 5 ( i.e. 5% ) to 20 ( i.e. 20% ) of your dataset.
   :type test_split: int

   .. py:attribute:: abacus_internal_model
      :type: bool

      

   .. py:attribute:: num_completion_tokens
      :type: int

      

   .. py:attribute:: larger_embeddings
      :type: bool

      

   .. py:attribute:: search_chunk_size
      :type: int

      

   .. py:attribute:: index_fraction
      :type: float

      

   .. py:attribute:: chunk_overlap_fraction
      :type: float

      

   .. py:method:: __post_init__()



.. py:class:: ChatLLMTrainingConfig

   Bases: :py:obj:`TrainingConfig`

   Training config for the CHAT_LLM problem type
   :param document_retrievers: List of document retriever names to use for the feature stores this model was trained with.
   :type document_retrievers: List[str]
   :param num_completion_tokens: Default for maximum number of tokens for chat answers. Reducing this will get faster responses which are more succinct
   :type num_completion_tokens: int
   :param system_message: The generative LLM system message
   :type system_message: str
   :param temperature: The generative LLM temperature
   :type temperature: float
   :param metadata_columns: Include the metadata column values in the retrieved search results.
   :type metadata_columns: list

   .. py:attribute:: document_retrievers
      :type: List[str]

      

   .. py:attribute:: num_completion_tokens
      :type: int

      

   .. py:attribute:: system_message
      :type: str

      

   .. py:attribute:: temperature
      :type: float

      

   .. py:attribute:: metadata_columns
      :type: list

      

   .. py:method:: __post_init__()



.. py:class:: SentenceBoundaryDetectionTrainingConfig

   Bases: :py:obj:`TrainingConfig`

   Training config for the SENTENCE_BOUNDARY_DETECTION problem type
   :param test_split: Percent of dataset to use for test data. We support using a range between 5 ( i.e. 5% ) to 20 ( i.e. 20% ) of your dataset.
   :type test_split: int
   :param dropout_rate: Dropout rate for neural network.
   :type dropout_rate: float
   :param batch_size: Batch size for neural network.
   :type batch_size: BatchSize

   .. py:attribute:: test_split
      :type: int

      

   .. py:attribute:: dropout_rate
      :type: float

      

   .. py:attribute:: batch_size
      :type: abacusai.api_class.enums.BatchSize

      

   .. py:method:: __post_init__()



.. py:class:: SentimentDetectionTrainingConfig

   Bases: :py:obj:`TrainingConfig`

   Training config for the SENTIMENT_DETECTION problem type
   :param sentiment_type: Type of sentiment to detect.
   :type sentiment_type: SentimentType
   :param test_split: Percent of dataset to use for test data. We support using a range between 5 ( i.e. 5% ) to 20 ( i.e. 20% ) of your dataset.
   :type test_split: int
   :param dropout_rate: Dropout rate for neural network.
   :type dropout_rate: float
   :param batch_size: Batch size for neural network.
   :type batch_size: BatchSize
   :param compute_metrics: Whether to compute metrics.
   :type compute_metrics: bool

   .. py:attribute:: sentiment_type
      :type: abacusai.api_class.enums.SentimentType

      

   .. py:attribute:: test_split
      :type: int

      

   .. py:attribute:: dropout_rate
      :type: float

      

   .. py:attribute:: batch_size
      :type: abacusai.api_class.enums.BatchSize

      

   .. py:attribute:: compute_metrics
      :type: bool

      

   .. py:method:: __post_init__()



.. py:class:: DocumentClassificationTrainingConfig

   Bases: :py:obj:`TrainingConfig`

   Training config for the DOCUMENT_CLASSIFICATION problem type
   :param zero_shot_hypotheses: Zero shot hypotheses. Example text: 'This text is about pricing'.
   :type zero_shot_hypotheses: List[str]
   :param test_split: Percent of dataset to use for test data. We support using a range between 5 ( i.e. 5% ) to 20 ( i.e. 20% ) of your dataset.
   :type test_split: int
   :param dropout_rate: Dropout rate for neural network.
   :type dropout_rate: float
   :param batch_size: Batch size for neural network.
   :type batch_size: BatchSize

   .. py:attribute:: zero_shot_hypotheses
      :type: List[str]

      

   .. py:attribute:: test_split
      :type: int

      

   .. py:attribute:: dropout_rate
      :type: float

      

   .. py:attribute:: batch_size
      :type: abacusai.api_class.enums.BatchSize

      

   .. py:method:: __post_init__()



.. py:class:: DocumentSummarizationTrainingConfig

   Bases: :py:obj:`TrainingConfig`

   Training config for the DOCUMENT_SUMMARIZATION problem type
   :param test_split: Percent of dataset to use for test data. We support using a range between 5 ( i.e. 5% ) to 20 ( i.e. 20% ) of your dataset.
   :type test_split: int
   :param dropout_rate: Dropout rate for neural network.
   :type dropout_rate: float
   :param batch_size: Batch size for neural network.
   :type batch_size: BatchSize

   .. py:attribute:: test_split
      :type: int

      

   .. py:attribute:: dropout_rate
      :type: float

      

   .. py:attribute:: batch_size
      :type: abacusai.api_class.enums.BatchSize

      

   .. py:method:: __post_init__()



.. py:class:: DocumentVisualizationTrainingConfig

   Bases: :py:obj:`TrainingConfig`

   Training config for the DOCUMENT_VISUALIZATION problem type
   :param test_split: Percent of dataset to use for test data. We support using a range between 5 ( i.e. 5% ) to 20 ( i.e. 20% ) of your dataset.
   :type test_split: int
   :param dropout_rate: Dropout rate for neural network.
   :type dropout_rate: float
   :param batch_size: Batch size for neural network.
   :type batch_size: BatchSize

   .. py:attribute:: test_split
      :type: int

      

   .. py:attribute:: dropout_rate
      :type: float

      

   .. py:attribute:: batch_size
      :type: abacusai.api_class.enums.BatchSize

      

   .. py:method:: __post_init__()



.. py:class:: ClusteringTrainingConfig

   Bases: :py:obj:`TrainingConfig`

   Training config for the CLUSTERING problem type
   :param num_clusters_selection: Number of clusters. If None, will be selected automatically.
   :type num_clusters_selection: int

   .. py:attribute:: num_clusters_selection
      :type: int

      

   .. py:method:: __post_init__()



.. py:class:: ClusteringTimeseriesTrainingConfig

   Bases: :py:obj:`TrainingConfig`

   Training config for the CLUSTERING_TIMESERIES problem type
   :param num_clusters_selection: Number of clusters. If None, will be selected automatically.
   :type num_clusters_selection: int
   :param imputation: Imputation method for missing values.
   :type imputation: ClusteringImputationMethod

   .. py:attribute:: num_clusters_selection
      :type: int

      

   .. py:attribute:: imputation
      :type: abacusai.api_class.enums.ClusteringImputationMethod

      

   .. py:method:: __post_init__()



.. py:class:: EventAnomalyTrainingConfig

   Bases: :py:obj:`TrainingConfig`

   Training config for the EVENT_ANOMALY problem type
   :param anomaly_fraction: The fraction of the dataset to classify as anomalous, between 0 and 0.5
   :type anomaly_fraction: float

   .. py:attribute:: anomaly_fraction
      :type: float

      

   .. py:method:: __post_init__()



.. py:class:: CumulativeForecastingTrainingConfig

   Bases: :py:obj:`TrainingConfig`

   Training config for the CUMULATIVE_FORECASTING problem type
   :param test_split: Percent of dataset to use for test data. We support using a range between 5 ( i.e. 5% ) to 20 ( i.e. 20% ) of your dataset.
   :type test_split: int
   :param historical_frequency: Forecast frequency
   :type historical_frequency: str
   :param cumulative_prediction_lengths: List of Cumulative Prediction Frequencies. Each prediction length must be between 1 and 365.
   :type cumulative_prediction_lengths: List[int]
   :param skip_input_transform: Avoid doing numeric scaling transformations on the input.
   :type skip_input_transform: bool
   :param skip_target_transform: Avoid doing numeric scaling transformations on the target.
   :type skip_target_transform: bool
   :param predict_residuals: Predict residuals instead of totals at each prediction step.
   :type predict_residuals: bool

   .. py:attribute:: test_split
      :type: int

      

   .. py:attribute:: historical_frequency
      :type: str

      

   .. py:attribute:: cumulative_prediction_lengths
      :type: List[int]

      

   .. py:attribute:: skip_input_transform
      :type: bool

      

   .. py:attribute:: skip_target_transform
      :type: bool

      

   .. py:attribute:: predict_residuals
      :type: bool

      

   .. py:method:: __post_init__()



.. py:class:: AnomalyDetectionTrainingConfig

   Bases: :py:obj:`TrainingConfig`

   Training config for the ANOMALY_DETECTION problem type
   :param test_split: Percent of dataset to use for test data. We support using a range between 5 (i.e. 5%) to 20 (i.e. 20%) of your dataset to use as test data.
   :type test_split: int
   :param value_high: Detect unusually high values.
   :type value_high: bool
   :param mixture_of_gaussians: Detect unusual combinations of values using mixture of Gaussians.
   :type mixture_of_gaussians: bool
   :param variational_autoencoder: Use variational autoencoder for anomaly detection.
   :type variational_autoencoder: bool
   :param spike_up: Detect outliers with a high value.
   :type spike_up: bool
   :param spike_down: Detect outliers with a low value.
   :type spike_down: bool
   :param trend_change: Detect changes to the trend.
   :type trend_change: bool

   .. py:attribute:: test_split
      :type: int

      

   .. py:attribute:: value_high
      :type: bool

      

   .. py:attribute:: mixture_of_gaussians
      :type: bool

      

   .. py:attribute:: variational_autoencoder
      :type: bool

      

   .. py:attribute:: spike_up
      :type: bool

      

   .. py:attribute:: spike_down
      :type: bool

      

   .. py:attribute:: trend_change
      :type: bool

      

   .. py:method:: __post_init__()



.. py:class:: ThemeAnalysisTrainingConfig

   Bases: :py:obj:`TrainingConfig`

   Training config for the THEME ANALYSIS problem type

   .. py:method:: __post_init__()



.. py:class:: AIAgentTrainingConfig

   Bases: :py:obj:`TrainingConfig`

   Training config for the AI_AGENT problem type
   :param description: Description of the agent function.
   :type description: str
   :param enable_binary_input: If True, the agent will be able to accept binary data as inputs.
   :type enable_binary_input: bool

   .. py:attribute:: description
      :type: str

      

   .. py:attribute:: enable_binary_input
      :type: bool

      

   .. py:method:: __post_init__()



.. py:class:: CustomTrainedModelTrainingConfig

   Bases: :py:obj:`TrainingConfig`

   Training config for the CUSTOM_TRAINED_MODEL problem type
   :param max_catalog_size: Maximum expected catalog size.
   :type max_catalog_size: int
   :param max_dimension: Maximum expected dimension of the catalog.
   :type max_dimension: int
   :param index_output_path: Fully qualified cloud location (GCS, S3, etc) to export snapshots of the embedding to.
   :type index_output_path: str
   :param docker_image_uri: Docker image URI.
   :type docker_image_uri: str
   :param service_port: Service port.
   :type service_port: int

   .. py:attribute:: max_catalog_size
      :type: int

      

   .. py:attribute:: max_dimension
      :type: int

      

   .. py:attribute:: index_output_path
      :type: str

      

   .. py:attribute:: docker_image_uri
      :type: str

      

   .. py:attribute:: service_port
      :type: int

      

   .. py:method:: __post_init__()



.. py:class:: CustomAlgorithmTrainingConfig

   Bases: :py:obj:`TrainingConfig`

   Training config for the CUSTOM_ALGORITHM problem type
   :param train_function_name: The name of the train function.
   :type train_function_name: str
   :param predict_many_function_name: The name of the predict many function.
   :type predict_many_function_name: str
   :param training_input_tables: List of tables to use for training.
   :type training_input_tables: List[str]
   :param predict_function_name: Optional name of the predict function if the predict many function is not given.
   :type predict_function_name: str
   :param train_module_name: The name of the train module - only relevant if model is being uploaded from a zip file or github repositoty.
   :type train_module_name: str
   :param predict_module_name: The name of the predict module - only relevant if model is being uploaded from a zip file or github repositoty.
   :type predict_module_name: str
   :param test_split: Percent of dataset to use for test data. We support using a range between 6% to 20% of your dataset to use as test data.
   :type test_split: int

   .. py:attribute:: train_function_name
      :type: str

      

   .. py:attribute:: predict_many_function_name
      :type: str

      

   .. py:attribute:: training_input_tables
      :type: List[str]

      

   .. py:attribute:: predict_function_name
      :type: str

      

   .. py:attribute:: train_module_name
      :type: str

      

   .. py:attribute:: predict_module_name
      :type: str

      

   .. py:attribute:: test_split
      :type: int

      

   .. py:method:: __post_init__()



.. py:class:: OptimizationTrainingConfig

   Bases: :py:obj:`TrainingConfig`

   Training config for the OPTIMIZATION problem type
   :param solve_time_limit: The maximum time in seconds to spend solving the problem. Accepts values between 0 and 86400.
   :type solve_time_limit: float

   .. py:attribute:: solve_time_limit
      :type: float

      

   .. py:method:: __post_init__()



.. py:class:: _TrainingConfigFactory

   Bases: :py:obj:`abacusai.api_class.abstract._ApiClassFactory`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: config_abstract_class

      

   .. py:attribute:: config_class_key
      :value: 'problem_type'

      

   .. py:attribute:: config_class_map

      


.. py:class:: ApiClass

   Bases: :py:obj:`abc.ABC`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: _upper_snake_case_keys
      :type: bool

      

   .. py:attribute:: _support_kwargs
      :type: bool

      

   .. py:method:: __post_init__()


   .. py:method:: _get_builder()
      :classmethod:


   .. py:method:: to_dict()

      Standardizes converting an ApiClass to dictionary.
      Keys of response dictionary are converted to camel case.
      This also validates the fields ( type, value, etc ) received in the dictionary.


   .. py:method:: from_dict(input_dict)
      :classmethod:



.. py:class:: FeatureMappingConfig

   Bases: :py:obj:`abacusai.api_class.abstract.ApiClass`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: feature_name
      :type: str

      

   .. py:attribute:: feature_mapping
      :type: str

      

   .. py:attribute:: nested_feature_name
      :type: str

      


.. py:class:: ProjectFeatureGroupTypeMappingsConfig

   Bases: :py:obj:`abacusai.api_class.abstract.ApiClass`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: feature_group_id
      :type: str

      

   .. py:attribute:: feature_group_type
      :type: str

      

   .. py:attribute:: feature_mappings
      :type: List[FeatureMappingConfig]

      

   .. py:method:: from_dict(input_dict)
      :classmethod:



.. py:class:: ApiClass

   Bases: :py:obj:`abc.ABC`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: _upper_snake_case_keys
      :type: bool

      

   .. py:attribute:: _support_kwargs
      :type: bool

      

   .. py:method:: __post_init__()


   .. py:method:: _get_builder()
      :classmethod:


   .. py:method:: to_dict()

      Standardizes converting an ApiClass to dictionary.
      Keys of response dictionary are converted to camel case.
      This also validates the fields ( type, value, etc ) received in the dictionary.


   .. py:method:: from_dict(input_dict)
      :classmethod:



.. py:class:: PythonFunctionArgument

   Bases: :py:obj:`abacusai.api_class.abstract.ApiClass`

   A config class for python function arguments

   :param variable_type: The type of the python function argument
   :type variable_type: PythonFunctionArgumentType
   :param name: The name of the python function variable
   :type name: str
   :param is_required: Whether the argument is required
   :type is_required: bool
   :param value: The value of the argument
   :type value: Any
   :param pipeline_variable: The name of the pipeline variable to use as the value
   :type pipeline_variable: str

   .. py:attribute:: variable_type
      :type: abacusai.api_class.enums.PythonFunctionArgumentType

      

   .. py:attribute:: name
      :type: str

      

   .. py:attribute:: is_required
      :type: bool

      

   .. py:attribute:: value
      :type: Any

      

   .. py:attribute:: pipeline_variable
      :type: str

      


.. py:class:: OutputVariableMapping

   Bases: :py:obj:`abacusai.api_class.abstract.ApiClass`

   A config class for python function arguments

   :param variable_type: The type of the python function output argument
   :type variable_type: PythonFunctionOutputArgumentType
   :param name: The name of the python function variable
   :type name: str

   .. py:attribute:: variable_type
      :type: abacusai.api_class.enums.PythonFunctionOutputArgumentType

      

   .. py:attribute:: name
      :type: str

      


.. py:class:: ApiClass

   Bases: :py:obj:`abc.ABC`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: _upper_snake_case_keys
      :type: bool

      

   .. py:attribute:: _support_kwargs
      :type: bool

      

   .. py:method:: __post_init__()


   .. py:method:: _get_builder()
      :classmethod:


   .. py:method:: to_dict()

      Standardizes converting an ApiClass to dictionary.
      Keys of response dictionary are converted to camel case.
      This also validates the fields ( type, value, etc ) received in the dictionary.


   .. py:method:: from_dict(input_dict)
      :classmethod:



.. py:class:: _ApiClassFactory

   Bases: :py:obj:`abc.ABC`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: config_abstract_class

      

   .. py:attribute:: config_class_key

      

   .. py:attribute:: config_class_map

      

   .. py:method:: from_dict(config)
      :classmethod:



.. py:class:: FeatureGroupExportConfig

   Bases: :py:obj:`abacusai.api_class.abstract.ApiClass`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: connector_type
      :type: abacusai.api_class.enums.ConnectorType

      

   .. py:method:: _get_builder()
      :classmethod:



.. py:class:: FileConnectorExportConfig

   Bases: :py:obj:`FeatureGroupExportConfig`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: connector_type
      :type: abacusai.api_class.enums.ConnectorType

      

   .. py:attribute:: location
      :type: str

      

   .. py:attribute:: export_file_format
      :type: str

      

   .. py:method:: to_dict()

      Standardizes converting an ApiClass to dictionary.
      Keys of response dictionary are converted to camel case.
      This also validates the fields ( type, value, etc ) received in the dictionary.



.. py:class:: DatabaseConnectorExportConfig

   Bases: :py:obj:`FeatureGroupExportConfig`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: connector_type
      :type: abacusai.api_class.enums.ConnectorType

      

   .. py:attribute:: database_connector_id
      :type: str

      

   .. py:attribute:: mode
      :type: str

      

   .. py:attribute:: object_name
      :type: str

      

   .. py:attribute:: id_column
      :type: str

      

   .. py:attribute:: additional_id_columns
      :type: List[str]

      

   .. py:attribute:: data_columns
      :type: Dict[str, str]

      

   .. py:method:: to_dict()

      Standardizes converting an ApiClass to dictionary.
      Keys of response dictionary are converted to camel case.
      This also validates the fields ( type, value, etc ) received in the dictionary.



.. py:class:: _FeatureGroupExportConfigFactory

   Bases: :py:obj:`abacusai.api_class.abstract._ApiClassFactory`

   Helper class that provides a standard way to create an ABC using
   inheritance.

   .. py:attribute:: config_abstract_class

      

   .. py:attribute:: config_class_key
      :value: 'connectorType'

      

   .. py:attribute:: config_class_map

      


