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