def create_constructor_arg_dict()

in src/responsibleai/rai_analyse/create_rai_insights.py [0:0]


def create_constructor_arg_dict(args):
    """Create a kwarg dict for RAIInsights constructor

    Only does the 'parameters' for the component, not the
    input ports
    """
    result = dict()

    cat_col_names = get_arg(
        args, "categorical_column_names", custom_parser=json.loads, allow_none=True
    )
    class_names = get_arg(
        args, "classes", custom_parser=json_empty_is_none_parser, allow_none=True
    )
    feature_metadata_dict = get_arg(
        args, "feature_metadata", custom_parser=json.loads, allow_none=True
    )
    feature_metadata = FeatureMetadata()
    try:
        for key in [
                PropertyKeyValues.RAI_INSIGHTS_DROPPED_FEATURE_KEY,
                PropertyKeyValues.RAI_INSIGHTS_IDENTITY_FEATURE_KEY,
                PropertyKeyValues.RAI_INSIGHTS_DATETIME_FEATURES_KEY,
                PropertyKeyValues.RAI_INSIGHTS_TIME_SERIES_ID_FEATURES_KEY]:
            if key in feature_metadata_dict.keys():
                setattr(feature_metadata, key, feature_metadata_dict[key])
    except AttributeError as e:
        raise UserConfigValidationException(f"Feature metadata should be parsed to a dictionary. {e}")

    if cat_col_names:
        feature_metadata.categorical_features = cat_col_names

    result["target_column"] = args.target_column_name
    result["task_type"] = args.task_type
    result["classes"] = class_names
    result["feature_metadata"] = feature_metadata
    result["maximum_rows_for_test"] = args.maximum_rows_for_test_dataset

    return result