Amazon Fraud Detector용 자동 데이터 프로파일러로 모델을 더 빠르게 훈련

소스 노드 : 1274468

아마존 사기 탐지기 가짜 계정 생성이나 온라인 결제 사기 등 잠재적인 사기 온라인 활동을 쉽게 식별할 수 있는 완전 관리형 서비스입니다. Amazon Fraud Detector는 내부적으로 기계 학습(ML)을 사용하며 Amazon의 20년 이상의 사기 탐지 전문 지식을 기반으로 합니다. ML 전문 지식 없이도 잠재적인 사기 활동을 밀리초 단위로 자동으로 식별합니다.

Amazon Fraud Detector에서 모델을 훈련하려면 기록 데이터 세트를 제공해야 합니다. Amazon Fraud Detector를 사용하는 데에는 데이터 과학 지식이 필요하지 않습니다. 그러나 그것은 가지고 있습니다 특정 요구 사항 ML 모델의 견고성을 보장하기 위해 데이터 품질 및 형식에 대해 설명합니다. 단순한 형식 및 유효성 검사 오류로 인해 모델 학습 오류가 발생할 수 있으며, 이로 인해 데이터를 다시 준비하고 모델을 다시 학습하는 데 추가 시간과 노력이 필요하게 됩니다. 또한 Amazon Fraud Detector에서는 다음을 정의해야 합니다. 변수 유형 모델 생성 중 데이터 세트의 각 변수에 대해. 데이터 통계를 기반으로 Amazon Fraud Detector 변수 유형을 선택하는 방법에 대한 제안이 있으면 도움이 될 수 있습니다.

이 게시물에서는 Amazon Fraud Detector용 자동 데이터 프로파일러를 소개합니다. 데이터 세트의 각 변수에 대해 제안된 Amazon Fraud Detector 변수 유형과 잠재적으로 모델 교육에 실패하거나 모델 성능을 저하시킬 수 있는 데이터 품질 문제가 포함된 데이터 세트에 대한 직관적이고 포괄적인 보고서를 생성할 수 있습니다. 또한 데이터 프로파일러는 Amazon Fraud Detector의 요구 사항을 충족하기 위해 데이터 세트를 다시 형식화하고 변환하는 옵션을 제공합니다. 이를 통해 모델 교육에서 일부 잠재적인 검증 오류를 방지할 수 있습니다. 이 자동화된 데이터 프로파일러는 AWS 클라우드 포메이션 몇 번의 클릭만으로 쉽게 시작할 수 있으며 데이터 과학이나 프로그래밍 지식이 필요하지 않습니다.

솔루션 개요

다음 다이어그램은 자동화된 데이터 프로파일러의 아키텍처를 보여줍니다. AWS 접착제, AWS 람다, 아마존 단순 스토리지 서비스 (Amazon S3) 및 AWS CloudFormation.

AWS CloudFormation의 빠른 실행 기능을 사용하여 데이터 프로파일러를 시작할 수 있습니다. 스택은 AWS Glue 작업을 자동으로 트리거하는 Lambda 함수를 생성하고 트리거합니다. AWS Glue 작업은 CSV 데이터 파일을 읽고, 데이터를 프로파일링하고 형식을 다시 지정하며, HTML 보고서 파일과 형식이 지정된 CSV 사본을 S3 버킷에 저장합니다.

다음 스크린샷은 샘플 프로파일링 보고서를 보여줍니다. 당신은 또한 볼 수 있습니다 전체 샘플 보고서.

샘플 보고서, 합성 데이터 세트 및 자동화된 데이터 프로파일러의 코드는 다음에서 사용할 수 있습니다. GitHub의.

데이터 프로파일러 실행

프로파일러를 시작하려면 다음 단계를 따르세요.

  1. 다음 AWS CloudFormation을 선택하십시오. 빠른 실행 링크.

그러면 AWS CloudFormation 빠른 실행 페이지가 열립니다.

  1. 해당 지역의 모든 리소스를 생성하려면 지역을 선택하세요.
  2. 럭셔리 CSV파일경로, CSV 파일의 S3 경로를 입력하세요.

출력 프로파일링 보고서와 형식이 지정된 CSV 파일은 동일한 버킷에 저장됩니다.

  1. 럭셔리 이벤트타임스탬프열에서 이벤트 타임스탬프 열의 헤더 이름을 입력합니다.

