노드 평가
Synthetic Data Generator 에서 평가 노드를 사용하여 합성 데이터를 시드 데이터와 비교하고 품질을 평가할 수 있습니다.
- 설명
- Synthetic Data Generator 플로우에서 평가 노드를 사용하여 생성된 합성 데이터 집합을 원본 데이터 집합과 비교하여 품질 및 개인정보 보호 메트릭을 평가합니다.
- 노드 사용
- 평가 노드를 생성 노드와 가져오기 노드 또는 익명화 노드에 연결합니다. 출력은 메트릭을 표시하는 보고서입니다. 원본과 비교한 합성 데이터 세트의 충실도 및 데이터 구별 가능성 메트릭을 확인할 수 있습니다. 또한 유출 및 근접성 점수와 같은 개인정보 보호 메트릭도 확인할 수 있습니다.
- Synthetic Data Generator 플로우에 평가 노드를 여러 번 포함할 수 있습니다. 하지만 한 번에 한 세트의 노드에만 연결할 수 있습니다.
- 규모가 크거나 복잡한 데이터 세트는 평가 노드가 분석하는 데 더 많은 메모리가 필요합니다. 예를 들어, 복잡한 데이터 집합에는 열 간에 많은 상관관계가 있습니다. 데이터 세트가 크거나 복잡한 경우 평가 노드를 사용하여 여러 흐름을 동시에 실행하지 마세요. 평가 노드에 메모리가 부족하면 오류가 발생할 수 있습니다. 자세한 내용은 문제 해결 Synthetic Data Generator 을 참조하세요.
- 필수 또는 선택 사항
- 평가 노드는 선택 사항이지만 합성 데이터 세트가 원하는 품질 표준을 충족하는지 확인하는 데 적극 권장됩니다.
평가 노드를 사용한 스크립팅
Python 와 같은 스크립팅 언어를 사용하여 프로그래밍 방식으로 노드에 대한 속성을 설정할 수 있습니다.
노드 속성 평가
다음 속성은 평가 노드에만 해당합니다. 일반적인 노드 속성에 대한 자세한 내용은 흐름 및 노드 속성을 참조하세요.
| 특성 이름 | 데이터 유형 | 특성 설명 |
|---|---|---|
asset_type |
DataAsset, 연결 | 데이터 유형을 지정하십시오: DataAsset 또는 Connection. |
asset_id |
문자열 | 가 에 asset_type설정될 DataAsset 때, 이는 자산의 ID입니다. |
asset_name |
문자열 | 가 에 asset_type설정될 DataAsset 때, 이는 자산의 이름입니다. |
baseline_input |
문자열 | 평가 노드에는 원래 기준 데이터가 포함된 노드와 생성된 합성 데이터가 포함된 노드, 두 노드의 연결이 필요합니다. |
connection_id |
문자열 | 가 로 asset_type설정될 Connection 때, 이는 연결의 ID입니다. |
connection_name |
문자열 | 에 대한 가 asset_type설정될 Connection 때, 이는 연결의 이름입니다. |
connection_path |
문자열 | 가 로 asset_type설정될 Connection 때, 이는 연결의 경로입니다. |
fast_evaluation |
부울 | 간단한 평가 모드를 사용하려면 True 으로 설정합니다. 간단한 평가 모드에서는 메트릭이 단일 머신러닝(ML) 모델에 대해 실행됩니다. 전체 평가 모드에서는 가능한 한 여러 ML(머신 러닝) 모델에 대해 메트릭을 평가하고 평균을 구합니다. |
feature_distribution_bin_nb |
정수 | 기능을 배포할 빈의 수입니다. |
predictive_utility_column |
문자열 | show_predictive_utility 속성에 사용할 열입니다. |
show_predictive_utility |
부울 | True 으로 설정하여 예측 다운스트림 작업에 대한 합성 데이터의 유용성을 측정합니다. 실제 데이터를 테스트 데이터로 사용하여 선택한 대상을 정확하게 예측하기 위해 합성 데이터로 학습된 예측 모델의 성능을 평가합니다. |
show_privacy_leakage_score |
부울 | True 로 설정하여 합성 데이터에서 실제 데이터의 행과 다른 행의 비율을 측정합니다. 유출 방지율이 100%라는 것은 모든 합성 행이 새 행임을 의미하며, 유출 방지율이 0%라는 것은 모든 합성 행이 실제 데이터에서 복사되었음을 의미합니다. |
show_privacy_proximity_score |
부울 | True 로 설정하여 합성 데이터의 포인트와 실제 데이터 사이의 거리를 계산합니다. 이 거리가 작을수록 실제 데이터에서 일부 행을 분리하기가 더 쉬워지므로 개인 정보 위험이 증가합니다. |
show_data_distinguishability |
부울 | 실제 데이터와 합성 데이터를 구분하는 이진 분류기의 기능을 평가하려면 True 으로 설정합니다. 이러한 분류기를 훈련하기 어려울수록 실제 데이터의 통계적 특성을 모방하는 능력과 관련하여 합성 데이터의 품질이 더 좋아집니다. |
show_fidelity_score |
부울 | 여러 메트릭을 집계하고 개별 열의 분포에 대해 실제 데이터와 합성 데이터 간의 유사성을 평가하려면 True 으로 설정합니다. 또한 모든 열 쌍에 대한 상관관계의 유사성을 평가합니다. |
user_settings |
문자열 | 예를 들어 연결에 대한 상호 작용 속성을 포함하는 이스케이프 처리된 JSON 문자열입니다: user_settings: "{\"interactionProperties\":{\"write_mode\":\"write\",\"file_name\":\"output.csv\",\"file_format\":\"csv\",\"quote_numerics\":true,\"encoding\":\"utf-8\",\"first_line_header\":true,\"include_types\":false}}"이 값은 사용 중인 연결 유형에 따라 변경됩니다. |
예
다음은 스크립트에서 사용되는 속성의 예입니다.
import json
stream = sdg.script.stream()
dataassetimport = stream.findByID("<import nodeId>")
# loads the string settings as a json object
userSettings = json.loads(dataassetimport.getPropertyValue("user_settings"))
userSettings["interactionProperties"]["sheet_name"] = "<new sheet name>"
dataassetimport.setPropertyValue("user_settings", json.dumps(userSettings))