Azure ML One-Class Support Vector Machine 으로 빠르고 간단하게 이상징후 탐지해볼껀데요!!!
독일 신용 카드 UCI 데이터 세트의 이상현상이 생긴 곳을 탐지 해보려구 합니다.!!!
먼저 샘플 창에서 독일 신용 카드 UCI 데이터 세트를 가지고 옵니다 !!
데이터를 열어보면 각종 정보가 있는데 각 카테고리마다 정보는 아래에 설명해 두었습니다.
그 중에서 'col 21' 높은 신용 위험 항목의 레이블은 '2' 이고, 낮은 신용 위험 항목의 레이블은 1'
이것을 이용하여 신용 위험 탐지를 할 것 입니다.
Split Data를 통해서 과적합과 데이터 검증에 사용할껀데요.
Stratified split를 true로 만들면 특정 기준으로 나눌 수 있는데요.
'launch column selector' 클릭하여 col 21을 기준으로 8대2로 나눕니다.
그리고 하나의 Split Data 더 가져 옵니다.
두번째 Split Data는 Splitting mode를 Regular expression설정하고
\"Col21" ^1 를 적어 줍니다.
그럼 Col21 에서 1인 것과 1이 안니 것으로 나뉩니다.
그 다음 'One-Class Support Vector Machine' 와 'Train Anomaly Detection Model' 가져옵니다.
이 두개의 모듈은 특히 "정상" 데이터가 많고 검색하려는 이상 징후가 많지 않은 시나리오에서 유용합니다.
'One-ClassSupportVectorModel' 모듈을 사용하여 모델을 생성한 다음 'Train Anomaly Detection Model'을 사용하면 모델을 교육할 수 있습니다.
One-ClassSupportVectorModel 에는 다음 옵션들이 있습니다.
Single Parameter (단일 매개 변수) : 모델을 구성하는 방법을 알고 있고 특정 값 집합을 인수로 제공하는 경우 이 옵션을 사용합니다.
Parameter Range (매개 변수 범위) : 최적의 매개 변수를 잘 모르고 파라미터 스위프를 수행하여 최적의 구성을 찾으려면 이 옵션을 사용하십시오.
η : 특이치의 분율에서 상한을 나타내는 값을 입력합니다. 0-속성을 사용하면 특이치와 정규 사례 간의 균형을 제어할 수 있습니다.
ε (epsilon) : 중지 공차로 사용할 값을 입력합니다. 정지 공차는 모형을 최적화할 때 사용되는 반복 횟수에 영향을 주며 정지 기준 값에 따라 달라집니다. 값을 초과하면 강사가 해결책에 대한 반복을 중지합니다.
그 후 교육 데이터 세트와 교육 모듈 중 하나를 연결합니다.
Single Parameter 설정한 경우 TrainAnomalyDetectionModel 모듈을 사용합니다.
Parameter Range 설정한 경우 TuneModelHyperparameters 모듈을 사용합니다.
결과를 알기 위해 ScoreModel모듈을 연결하고 가능한 이상 징후를 탐지할 수 있습니다.
확률이 음수가 나올경우 Normalize Data 정규화를 통해서 확률을 양수로 만들어 보기 쉽게 만듭니다.
Transformation method는 logistic 바꾸고 'launch column selector'는 Scored Probabilities을 선택합니다.
그럼 다음과 같은 결과를 얻을 수 있습니다.
보면 낮은 신용 위험 항목의 레이블은 1' 이라는 결과 있었지만
다른 결과들과 달라 이상을 탐지하는 것을 보실 수 있습니다.
또한 반대로 높은 신용 위험 항목의 레이블은 '2' 이었지만
다른 신용위험 항목들과 달라 이상탐지하는 것을 보실 수 있습니다.
데이터 세트는 특성 집합으로 설명된 사람을 낮은 신용 위험 또는 높은 신용 위험으로 분류합니다. 각 예제는 개인을 나타냅니다. 숫자 및 범주의 기능 20개와 이진 레이블(신용 위험 값)이 있습니다. 높은 신용 위험 항목의 레이블은 2이고, 낮은 신용 위험 항목의 레이블은 1입니다. 낮은 위험 예제를 높은 위험으로 잘못 분류한 비용은 1이지만, 높은 위험 예제를 낮은 위험으로 분류한 비용은 5입니다.
속성 1
기존 당좌 예금 계정의 상태
A11 : ... < 0 DM
A12 : 0 <= ... <200 DM
A13 : ... >= 최소 1년 동안 200DM / 급여 할당
A14 : 당좌 예금은 없습니다.
속성 2:
기간(월)
속성 3:
신용 기록
A30 : 취득한 크레딧이 없음/모든 크레딧이 정상적으로 환불됨
A31 : 이 은행의 모든 신용은 정상적으로 상환되었다.
A32 : 지금까지 합당하게 상환된 기존 학점
A33 : 과거의 지급 지연
A34 : 중요한 계좌/존재하는 기타 신용(이 은행 제외)
속성 4:
목적
A40 : 자동차(신규)
A41 : 자동차(중고)
A42 : 가구/장비
A43 : 라디오/텔레비전
A44 : 가전 제품
A45 : 수리
A46 : 교육
A47 : (휴가-존재하지 않습니까?)
A48 : 재교육
A49 : 사업
A410 : 기타
속성 5:
대변 금액
속성 6:
저축 예금 통장/채권
A61 : ... < 100DM
A62 : 100 <= ... < 500DM
A63 : 500 <= ... < 1000DM
A64 : .... >= 1000DM
A65 : 알 수 없는/저축 계좌 없음
속성 7:
이후 현재의 고용
A71 : 실업자
A72 : ... < 1년
A73 : 1 <= ... < 4년
A74 : 4 <=... < 7년
A75 : .... >= 7년
속성 8:
가처분 소득 비율(%)
속성 9:
개인적인 지위와 관련된 정보
A91 : 수:분리됨/분리됨
A92 : 여자 : 이혼/분리/결혼
A93 : 남성 : 싱글
A94 : 남성 : 기혼/미망인
A95 : 여성 : 싱글
속성 10:
기타 채무자/보증인
A101 : 없음
A102 : 공동 적용
A103 : 보증인
속성 11:
이후 거주지 소개
속성 12:
소유물
A121 : 부동산
A122 : A121이 아닌 경우 :사회 저축 계약/생명 보험 구축
A123 : A121, A122가 아닌 경우 : 차량 또는 기타, 저축 예금 통장/채권 이 아님
A124 : 알 수 없음/속성 없음
속성 13:
나이(년)
속성 14:
기타 할부
A141 : 뱅크
A142 : 매장
A143: 없음
속성 15:
주택
A151 : 임대
A152 : 소유
A153 : 무료입니다.
속성 16:
이 은행의 기존 신용 수
속성 17:
일
A171 : 실업/비숙련 노동자
A172 : 기술이 없는 거주자
A173 : 숙련된 직원/공무원
A174 : 관리/자영/유능한 직원/장교
속성 18:
다음에 대한 유지 관리를 제공할 책임이 있는 사람
속성 19:
전화
A191 : 없음
A192 : 예, 고객 이름으로 등록됨
속성 20:
외국인 노동자
A201:예
A202:아니요
속성 21:
높은 신용 위험 항목의 레이블은 2이고, 낮은 신용 위험 항목의 레이블은 1입니다
'Microsoft > Azure ML' 카테고리의 다른 글
Azure ML Module List !!! - Add Rows 활용하는 방법 (0) | 2020.04.13 |
---|---|
Azure ML Module List !!! A부터 Z까지 - Add Columns (0) | 2020.04.13 |
Azure ML 교차검증 Cross Validate Model 사용하기!!! (0) | 2020.02.06 |
Azure ML 누락된 데이터 정리 Clean Missing Data 사용법 (0) | 2020.01.28 |
Azure ML Train Matchbox Recommender 추천 알고리즘 (0) | 2019.11.18 |