Amazon Fraud Detector에 필요한 필수 열입니다. 데이터 포맷터는 이 헤더 이름을 다음으로 변환합니다. EVENT_TIMESTAMP.

  1. 럭셔리 라벨열에서 라벨 열의 헤더 이름을 입력하세요.

Amazon Fraud Detector에 필요한 필수 열입니다. 데이터 포맷터는 이 헤더 이름을 다음으로 변환합니다. EVENT_LABEL.

  1. 럭셔리 파일구분자에서 CSV 파일의 구분 기호를 입력합니다(기본적으로 쉼표임).
  2. 럭셔리 형식CSV, CSV 파일을 Amazon Fraud Detector 필수 형식(기본적으로 가능).

이는 헤더 이름, 타임스탬프 형식 및 레이블 형식을 변환합니다. CSV 데이터의 형식화된 사본은 입력 CSV와 동일한 버킷에 저장됩니다.

  1. 럭셔리 삭제타임스탬프누락된 행에서 형식이 지정된 CSV 사본에서 타임스탬프가 누락된 행을 삭제할지 여부를 선택하세요.

타임스탬프가 누락된 이벤트는 Amazon Fraud Detector에서 사용되지 않으며 확인 오류가 발생할 수 있으므로 이를 다음과 같이 설정하는 것이 좋습니다. 가능.

  1. 럭셔리 DropLabelMissing행에서 라벨이 누락된 행을 삭제할지 여부를 선택하세요.
  2. 럭셔리 프로필CSV에서 CSV 파일을 프로파일링할지 여부를 선택합니다(기본적으로 이는 가능).

그러면 CSV 데이터의 프로파일링 보고서가 생성되어 입력 CSV와 동일한 버킷에 저장됩니다.

  1. 럭셔리 보고서 접미사(선택 사항), 보고서의 접미사를 지정합니다(보고서 이름은 report_<ReportSuffix>.html).
  2. 럭셔리 기능 상관에서 프로파일링 보고서에 쌍별 기능 상관 관계를 표시할지 여부를 선택합니다.

상관 관계는 각 기능 쌍에 대해 한 기능이 다른 기능에 얼마나 의존하는지 보여줍니다. 쌍별 특징 상관 관계를 계산하는 데 10~20분이 추가로 소요되므로 옵션이 다음으로 설정됩니다. 아니 기본적으로

  1. 럭셔리 사기 라벨(선택사항)에서는 사기로 간주되어야 하는 라벨 값을 지정합니다.

보고서에는 매핑된 레이블, 즉 사기 및 비사기 레이블의 분포가 표시됩니다. 쉼표로 구분하여 여러 레이블 값을 지정할 수 있습니다. 예를 들면 다음과 같습니다. suspicious, fraud. 이 옵션을 비워 두면 보고서에 원래 레이블 값의 분포가 표시됩니다.

다음 예제 플롯은 다음을 사용하여 보여줍니다. FraudLabels=’suspicious,fraud’ (왼쪽) 및 비어 있음 FraudLabels (권리).

다음 리소스가 생성될 때까지 몇 분 정도 기다립니다.

  • DataAnalyzerGlueJob – 데이터를 프로파일링하고 형식을 지정하는 AWS Glue 작업입니다.
  • AWSGlueJob역할 - AWS 자격 증명 및 액세스 관리 (IAM) AWS Glue 작업에 대한 역할 AWSGlueServiceRoleAWSGlueConsoleFullAccess 정책. 또한 다음에 정의된 버킷에 파일을 읽고 쓸 수 있는 권한이 있는 고객 관리형 정책도 있습니다. CSVFilePath.
  • S3CustomResource AWSLambda함수 – AWS Glue 작업을 트리거하는 도우미 Lambda 함수 및 AWS CloudFormation 리소스.
  • AWSLambda실행역할 – AWS Glue 작업을 트리거하는 Lambda 함수의 IAM 역할 AWSGlueServiceNotebookRole, AWSGlueServiceRoleAWSLambdaExecute 정책.
  1. 일반적으로 스택 생성 후 몇 분 후에 AWS Glue 작업이 완료되면 출력 S3 버킷을 엽니다.

입력 파일 S3 경로가 다음과 같은 경우 s3://my_bucket/my_file.csv, 출력 파일은 폴더 아래에 저장됩니다 s3://my_bucket/afd_data_my_file.

데이터 프로파일러 보고서 검토

데이터 프로파일러는 데이터 통계를 나열하는 HTML 보고서를 생성합니다. 우리는 합성 데이터 세트를 사용하여 보고서의 각 섹션을 안내합니다.

