Class: AWSCDK::CleanRooms::CfnAnalysisTemplate::MLSyntheticDataParametersProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
clean_rooms/cfn_analysis_template.rb

Overview

Parameters that control the generation of synthetic data for machine learning, including privacy settings and column classification details.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(column_classification:, epsilon:, max_membership_inference_attack_score:) ⇒ MLSyntheticDataParametersProperty

Returns a new instance of MLSyntheticDataParametersProperty.

Parameters:



1110
1111
1112
1113
1114
1115
1116
1117
# File 'clean_rooms/cfn_analysis_template.rb', line 1110

def initialize(column_classification:, epsilon:, max_membership_inference_attack_score:)
  @column_classification = column_classification.is_a?(Hash) ? ::AWSCDK::CleanRooms::CfnAnalysisTemplate::ColumnClassificationDetailsProperty.new(**column_classification.transform_keys(&:to_sym)) : column_classification
  Jsii::Type.check_type(@column_classification, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jbGVhbnJvb21zLkNmbkFuYWx5c2lzVGVtcGxhdGUuQ29sdW1uQ2xhc3NpZmljYXRpb25EZXRhaWxzUHJvcGVydHkifV19fQ==")), "columnClassification")
  @epsilon = epsilon
  Jsii::Type.check_type(@epsilon, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "epsilon")
  @max_membership_inference_attack_score = max_membership_inference_attack_score
  Jsii::Type.check_type(@max_membership_inference_attack_score, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxMembershipInferenceAttackScore")
end

Instance Attribute Details

#column_classificationAWSCDK::IResolvable, AWSCDK::CleanRooms::CfnAnalysisTemplate::ColumnClassificationDetailsProperty (readonly)

Classification details for data columns that specify how each column should be treated during synthetic data generation.



1123
1124
1125
# File 'clean_rooms/cfn_analysis_template.rb', line 1123

def column_classification
  @column_classification
end

#epsilonNumeric (readonly)

The epsilon value for differential privacy when generating synthetic data.

Lower values provide stronger privacy guarantees but may reduce data utility.



1130
1131
1132
# File 'clean_rooms/cfn_analysis_template.rb', line 1130

def epsilon
  @epsilon
end

#max_membership_inference_attack_scoreNumeric (readonly)

The maximum acceptable score for membership inference attack vulnerability.

Synthetic data generation fails if the score for the resulting data exceeds this threshold.



1137
1138
1139
# File 'clean_rooms/cfn_analysis_template.rb', line 1137

def max_membership_inference_attack_score
  @max_membership_inference_attack_score
end

Class Method Details

.jsii_propertiesObject



1139
1140
1141
1142
1143
1144
1145
# File 'clean_rooms/cfn_analysis_template.rb', line 1139

def self.jsii_properties
  {
    :column_classification => "columnClassification",
    :epsilon => "epsilon",
    :max_membership_inference_attack_score => "maxMembershipInferenceAttackScore",
  }
end

Instance Method Details

#to_jsiiObject



1147
1148
1149
1150
1151
1152
1153
1154
1155
# File 'clean_rooms/cfn_analysis_template.rb', line 1147

def to_jsii
  result = {}
  result.merge!({
    "columnClassification" => @column_classification,
    "epsilon" => @epsilon,
    "maxMembershipInferenceAttackScore" => @max_membership_inference_attack_score,
  })
  result.compact
end