Source code for sparklightautoml.dataset.roles

from typing import Union, List

from lightautoml.dataset.roles import NumericRole, Dtype
import numpy as np


[docs]class NumericVectorOrArrayRole(NumericRole): """ Role that describe numeric vector or numeric array. """ _name = "NumericVectorOrArray"
[docs] def __init__( self, size: int, element_col_name_template: Union[str, List[str]], dtype: Dtype = np.float32, force_input: bool = False, prob: bool = False, discretization: bool = False, is_vector: bool = True, ): """ Args: size: number of elements in every vector in this column element_col_name_template: string template to produce name for each element in the vector when array-to-columns transformation is neccessary dtype: type of the vector's elements force_input: Select a feature for training, regardless of the selector results. prob: If input number is probability. """ super().__init__(dtype, force_input, prob, discretization) self.size = size self.element_col_name_template = element_col_name_template self.is_vector = is_vector
[docs] def feature_name_at(self, position: int) -> str: """ produces a name for feature on ``position`` in the vector Args: position: position in the vector in range [0 .. size] Returns: feature name """ assert 0 <= position < self.size if isinstance(self.element_col_name_template, str): return self.element_col_name_template.format(position) return self.element_col_name_template[position]