살펴보기

이 섹션에서는 레코드 수, 데이터 범위 등 데이터의 전반적인 통계를 설명합니다.

필드 요약

이 섹션에서는 각 기능의 기본 통계를 설명합니다. 유추된 변수 유형은 데이터의 변수를 목록에 매핑하기 위한 참조로 제공됩니다. Amazon Fraud Detector의 사전 정의된 변수 유형. 추론된 변수 유형은 데이터 통계를 기반으로 합니다. 가능하다면 자신의 도메인 지식을 바탕으로 변수 유형을 선택하는 것이 좋으며 확실하지 않은 경우 제안된 변수 유형을 참조하세요.

현장 경고

이 섹션에서는 고유 값 수 및 누락 값 수를 포함하여 Amazon Fraud Detector의 기본 데이터 검증에서 발생하는 경고 메시지를 보여줍니다. 당신은 참조 할 수 있습니다 Amazon Fraud Detector 문제 해결 제안된 솔루션을 확인하세요.

데이터 및 라벨 성숙도

이 섹션에서는 시간 경과에 따른 데이터의 사기 분포를 보여줍니다. 차트는 대화형입니다(예는 다음 스크린샷 참조). 플롯 위로 포인터를 스크롤하면 확대하거나 축소할 수 있습니다. 플롯을 왼쪽이나 오른쪽으로 끌면 x축 범위가 변경됩니다. 범례를 전환하면 해당 막대나 곡선을 숨기거나 표시할 수 있습니다. 클릭하시면 됩니다 확대/축소 재설정 차트를 재설정하려면

라벨 성숙기에 충분한 시간이 있는지 확인해야 합니다. 만기 기간은 비즈니스에 따라 다르며 2주에서 90일까지 걸릴 수 있습니다. 예를 들어 레이블 만료일이 30일인 경우 데이터세트의 최신 레코드가 30일 이상 지난 것인지 확인하세요.

또한 시간이 지남에 따라 라벨 분포가 상대적으로 안정적인지 확인해야 합니다. 서로 다른 레이블 클래스의 이벤트가 동일한 기간에 속하는지 확인하세요.

범주형 특징 분석

이 섹션에서는 각 범주형 기능에 대한 범주별 레이블 분포를 보여줍니다. 카테고리 내 각 라벨 클래스의 레코드 수와 해당 비율을 확인할 수 있습니다. 기본적으로 상위 100개의 카테고리가 표시되며, 플롯을 드래그하고 스크롤하여 총 최대 500개의 카테고리를 볼 수 있습니다.

여러 정렬 옵션 중에서 선택하여 필요에 가장 적합한 옵션을 사용할 수 있습니다.

  • 대부분의 기록을 기준으로 정렬 – 카테고리의 일반적인 분포를 반영하여 가장 많은 기록이 있는 카테고리를 표시합니다.
  • label=NON-FRAUD에 해당하는 대부분의 기록을 기준으로 정렬 – NON-FRAUD 등급의 기록이 가장 많은 카테고리를 보여줍니다. 이러한 범주는 가장 합법적인 인구에 기여합니다.
  • 라벨≠NON-FRAUD에 해당하는 대부분의 기록을 기준으로 정렬 – FRAUD 등급 중 가장 많은 기록이 있는 카테고리를 표시합니다. 이러한 범주는 대부분의 사기 인구에 영향을 미칩니다.
  • 라벨의 가장 낮은 비율을 기준으로 정렬=NON-FRAUD – FRAUD 비율이 가장 높은 카테고리, 즉 위험 카테고리를 표시합니다.

그래프에 표시할 데이터를 선택할 수 있습니다. 데이터 표시 옵션 메뉴. 범례를 전환하면 해당 막대나 곡선을 표시하거나 숨길 수도 있습니다.

수치적 특징 분석

이 섹션에서는 각 숫자 기능의 레이블 분포를 보여줍니다. 숫자 값은 bin으로 분할되며, 각 bin 내에서 각 레이블 클래스의 레코드 수와 백분율을 확인할 수 있습니다.

기능 및 레이블 상관 관계

