Oracle Cloud

[Oracle Cloud] 오라클 AutoML UI 시작하기

베이글러 2023. 4. 14. 23:22
728x90
반응형

오라클 AutoML UI 시작하기


Oracle에서 제공하는 AutoML UI 서비스는 코드 없는 자동화된 기계 학습 모델링을 제공하는 Oracle 기계 학습 인터페이스이다. AutoML UI에서 실험을 만들고 실행하면 자동화된 알고리즘 선택, 기능 선택 및 모델 튜닝이 수행되므로 생산성이 향상되고 잠재적으로 모델 정확도와 성능이 향상된다.

 

자세한 내용은 Oracle AutoML 페이지 -> 오토ML UI 시작하기 (oracle.com)

 

 

 

 


Oracle AutoML UI 단계


일단, AutoML UI는 다음 단계를 따라 진행된다.

 

1. 알고리즘 선택  

    데이터 세트와 해당 특성 및 각 알고리즘에 대한 데이터 세트의 일부 예측 기능을 기반으로

    보다 정확한 모델을 생성할 가능성이 있는 알고리즘의 순위를 지정한다.

 

2. 적응형 샘플링

    적절한 데이터 샘플을 찾아 모델 품질을 저하시키지 않고 기능 선택 및 모델 튜닝 단계의 속도를 높인다.

 

3. 기능 선택

    가장 예측도가 높은 변수의 하위 집합을 선택한다.

    모델 튜닝단계에서 사용되는 변수의 개수를 줄여서 속도를 높이고자 하는 단계이다. 

 

4. 모델 튜닝

    후보에 오른 각 알고리즘에 대해 선택한 메트릭을 기반으로 개별 알고리즘 모델 품질을 높인다.

 

5. 기능 예측 영향

    AutoML UI 파이프라인의 마지막 단계로 각 입력 열이 최종 튜닝된 모델의 예측에 미치는 영향이 계산된다.

 

AutoML 서비스인만큼 모든 과정을 코드 작성없이 UI 클릭으로 가능한 점에서 사용자 편의성 측면의 장점이 크다.

 

 

 

 


Oracle AutoML UI 진행과정


1. Oracle Machine Learning 페이지 접속 

ORACLE MACHINE LEARNING 클릭
Oracle 머신러닝 로그인 페이지

머신러닝 페이지로 접속 후에는 Oracle 계정이 아닌 OML 사용자 계정으로 로그인한다.

Oracle Database actions 페이지와 Oracle 머신러닝 페이지로 접속하는 방법은 아래 링크에 정리를 해두어, 해당 내용을 따라 진행하면 된다.

 

Oracle Machine Learning 시작 -> [Oracle Cloud] 오라클 AutoML 시작하기 (tistory.com)

 

[Oracle Cloud] 오라클 AutoML 시작하기

오라클 AutoML 시작하기 Oracle Machine Learning은 SQL, R, Python, REST, AutoML 및 노 코드 인터페이스를 활용한 대규모 데이터 탐색, 준비 및 머신 러닝 모델링을 지원한다. 데이터베이스 내에 알고리즘이 내

break-time-for.tistory.com

 

2. [프로젝트] > [AutoML 실험]

Oracle 머신러닝 페이지

Oracle Machine Learning 첫 화면 페이지에서 왼쪽 상단 메뉴 > [프로젝트] > [AutoML 실험]을 클릭한다.

 

3. AutoML 실험 생성

AutoML 실험

[AutoML 실험]을 클릭하여 들어온 후에 [생성]을 클릭하여 AutoML 실험을 생성한다.

 

AutoML 실험 생성

(1) 이름

AutoML 실험의 이름을 작성한다. 영어/한글 모두 가능하다.

 

(2) 데이터 소스

어떤 데이터를 활용할 것인지 데이터를 선택해야 한다.

[데이터 소스] 칸의 돋보기 모양의 버튼을 클릭하면 아래와 같이 테이블을 선택하는 창이 나온다.

테이블 선택

위 테이블 선택 창에서 먼저 좌측의 [스키마] 영역에서 스키마를 선택하면,

우측에 해당 스키마의 테이블 중 현재 로그인한 계정으로 권한이 있는 테이블에 대해 나열된다.

여기서 활용하고자 하는 데이터(테이블)를 선택하면 된다.

 

여기에 데이터가 없다면, 먼저 DB에 데이터를 추가해주는 과정이 필요하다.

Oracle DB에 Data 업로드 방법 -> [Oracle Cloud] 오라클 DB CSV 업로드 (tistory.com)

 

[Oracle Cloud] 오라클 DB CSV 업로드

오라클 DB에 CSV 파일 업로드 Oralce에서 제공하는 Free Tier 계정으로는 Database를 총 2개 생성할 수 있으며, 20GB까지 제공된다. 이렇게 제공된 데이터베이스를 제대로 사용하려면, 데이터베이스에 값

break-time-for.tistory.com

 

