[머신러닝] Azure - 기계 학습 스튜디오에서 데이터 과학 실험 해보기(자동차 가격 예측하기)

류명운

·

2017. 2. 12. 18:20

반응형

[머신러닝] Azure - 기계 학습 스튜디오에서 데이터 과학 실험 해보기(자동차 가격 예측하기)


MS(Microsoft) 사의 Azure 기계학습 서비스를 간단히 이용해본 경험을 포스팅하겠다. 여담이지만 MS는 다른 어떤 IT 기업보다 자사의 서비스에 대한 문서화(가이드)가 잘 되어있는 것 같다.

무튼 클라우드 기계학습 서비스를 찾던 중 Azure Machine Learning Studio를 발견하게 되었고 첫 클라우드 기계학습 서비스를 사용해봐서인지 사용 만족도는 아주 놓은 편이다.


우선 간단하게 해당 서비스에 대한 설명을 하고 사이트에서 제공하는 첫 번째 샘플 실험인 '자동차 가격 예측하기' 기계학습 이용에 대한 내용을 남기도록 하겠다.


Azure Machine Learning


Azure 기계 학습은 완벽하게 관리되는 서비스로, 이 서비스를 통해 클라우드에 예측 분석 솔루션을 만들고, 테스트하고, 운영하고, 관리할 수 있습니다. 브라우저만 있으면 로그인하고 데이터를 업로드하고 즉시 기계 학습 실험을 시작할 수 있습니다. 끌어서 놓기 예측 모델링, 모듈의 대형 팔레트 및 시작 템플릿의 라이브러리를 활용하면 일반적인 기계 학습 작업을 간단히, 빠르게 수행할 수 있습니다.

위 내용은 공식 문서에서 소개하는 글이다. 이에 조금 설명을 덧 붙이자면, Azure 기계학습 서비스는 클라우드 서비스로 예측 분석 솔루션을 직접 만들고, 테스트하고, 운영하고 관리할 수 있도록 제공한다. 가장 큰 장점은 역시 클라우드 서비스이기에 언제 어디서나 웹 브라우저를 통해 즉시 기계 학습 실험을 진행할 수 있다는 것이다. (개발자가 아닌 단순 기계 학습의 결과 데이터만을 원하는 작업의 경우는 뭐.. 여러 기계학습 프레임워크들.. 환경설정 같은거 할 시간 투자안해도되니..) 또한 Azure 기계 학습 API 서비스를 제공하여 확장 가능한 내결함성 웹 서비스로 배포가 가능하다. 이는 외부 응용 프로그램과 예측 분석 모델 간의 통신용 인터페이스를 제공하는 REST API를 뜻한다.

좀더 쉽게 요약하자면, 2가지로 장점을 나타낼 수 있을 것 같다.

  1. 클라우드 서비스로 따로 기계학습을 진행하기 위한 환경을 구축하는데 시간을 낭비하지 않아도 되기 때문에 비전공자도 쉽게 할수 있다.
  2. API 서비스를 제공하여 확장 가능한 웹 서비스로 배포가 가능하다.


Azure Machine Learning Studio

Machine Learning Studio는 웹 브라우저를 사용하여 액세스하는 워크벤치 환경입니다. Machine Learning Studio는 실험 형태의 종단 간 데이터 과학 워크플로를 구성할 수 있는 시각적 컴퍼지션 인터페이스로 모듈 팔레트를 호스트합니다.

이를 좀더 쉽게 설명하자면, 예측 모델링 기술로써 프로그램화한 여러 모듈들(기계 학습 실험에 필요한)을 대화형 시각적 작업 영역인 캔버스라는 공간에 끌어서 놓는 방식으로 각 모듈을 연결하고 값을 설정하여 손 쉽게 기계학습 실험을 진행할 수 있는 서비스이다. (아래 <그림 1>을 참고하면 이해가 쉬울 것 같다)


데이터 과학 실험 해보기 (자동차 가격 예측하기)

일반적인 기계학습의 실험 순서는 크게 다음 3가지와 같다.

  1. 모델 만들기
  2. 모델 학습
  3. 모델 점수 매기기 및 테스트


이를 Azure Machine Learning Studio 에서 진행하기 위한 세분화 된 단계는 다음과 같다.

  1. (모델 만들기) 데이터 가져오기
  2. (모델 만들기) 데이터 준비
  3. (모델 만들기) 기능 정의
  4. (모델 학습) 학습 알고리즘 선택 및 적용
  5. (모델 점수 매기기 및 테스트) 예측


위 5단계를 거친 '자동차 가격 예측하기'에 대한 실험 구성도는 다음 <그림 1>과 같다.

<그림 1> 실험 구성도


그리고 위 <그림 1>의 실험 구성도를 통해 진행한 실험의 결과는 다음 <그림 2>와 같다.

<그림 2> 실험 결과

실험 결과의 [Metrics]에 대한 설명은 다음을 따른다.

  • Mean Absolute Error - 절대 평균 오차입니다( error 는 예측 값과 실제 값 사이의 차이).
  • Root Mean Squared Error - 테스트 데이터 집합에 대해 예측한 평균 제곱 오차의 제곱근입니다.
  • Relative Absolute Error - 실제 값과 모든 실제 값 평균 사이의 절대값 차에 대해 상대적인 절대 오차의 평균입니다.
  • Relative Squared Error - 실제 값과 모든 실제 값 평균 사이의 제곱 차에 대해 상대적인 평균 제곱 오차입니다.
  • Coefficient of Determination - R 제곱 값이라고도 하며, 모델이 데이터에 얼마나 적합한지 나타내는 통계 메트릭입니다.
  • * 각 오차 통계는 작을수록 좋다. 값이 작을수록 예측이 실제 값과 더 근접하게 일치함을 나타내기 때문에 각 오차 통계는 작을수록 좋다. 하지만, 이와 반대로 결정 계수의 경우는 값이 1(1.0)에 가까울수록 더 잘 예측한 것이다.


이렇게 간단히 기계학습 실험을 진행하고 결과를 확인하다니.. 이전에 Spark Framework를 통해 기계학습 실험을 진행했었던 기억을 떠올리니.. 클라우드 서비스는 참 좋은 것 같다....

그리고 기본적으로 제공되는 여러 모듈듈.. 정말 좋다 편하다. 오늘은 단순히 서비스를 체험해보는데  이의를 두었지만, 다음에 기계학습이 필요한 상황이 생기면 꼭 클라우드 서비스를 이용해서 기계학습을 해야겠다는 생각을 하게되었다.;



반응형