Source code for fedot.core.operations.data_operation

from fedot.core.data.data import OutputData
from fedot.core.operations.operation import Operation
from fedot.core.repository.operation_types_repository import OperationMetaInfo, OperationTypesRepository


[docs]class DataOperation(Operation): """Class with ``fit``/``predict`` methods defining the evaluation strategy for the task Args: operation_type: name of the data operation """ def __init__(self, operation_type: str): super().__init__(operation_type) self.operations_repo = OperationTypesRepository('data_operation') @property def metadata(self) -> OperationMetaInfo: operation_info = self.operations_repo.operation_info_by_id(self.operation_type) if not operation_info: raise ValueError(f'Data operation {self.operation_type} not found') return operation_info
[docs] @staticmethod def assign_tabular_column_types(output_data: OutputData, output_mode: str) -> OutputData: """Assign new column types if it necessary. By default, all data operations must define column types at lower levels (:obj:`EvalStrategies` and :obj:`Implementations`). In some cases the previously defined data types are passed. """ return output_data