이 섹션에서는 하나의 플롯에서 각 기능과 레이블 간의 상관 관계를 보여줍니다. 이 상관관계 도표를 다음과 결합할 수 있습니다. 모델 변수 중요도 잠재적인 레이블 유출을 식별하기 위해 모델 교육 후 Amazon Fraud Detector가 생성한 값입니다. 예를 들어 어떤 기능이 라벨과 0.99 이상의 상관관계를 갖고 있고 다른 기능보다 변수 중요도가 훨씬 높은 경우 해당 기능에 대한 라벨 유출 위험이 있습니다. 라벨 누출은 라벨이 하나의 기능에 완전히 의존할 때 발생합니다. 결과적으로 모델은 해당 기능에 지나치게 과적합되어 실제 사기 패턴을 학습하지 못합니다. 라벨 유출이 있는 기능은 모델 학습에서 제외되어야 합니다.

다음 플롯은 기능과 EVENT_LABEL.

If FeatureCorr가능 CloudFormation 스택 구성에는 쌍별 기능 상관 관계를 보여주는 두 번째 플롯이 있습니다. 색상이 어두울수록 상관관계가 높다는 것을 나타냅니다. 상관관계가 높은 기능의 경우 비즈니스에서 예상되는 기능인지 다시 확인해야 합니다. 두 기능의 상관 관계가 1인 경우 둘 중 하나를 제거하여 모델 복잡성을 줄이는 것을 고려할 수 있습니다. 그러나 Amazon Fraud Detector 모델은 기능 공선성에 강력하므로 이는 필요하지 않습니다.

데이터 정리

데이터 프로파일러에는 다음을 준수하도록 CSV 파일을 변환하는 옵션도 있습니다. 데이터 형식 요구 사항 Amazon Fraud Detector의 경우:

  • 헤더 이름 변환 – 이벤트 타임스탬프와 라벨 열 헤더를 다음으로 변환합니다. EVENT_TIMESTAMPEVENT_LABEL. 다른 모든 헤더는 특수 문자로 _만 포함된 소문자 영숫자로 변환됩니다. 이벤트 유형을 생성할 때 변수가 변환된 값으로 정의되는지 확인하세요.
  • 타임스탬프 변환 – 변환합니다 EVENT_TIMESTAMP UTC의 ISO 8601 표준에 따른 열입니다.
  • 이벤트 라벨 변환 – 라벨 값을 특수 문자로 _만 사용하여 모두 소문자 영숫자로 변환합니다. 이벤트 유형을 생성할 때 라벨이 변환된 값으로 정의되었는지 확인하세요.

다음 스크린샷은 원본 데이터와 형식이 지정된 데이터를 비교합니다. DropTimestampMissingRowsDropLabelMissingRows 에 설정되어있다. 가능.

리소스 정리

AWS CloudFormation을 사용하여 데이터 프로파일러용으로 생성된 모든 리소스를 정리할 수 있습니다.

  1. AWS CloudFormation 콘솔에서 스택 탐색 창에서
  2. CloudFormation 스택을 선택하고 ..

IAM 역할, AWS Glue 작업 및 Lambda 함수를 포함한 모든 리소스가 제거됩니다. 프로파일링 보고서와 형식이 변경된 데이터는 삭제되지 않습니다.

결론

이 게시물에서는 Amazon Fraud Detector의 자동화된 데이터 프로파일러 및 클리너를 안내합니다. 이는 Amazon Fraud Detector용 데이터를 준비하는 데 편리하고 유용한 도구입니다. 다음 단계는 Amazon Fraud Detector 콘솔을 통해 엔드투엔드 사기 탐지기를 구축하는 것입니다. 자세한 내용은 다음을 참조하세요. Amazon Fraud Detector 사용 설명서관련 블로그 게시물.


저자에 관하여

하오저우 Amazon Fraud Detector의 연구원입니다. 그는 미국 노스웨스턴 대학교에서 전기 공학 박사 학위를 취득했습니다. 그는 사기 및 남용을 방지하기 위해 기계 학습 기술을 적용하는 데 열정적입니다.

안치 쳉 Amazon Fraud Detector(AFD) 팀의 연구 과학자입니다. 그녀는 박사 학위를 가지고 있습니다. 그녀는 물리학을 전공하고 2017년에 Amazon에 합류했습니다. 그녀는 최첨단 기계 학습 알고리즘 탐구, 기계 학습 워크플로 생산, 기계 학습 모델의 견고성과 설명 가능성 개선 등 AFD의 초기부터 다양한 측면에 적극적으로 참여해 왔습니다.

출처: https://aws.amazon.com/blogs/machine-learning/train-models-faster-with-an-automated-data-profiler-for-amazon-fraud-Detector/

타임 스탬프 :

더보기 AWS 머신 러닝 블로그