계정이 곧 스키마의 이름이 되므로, 현재 로그인한 계정(스키마)과 다른 스키마의 테이블을 활용하고자 할 때는,

현재 계정으로 테이블에 대한 권한이 부여되어야 한다.

만약, 부여되어 있지 않다면, Sql-developer에서 SQL 구문으로 권한을 부여해주는 작업이 먼저 필요하다.

 

Sql-developer로 가기 위해서는 Database actions 첫 화면에서 [SQL]을 클릭하면 된다.

SQL Developer 경로

 

(3) 예측

예측대상 선택

데이터 소스에서 활용하고자 하는 테이블을 선택하면, 해당 테이블의 컬럼들이 [예측]에 나열된다.

여기서 예측 대상이 되는 컬럼을 선택하면 된다.

다만, 테이블에 DATE 타입의 컬럼이 있다면, 해당 컬럼은 조회되지 않는다. 이 부분은 OML의 한계인 것 같다. 

 

(4) 예측 유형

예측 유형

예측하고자 하는 대상 선택까지 완료하면 [예측 유형]은 자동으로 선정이 된다.

[예측 대상]을 VARCHAR2 컬럼으로 선택하면 [예측 유형]은 '분류'로 선정이 되고,

[예측 대상]을 NUMBER 컬럼을 선택하면 [예측 유형]은 '회귀'로 자동 선정이 된다.

 

4. AutoML 추가 설정

추가 설정

 [AutoML 실험]의 추가 옵션에 대해 설정을 해준다.

 

(1) 최대 상위 모델

AutoML 결과로 구성할 상위 모델의 최대 수를 선택한다. 각 알고리즘에 대해 최상위 모델을 얻기 위해 모델을 튜닝하려면 추가 시간이 필요하므로 적당한 개수의 모델을 선정하는 것이 좋다.

 

(2) 데이터베이스 서비스 레벨

데이터베이스 연결 서비스 수준 및 쿼리 병렬 처리 수준입니다. 기본값은 . 이로 인해 병렬 처리가 발생하지 않고 런타임 제한이 높아집니다. 데이터베이스 서비스 수준으로 많은 연결을 만들 수 있습니다. 데이터베이스 서비스 수준을 또는 로 변경할 수도 있습니다. LowLowMediumHigh

 

(3) 모델 측정항목 

AutoML 실험의 결과로 여러 개의 모델들을 선택 시 기준이 되는 측정항목을 선택한다. 

AutoML UI에서 지원하는 모델의 측정항목은 예측 유형에 따라 다르며 다음과 같다.

 

- 분류

  • Balanced Accuracy
  • ROC AUC
  • F1 (with weighted options). The weighted options are weighted, binary, micro and macro.
  • Precision (with weighted options)
  • Recall (with weighted options)

- 회귀

  • R2 (default)
  • Negative mean squared error
  • Negative mean absolute error
  • Negative median absolute error

이 중에서 예측유형에 따라 원하는 모델의 측정항목을 선택하면, 해당 측정항목이 높은 순서대로 모델(알고리즘)을 나열하여 추천해준다.

 

(4) 알고리즘

AutoML UI에서 지원하는 알고리즘은 예측 유형에 따라 개수가 다르며 다음과 같다.

 

- 분류

  • Decision Tree
  • Generalized Linear Model
  • Generalized Linear Model (Ridge Regression)
  • Neural Network
  • Random Forest
  • Support Vector Machine (Gaussian)
  • Support Vector Machine (Linear)

- 회귀

  • Generalized Linear Model
  • Generalized Linear Model (Ridge Regression)
  • Neural Network
  • Support Vector Machine (Gaussian)
  • Support Vector Machine (Linear)

DEFAULT 설정으로는 모든 알고리즘에 선택이 되어있고, 필요한 알고리즘만 선택하여 실행하는 것도 가능하다.

오히려 알고리즘을 줄여서 실험을 실행하면, 실험의 실행시간을 줄일 수 있어서 필요한 알고리즘만 골라서 돌리는 것이 좋을 때도 있을 것 같다.

 

5. AutoML 변수 선택

변수 선택

모델 학습에 필요한 변수를 선택할 수 있다.

파란색 동그라미로 표시되어 있는 항목은 '예측 대상'으로 선택한 항목이기 때문에 필수로 체크가 되어있고, 그 외의 컬럼들에 대하여 모델 학습의 변수로 사용될 항목만 체크하여주면 된다.

 

AutoML이기 때문에 모든 변수를 선택하여 모델을 생성하여도 선택한 변수를 전부 모델 학습에 사용하지는 않고, 가장 성능을 높게 내는 변수의 조합으로 모델을 생성하여 준다. 하지만 처음부터 필요없는 변수를 제거하고 실험을 시작하면 가장 성능이 좋은 변수의 조합을 찾는 데에 더 빠르고 성능 또한 높아질 수 있다.

 

6. AutoML 실험 시작

AutoML 실험 시작

