기록하는 공부
[AICE Basic] #2 [실습편]코딩이 필요없는 AIDU ez 활용법 본문
※ 본 포스팅은 AICE Basic 종합 패키지를 수강하고 복습하기 위해 필자가 임의로 작성한 글입니다.
AIDU
Jupyter lab
- 코딩 기반의 데이터 분석 및 AI 모델 개발
- 제공 언어 : Python, R
AIDU ez
- 코딩 없는 클릭 기반의 데이터 분석 및 AI 모델 개발
- KT 활용도가 높은 AI 분석 모델 제공
AI 분석 단계
1. 문제 정의
- 무엇을 하고자 하는가?
- 얻고자 하는 결과는 무엇인가?
2. 데이터 수집
- 어떤 종류의 데이터가 있는가?
- 얼마나 데이터를 확보할 수 있는가?
3. 데이터 분석
- 의미 있는 데이터는 무엇일까?
- 데이터의 분포와 인관관계느느 어떨까?
4. AI 모델링
- 어떤 항목을 활용할 것인가?
- 어떻게 학습시킬 것인가?
5. AI 적용
데이터 분석에 대해 알아보자.
데이터 기초 정보 분석
- 학습에 사용할 데이터의 통계적 분석 결과를 확인
- 데이터의 개요와 변수 특성 등을 확인
산점도 그래프
- 데이터의 시각적 분석 결과를 확인
- 변수 간의 산점도와 상관관계를 확인
히트맵 분석
- 데이터의 시각적 분석 결과 확인
- 변수 간의 히트맵과 상관관계 확인
박스 플롯
- 데이터의 수치적 특성 및 분포 확인
밀도 함수
- 데이터의 분포 확인
시각화 분석
- 데이터의 단어 분포 확인
머신러닝
지도 학습 | 비지도 학습 | 강화 학습 |
문제와 정답을 모두 알려주고 공부시키는 방법 |
답을 가르쳐주지 않고 공부시키는 방법 | 보상을 통해 상은 최대화, 벌은 최소화하는 방향으로 행위를 강화하는 학습 |
예측, 분류 | 연관 규칙, 군집 | 보상 |
지도학습 : 문제와 정답을 모두 제공하는 학습
> K-최근접 이웃(KNN)
> 선형 회귀
> 로지스틱 회귀
> 서포트 벡터 머신
> 결정트리
> 랜덤 포레스트
> 신경망
비지도 학습 : 정답을 가르쳐주지 않는 학습
> 군집(Clustering), K-평균(K-Means), 계층 군집 분석(HCA, Hierarchical Cluster Analysis)
> 시각화(Visualization)와 차원 축소(Dimensionality Reduction), 주성분 분석(PCA, Principal Component Analysis), t-SNE(t-distributed Stomchasic Neighbor Embedding)
차원 축소 : 다차원 변량 데이터를 사람이 인지 가능한 2~3차원으로 축소하여 시각화하는 방법
- PCA
- t-SNE
군집 표현 : 임의의 클러스터 개수를 주고 피처의 거리 계산 등을 통해 군집화 시행
- K-Means
- Hierarchy
- SOM
차원축소와 군집표현 둘 다 라벨링이 되어있지 않은 데이터로부터 패턴이나 형태를 찾아야 하기 때문에 어렵다.
실제로 지도 학습에서 적절한 특징(Feature)을 찾아내기 위한 전처리 방법으로 비지도 학습을 사용하기도 한다.
데이터가공
범주형/텍스트 데이터
결측값 처리 >>> 수치형 데이터와 다르게 최빈값, 고정값으로만 보완
데이터 변환 >>> 범주형 데이터를 수치형 데이터로 변환해 주는 Encoder
Regex 추출 >>> 정규 표현식 추출
자연어 처리 >>> Komoran, Hannanum을 활용한 형태소 분석 및 명사 추출
수치형 데이터
결측값 처리 >>> 결측 데이터를 최빈값, 평균값, 중간값, 고정값으로 보완
데이터 변환 >>> Transformer를 이용한 데이터 분포와 Discretizer를 활용한 연속 데이터 이산화
Scale 조정 >>> 데이터 Feature마다 다른 Data Scale을 통일시키기 위한 Scaler(Min-Max / Standard)
데이터 가공 기능
- 단일 칼럼에 대한 변환 수행
AI 모델링 & 머신러닝 (이론)
AI 적용 프로세스
문제 정의 | 무엇을 하고자 하는가? 얻고자 하는 결과는 무엇인가? |
데이터 수집 | 어떤 종류의 데이터가 있는가? 얼마나 데이터를 확보할 수 있는가? |
데이터 분석 및 전처리 | 의미 있는 데이터는 무엇일까? 데이터의 분포와 연관관계는 어떨까? |
AI 모델링 | 어떤 항목을 활용할 것인가? 어떻게 학습시킬 것인가? |
AI 적용 | 모델의 성능은 어떠한가? 모델을 어떻게 활용할 것인가? |
수학적 모델링 : 비즈니스 문제를 파악한 후에 이를 해결하기 위한 머신러닝(인공지능) 문제로 전환
지도학습 : Input, Output Data로 예측 모델을 개발
- 고양이, 강아지 사진 + 라벨 정보 학습
- 고양이 사진 입력 -> 고양이라고 예측
비지도학습 : 오직 Input Data로 군집 혹은 데이터 해석에 활용
- 고객 특성 데이터 입력 -> 군집 해석
비즈니스의 문제를 데이터 문제로
비즈니스 문제 | 타겟/아웃풋 | 데이터/머신러닝 문제 |
5G 고객이 이탈할까? | 범주 : 이탈 여부 | 분류(Classification) |
내년도 올레티비 예상 매출액은? | 수치 : 매출액 | 회귀(Regression) |
키즈 콘텐츠 구매 이력 기반 고객 세분화 | - | 군집(Clustering) |
모델과 알고리즘
머신러닝 모델 | 알고리즘 | 결과 |
분류(Classification) | 결정 트리, Support Vector Machine, Neural Network |
범주 예측 |
회귀(Regression) | 회귀 분석 | 숫자 예측 |
군집(Clustering) | K-Means | 군집 |
인공신경망
신경망은 인간의 뇌를 본떠서 스스로 모델을 만드는 머신러닝의 한 종류이다.
알고리즘을 통해 컴퓨터가 새로운 데이터를 통합함으로써 학습할 수 있는 인공 신경망을 구성한다.
요즘 인공지능 알고리즘이 풍부하지만, 신경망은 이른바 '딥러닝' 수행이 가능하다.
AI 모델링 과정
1. 입력 / 출력 데이터 설정
- 입력, 출력, 제외 변수 세팅
ex) age => 입력, survived => 출력
2. 칼럼 / 학습 파라미터 설정
- 데이터 유형, 데이터 인코더
- Hyper Parameter 설정
ex) 임베딩 크기, 드롭 아웃 등
3. 학습 실행
- Optimzer
- Learning Rate
- Epoch, Batch Size
- Early Stop
4. 결과 평가
- 학습 곡선 해석
- Metric 이해
[용어 참고]
하이퍼 파라미터 : 사용자가 직접 사용해 주는 세팅값
Dropout : 과적합을 줄이기 위해 임의로 노드를 제거해 주는 확률 수준
Optimizer : 파라미터를 업데이트 위한 최적화 알고리즘 종류
Layer 개수 : num_fc_laters
Layer의 노드 개수 : fc_size
Epoch : 전체 데이터 샘플을 학습하는 횟수
Batch Size : 1회 파라미터 업데이트를 위해 학습하는 샘플 개수
Early Stop : 학습 조기종료 옵션
Train / Validation / Test : 공부 / 모의고사 / 실제 시험 개념의 데이터 셋
정형 데이터 모델링 (딥러닝)
정형 데이터 모델링 : 업로드한 데이터를 기반으로 AI 모델링 진행
학습모델 평가지표 : 학습시킨 AI 모델의 결과를 확인
학습 로그 분석
- 전체 데이터를 7:1:2 비율의 학습, 검증, 테스트 데이터로 분리
- 1epoch마다 분리한 데이터에 대해 각각 모델 평가 진행
Categorical Output Metrics
- Loss : Softmax Cross entropy
- Accuracy : 정확히 맞춘 데이터 / 전체 데이터
- Hits_at_k (k=3) : 3위 안으로 맞춘 데이터 / 전체 데이터
AI모델 성능 분석 도구 : 학습시킨 AI 모델 결과 그래프 확인
Classification 실제 범주(Class)와 예측한 범주(Class)의 정확도(Accuracy)를 통해 모델의 성능 평가
명칭 | 설명 | 참고 내용 |
Accuracy | 바르게 분류한 정확도 | Correct Prediction / Total Data Points |
Confusion Matrix | 분류결과를 표로 정리한 혼동행렬 | |
F1-Score | 정확도와 재현율의 조화평균 | 2(Precision * Recall) / Precision + Recall |
AUC | TPR과 FPR을 각각 x, y축으로 했을 때 생성되는 ROC 커브 아래의 면적 |
학습 모델의 활용
AI 모델 활용 : 이미 완성된 AI 모델을 활용하여 결과 분석, 변수 영향도 확인, 시뮬레이션 등을 진행
- 활용 기능 : 분석하기, 시뮬레이션, 예측하기, 변수 영향도 확인, 다운로드하기, 삭제하기
분석하기 : 기존에 생성한 모델의 성능평가 지표들을 다시 확인
시뮬레이션 : AI 모델을 사용하여 특정한 샘플에 대한 시뮬레이션 진행
예측하기 : AI 모델을 사용하여 데이터에 대한 예측 실행
'Study > AICE' 카테고리의 다른 글
[AICE Basic] #3 [이론편] AI 구현 프로세스 (1) | 2023.05.20 |
---|---|
[AICE Basic] #1 AI의 이해 (0) | 2023.05.12 |
AICE 자격증이란 ? (0) | 2023.05.11 |