Source code for fl4health.feature_alignment.constants
from enum import Enum
from sklearn.feature_extraction.text import CountVectorizer, HashingVectorizer, TfidfTransformer, TfidfVectorizer
TextFeatureTransformer = CountVectorizer | TfidfTransformer | TfidfVectorizer | HashingVectorizer
# constants used in config for communication between
# the server and clients.
# FORMAT_SPECIFIED indicates whether the server has the "source of truth"
# to be used for feature alignment.
SOURCE_SPECIFIED = "source_specified"
# FEATURE_INFO refers to the encoded feature information (source of truth).
FEATURE_INFO = "feature_info"
# These are used to initialize a global model on the server's side.
INPUT_DIMENSION = "input_dimension"
OUTPUT_DIMENSION = "output_dimension"
CURRENT_SERVER_ROUND = "current_server_round"
[docs]
class FeatureType(Enum):
NUMERIC = "numeric"
BINARY = "binary"
STRING = "string"
ORDINAL = "ordinal"
CATEGORICAL_INDICATOR = "categorical_indicator"
FEATURE_TYPES = [
FeatureType.NUMERIC,
FeatureType.BINARY,
FeatureType.STRING,
FeatureType.ORDINAL,
]
FEATURE_INDICATOR_ATTR = "indicator_of"
FEATURE_MAPPING_ATTR = "mapping"
FEATURE_TYPE_ATTR = "type_"
FEATURE_TARGET_ATTR = "target"
FEATURE_META_ATTR_DEFAULTS = {
FEATURE_TARGET_ATTR: False,
FEATURE_INDICATOR_ATTR: None,
FEATURE_MAPPING_ATTR: None,
}
FEATURE_META_ATTRS = [
FEATURE_TYPE_ATTR,
FEATURE_TARGET_ATTR,
FEATURE_INDICATOR_ATTR,
FEATURE_MAPPING_ATTR,
]
MISSING_CATEGORY = "null_category"