실험의 모든 설정을 완료했다면 마지막으로 실험을 시작하면 된다.

실험 시작에는 두 가지 옵션이 있어서, 두 가지 중 상황에 맞게 선택하여 실행하면 된다.

 

(1) 빠른 결과

더 작은 하이퍼파라미터 조합 세트에서 작동하여 더 빠른 결괄르 내지만 정확도가 저하될 수 있다.

 

(2) 향상된 정확도

더 많은 파이프라인 조합을 시도하며 더 정확한 모델을 낼 수 있다.

 

두 가지 옵션으로 모두 돌려봤을 때, 사실 크게 차이는 없었던 것 같다.

하지만 시간의 차이는 몇 배로 '향상된 정확도' 옵션이 오래 걸리기 때문에 AutoML 실험을 통해 모델을 생성한다고 하면 주로 '빠른 결과'를 활용하여 모델을 생성할 것 같다.

 

7. AutoML 실험 완료

AutoML 실험 과정

실험이 시작되면 위 그림처럼 현재 실험이 어떤 단계로 실행되고 있는지 확인할 수 있는 창이 나온다.

실험이 완료되면, 'Completed' 라는 메시지와 함께 몇 분이 소요되었는지까지 보여진다.

데이터의 양에 따라 소요시간이 달라지지만, 50만건 정도의 데이터로 실험을 실행했을 때는 5분 내외로 소요되었다.

 

AutoML 실험 결과

실험이 완료되었다는 것은 DB의 데이터를 활용하여 모델 생성 및 학습이 완료되었다는 것을 의미하며 AutoML이 생성한 모델 중 좋은 모델을 선정하면 된다.

이전에 선택한 측정항목을 기준으로 높은 순서대로 모델을 나열하여 보여준다. 가장 첫번째 행에 있는 모델이 가장 측정항목의 값이 높게 나온 모델이라고 보면 된다.

 

해당 모델 이름을 선택하면 각 변수별로 중요도도 확인할 수 있다.

 

모델 추가 설정

모델을 행을 선택하면 위 그림처럼 파란색으로 해당 행이 활성화가 된다.

그러면 윗 줄의 4가지 메뉴도 함께 활성화가 되는데 이 메뉴를 통하여 좀 더 다양한 분석이 가능하다.

 

(1) 배치

선택한 모델을 API형태로 배포할 수 있다.

 

(2) Rename

자동으로 생성된 모델의 이름을 변경할 수 있다.

 

(3) 노트북 생성

선택한 모델에 대하여 노트북 형태로 스크립트가 생성된다.

생성된 스크립트는 AutoML의 [노트북] 카테고리에서 확인할 수 있으며, 아래와 같이 생성된 해당 스크립트를 수정하여 모델을 더 효과적으로 수정할 수 있다.

모델 노트북 생성

(4) 측정항목

실험 시작 전에 설정한 측정항목 외의 측정항목을 추가로 조회할 수 있다.

 

8. Model 활용

생성된 모델을 활용하여 Test data에 대해 실행할 때는 AutoML에서 제공하는 [노트북]을 통해 가능하다.

AutoML 첫화면
노트북 생성

AutoML 첫화면에서 좌측 메뉴를 통해 [노트북]을 생성한 후, Python 코드를 통해 모델을 실행하여도 된다.

혹은 AutoML 실험에서 모델의 [노트북 생성]을 통해 노트북을 생성한 후 해당 노트북에서 모델을 실행하는 것도 가능하다.

일단 AutoML 실험을 통해서는 모델 생성까지는 제공하고 있기 때문에 해당 모델을 실행하기 위해서는 노트북의 스크립트를 통해 진행해야 한다.

 

 

 

 

⇢ AutoML UI에서는 모델 생성을 코드없이 할 수 있도록 제공하고 있기 때문에, 베이스라인 모델을 만드는 데에 좋을 것 같다는 생각이 들었다. 그리고 노트북도 함께 기능을 제공하고 있어서 AutoML UI에서 생성된 모델을 수정하여 다시 생성할 수 있고, 생성한 모델을 실행할 수도 있다는 점에서 확장성이 좋아 강점이 있는 것 같다.

 

다만, 과정에 있어서 DB 데이터를 생성하는 곳과 모델을 생성하는 곳 그리고 마지막으로 모델을 실행하는 곳의 위치가 모두 달라서 조금 번거로운 점도 있다. DB에 데이터를 생성하기 위해서는 sql-developer를 활용해야 하고, 모델을 생성하기 위해서는 AutoML 실험을 생성하고, 또 해당 모델을 실행하기 위해서는 노트북까지 생성해야 한다는 점에서 번거로움이 있기는 하다. 하지만 그만큼 코드없이 클릭만으로 대부분의 분석 단계가 진행이 가능하며, 코드를 활용하면 좀 더 확장성이 넓어진다는 것이 가벼운 분석 프로젝트에 대해서는 충분히 활용할만한 서비스인 것 같다.

 

반응형