Class: AWSCDK::CleanRooms::CfnAnalysisTemplate::MLSyntheticDataParametersProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::CleanRooms::CfnAnalysisTemplate::MLSyntheticDataParametersProperty
- 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
-
#column_classification ⇒ AWSCDK::IResolvable, AWSCDK::CleanRooms::CfnAnalysisTemplate::ColumnClassificationDetailsProperty
readonly
Classification details for data columns that specify how each column should be treated during synthetic data generation.
-
#epsilon ⇒ Numeric
readonly
The epsilon value for differential privacy when generating synthetic data.
-
#max_membership_inference_attack_score ⇒ Numeric
readonly
The maximum acceptable score for membership inference attack vulnerability.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(column_classification:, epsilon:, max_membership_inference_attack_score:) ⇒ MLSyntheticDataParametersProperty
constructor
A new instance of MLSyntheticDataParametersProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(column_classification:, epsilon:, max_membership_inference_attack_score:) ⇒ MLSyntheticDataParametersProperty
Returns a new instance of MLSyntheticDataParametersProperty.
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_classification ⇒ AWSCDK::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 |
#epsilon ⇒ Numeric (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_score ⇒ Numeric (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_properties ⇒ Object
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_jsii ⇒ Object
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 |