WiseN

아마존 Machine Learning 소개

Oct 16,2015   |   AWS

작성자_GS Neotek

페이스북 공유하기 트위터 공유하기
Blog thumbnail

다루는 내용


∙ 아마존 Machine Learning 컨셉 이해하기
∙ Datasource 만들기
∙ ML Model 만들기
∙ ML Model의 예측 기준값 조절하기
∙ Batch 방식으로 예측하기


 

 

실습






아마존 Machine Learning 컨셉 이해하기






 

머신러닝은 알고리즘을 통해 데이터를 예측하는 인공지능의 일종이다.

머신러닝은 지도학습(Supervised Learning)과 비지도학습(Unsupervised Learning)으로 나뉜다. 지도학습은 과거 데이터를 통해서 결과를 학습한 뒤 새로운 데이터의 결과를 예측하는 것을 말한다. 회귀(Regression), 분류(Classification) 등이 이에 속한다. 비지도학습은 과거 데이터의 결과가 없다. 따라서 주어진 자료만을 가지고 데이터를 분석하여 공통점과 차이점을 구분해야 한다. 유사한 데이터를 묶는 군집화(Clustering)를 예로 들 수 있다.

Amazon Machine Learning은 지도학습 방식을 사용한다. 따라서 정해진 형식의 데이터를 입력하여 Machine Learning Model이 만들어 지면 Threshold를 조절하여 어떤 결과를 예측할지 학습 시키는 과정이 필요하다.

∙ Datasources : Amazon ML에 입력된 과거 데이터
∙ ML models : 과거 데이터에서 추출된 패턴을 이용하여 예측을 생성한다.
∙ Evaluations : ML models의 품질 측정
∙ Batch predictions : 배치 예측
∙ Real-time predictions : 실시간 예측


 

 




Datasource 만들기






 

1. 콘솔에서 Machine Learning 클릭
2. Get started 클릭
3. Launch 클릭

아마존에서 제공하는 샘플 dataset을 이용한다.


4. Input Data 페이지에서

1) banking.csv 클릭하여 dataset 파일을 다운 받는다.


 



 

Input data의 적절한 포맷은 각 컬럼별로 데이터가 있고 그 결과로 0 혹은 1의 값을 갖는 컬럼이 있어야 한다.
2) 다운 받은 파일을 S3에 업로드 한다. (예. s3://arang-lab/banking.csv)


 



 

3) Where is your data located? : S3 선택
4) S3 location : s3://arang-lab/banking.csv 입력
5) Verify 클릭


 



 

Input data가 적절한 형식의 파일인지 검사하고, schema를 자동으로 생성한다. training에 사용되는 input data의 최대 크기는 100GB이다.
6) Continue 클릭


5. Schema 페이지에서

Schema가 자동 생성되었지만, 필요한 경우 수정할 수 있다.
1) Does the first line in your CSV contain the column names? : Yes 선택
2) Continue 클릭


6. Target 페이지에서

데이터로부터 예측할 결과 값이 무엇인지 지정해 준다.
1) Search by attribute name 검색 박스에서 ‘y’ 입력
2) Name이 ‘y’인 Target 선택
3) Continue 클릭


 



 

7. Row ID 페이지에서

1) Review 클릭


8. Review 페이지에서

1) Continue 클릭


 

 




ML Model 만들기






 

현재 실습은 마법사를 이용 중이므로 Datasource를 만든 후 ML Model을 생성하는 단계로 바로 넘어 간다.
메뉴에서 Dashboard를 클릭하여 Dashboard를 확인할 수 있다.

 



 

Dashboard에서 Datasource를 선택한 후 Create ML Model 메뉴를 클릭하면 다시 ML Model 생성 단계를 볼 수 있다.

 



 

1. ML model settings 페이지에서

 



 

ML model Type는 BINARY이다. Binary classification model은 logistic regression algorithm을 사용하며 둘 중에 하나의 값을 결과로 예측한다.
1) Review 클릭
2. Review 페이지에서
1) Finish 클릭


 



 

Input data의 70%는 ML model을 만들어 학습시키는데 사용되고, 30%는 ML model의 평가에 사용된다.


 

 




살펴보기






 

Machine Learning로 보다 정확한 결과를 예측하기 위해서는 ML model을 지속적으로 학습 시켜야한다. Training models와 evaluating models에 대한 상세한 내용은 링크에서 확인 할 수 있다.

1. Dashboard에서 ML model: Banking.csv 클릭

1) Evaluations과 Predictions


 



 

위 화면에서 생성된 ML model을 추가적으로 학습시키거나 새로운 데이터 셋의 결과를 예측할 수 있다.


2. Dashboard에서 Evaluation: ML model: Banking.csv 클릭

1) Adjust score threshold 클릭


 



 

현재 ML model의 성능을 나타내는 차트이다. 91%에 대해서는 positive 혹은 negative로 정확한 결과를 예측할 수 있지만, 9%에 대해서는 positive 혹은 negative로 예측하지만 틀렸을 수 있음을 의미한다. 가운데 slider를 이동하여 예측 결과를 수정할 수 있다.


2) 차트에 대한 부연 설명


 



 

slider를 기준으로 왼쪽은 negative(0)으로 예측되며, 오른쪽은 positive(1)로 예측된다. 회색 영역은 Datasource로부터 Negative라고 학습된 부분이며, 노란색 영역은 Datasource로부터 Positive라고 학습 된 부분이다. 붉은색 사선은 예측이 틀릴 수 있는 영역이다. 따라서 slider를 오른쪽으로 이동하여 붉은색 사선이 없는 곳에 위치하게하면 positive 예측은 100% 정확하다고 할 수 있다.
Good Chart 형태의 차트는 ML model이 학습이 잘 되어 정확한 예측을 가능하게 할 것이다.


 

 




Batch 방식으로 예측하기






 

1. Dashboard에서 ML model: Banking.csv 클릭

1) Generate batch predictions 클릭
2) banking-batch.csv 클릭하여 다운 받는다.


 



 

input data로 결과를 예측할 것이므로 ‘y’ 컬럼이 없다. (결과값은 없다)
3) 다운 받은 파일을 S3에 업로드 한다. (예. s3://arang-lab/banking-batch.csv)
4) My data is in S3, and I need to create a datasource 선택
5) Datasource name : banking batch prediction 입력
6) S3 location : s3://arang-lab/banking-batch.csv 입력
7) Does the first line in your CSV contain the column names? : Yes 선택
8) Verify 클릭
9) S3 permissions 창에서 : Yes 클릭


 



 

10) Continue 클릭
11) S3 destination : arang-lab/ 입력
12) Review 클릭
13) Amazon ML needs write permission for this S3 location. Would you like to grant permission? : Yes 클릭
14) Finish 클릭


2. 확인

1) 결과 파일 다운로드


 



 

예측 결과가 압축파일 형태로 S3에 저장된다.
2) 결과


 



 

 




참고



Dashboard에서 Banking.csv 클릭
왼쪽 메뉴에서 Categorical 클릭


 



 

job 항목의 Preview 클릭