AI/AIDU ez
[AI][AIDU ez] AIDU ez 3.0으로 AI 모델링 하기
y-seo
2023. 7. 19. 18:28
환경 구성 및 데이터 가져오기
- 실습 환경
- 'AICE 실습' 내 '나의 프로젝트' 카테고리 선택
- https://aice.study/main
- '나의 프로젝트' 구성
- 기본정보 : Dashboard 조회
- 프로젝트 멤버 : 소스코드 공유
- 데이터 관리 : PC data 공유
- 소스 Viewer : 프로젝트 멤버별 작업공간 조회
- 분석 IDE : Jupyter lab 또는 AIDU ez
- 모델학습 : GPU 기반 모델학습
- AIDU
- Jupyter lab : 코딩 기반의 데이터 분석 및 AI 모델 개발, Python/R
- AIDU ez : 코딩 없는 클릭 기반의 데이터 분석 및 AI 모델 개발
- '분석 IDE' 의 'AIDU ez 빠른 생성' 으로 시작
- PC 파일 업로드 시 조건 : .csv 파일, 컬럼명은 영어로 구성
데이터 분석
1. 데이터 기초 정보 분석
- 통계적 분선 결과를 확인
- 데이터의 개요와 변수 특성 등 확인
- 사용법 : 데이터 분석 탭 클릭 → 기초정보 분석 탭 클릭 → 통계를 확인할 변수 선택 → 분석할 행 범위 지정 → 조회하기 클릭 → 데이터 정보 확인 → 데이터의 각 변수 정보 확인
2. 산점도 그래프
- 데이터의 시각적 분석 결과 확인
- 변수 간의 산점도와 상관관계 확인
- 점으로 표현
- 사용법 : 시각화 분석 탭 클릭 → 산점도 클릭 → 산점도를 확인할 변수(파라미터) 선택 → 조회하기 클릭 → 변수 간 산점도 결과 화면
3. 히트맵 분석
- 데이터의 시각적 분석 결과 확인
- 변수 간의 히트맵과 상관관계 확인
- 색상으로 표현
- 사용법 : 시각화 분석 탭 클릭 → 히트맵 클릭 → 산점도를 확인할 변수(범위) 선택 → 조회하기 클릭 → 변수 간 히트맵 결과 화면
4, 박스 플롯
- 데이터의 수치적 특성 및 분포 확인
- 튀는 값을 찾는데 최적
- 사용법 : 박스차트 선택 → X축으로 사용할 변수 선택 → Y축으로 사용할 변수 선택 → 범주 선택 → 조회하기 클릭 → 박스차트 결과 화면
5. 밀도 함수
- 데이터의 분포 확인
- 사용법 : 분포차트 선택 → X축으로 사용할 변수 선택 → 범주 선택 → 조회하기 클릭 → 분포차트 결과 확인
6. 워드 클라우드
- 데이터의 단어 분포 확인
- 사용법 : 워드클라우드 선택 → 사용할 컬럼 선택 → 해당 컬럼의 언어 선택 → 분석할 범위 선택 → 워드클라우드 결과 확인
머신러닝
1. 지도 학습
- KNN
- 선형 회귀
- 로지스틱 회귀
- 서포트 벡터 머신
- 결정트리
- 랜덤 포레스트
- 신경망
2. 비지도 학습
- 군집 : 임의의 클러스터 개수를 주고 피처의 거리 계산 등을 통해 군집화 시행
- K-평균
- 계층 군집 분석
- 시각화
- 차원 축소 : 다차원 변량 데이터를 사람이 인지 가능한 2~3차원으로 축소화
- 주성분 분석
데이터 가공
1. 범주형/텍스트 데이터
- 결측값 처리 : 수치형 데이터와 다르게 최빈값, 고정값으로 보완
- 데이터 변환 : 범주형 데이터를 수치형 데이터로 변환해주는 Encoder
- Regex 추출 : 정규 포현식 추출
- 자연어 처리 : 형태소 분석 및 명사 추출
2. 수치형 데이터
- 결측값 처리 : 최빈값, 평균값, 중간값, 고정값으로 보완
- 데이터 변환 : 데이터 분포와 연속 데이터 이산화
- Scale 조정 : 데이터 feature마다 다른 data scale을 통일
3. 사용법
- 데이터 가공 탭 선택 → 변환할 컬럼 하나 선택 → 진행할 가공 종류 선택 → 가공한 데이터 저장 → 가공 결과 확인
AI 모델링
- 수학적 모델링 : 비즈니스 문제를 파악한 후에 이를 해결하기 위한 머신러닝(인공지능) 문제로 전환
- 비즈니스 문제 to 데이터 문제
비즈니스 문제 | 타겟 / 아웃풋 | 데이터 / 머신러닝 문제 |
5G 고객이 이탈할까? | 범주 : 이탈 여부 | 분류 |
내년도 올레티비 예상 매출액은? | 수치 : 매출액 | 회귀 |
키즈 콘텐츠 구매 이력 기반 고객 세분화 | 군집 |
- 과정
- 입력/출력 데이터 설정 : 입력/출력 제외의 것들을 변수로 세팅
- 칼럼 / 학습 파라미터 설정 : 데이터 유형/인코더, 하이퍼 파라미터 설정
- 학습 실행 : optimzer, learning rate, epoch, batch size, early stop
- 결과 평가 : 학습 곡선 해석, metric 이해
- 용어 참고
- 하이퍼 파라미터 : 사용자가 직접 사용해 주는 세팅값
- dropout : 과적합을 줄이기 위해 임의로 노드를 제거해 주는 확률 수준
- optimizer : 파라미터 업데이트 위한 최적화 알고리즘 종류
- layer 개수 : num_fc_layers
- layer의 노드 개수 : fc_size
- epoch : 전체 데이터 샘플을 학습하는 횟수
- batch size : 1회 파라미터 업데이트를 위해 학습하는 샘플 개수
- early stop : 학습 조기종료 옵션
- train/validation/test : 공부/모의고사/실제 시험 개념의 데이터 셋
정형 데이터 모델링
1. '데이터 가져오기'에 데이터 업로드
2. 'AI모델 학습' 설정
- 컬럼별 output, input 선택
- 제외 칼럼 선택
- 컬럼 parameter 설정 : 드롭아웃은 1 미만
- 학습 parameter 설정
3. '차트 보기'로 모델 성능 평가
- loss와 accuracy로 확인
4. 학습 로그 분석
- Epoch : 100
- Validation loss on combined improved, model saved : 더 개선될 여지 O
- Epoch : Max
- Last improvement of combined validation loss happened 5 epochs ago : Early stopping, 이미 전에 최고치를 찍었다
5. 그래프 확인
- accuracy : 제대로 예측 / 전체 데이터 수
- (100+43) / (100+43+22+15)
6, 모델 해석
명칭 | 설명 | 참고 내용 |
accuracy | 바르게 분류한 정확도 | correct prediction, total data points |
confusion matrix | 분류결과를 표로 정리한 혼동행렬 | |
F1-score | 정확도와 재현율의 조화평균 | 2(pprecision*recall) / precision + recall |
AUC | TPR과 FPR을 각각 x,y축으로 했을 때 생성되는 ROC 커브 아래의 면적 |
AI 모델 활용
- 활용 기능 : 분석하기, 시뮬레이션, 예측하기, 변수 영향도 확인, 다운로드하기, 삭제하기
출처 : AICE basic 입문 패키지 강의