본문 바로가기
IT 자격증/AICE Basic

AICE Basic 요약

by ootd_info 2024. 6. 19.
반응형

o 인공지능의 5가지 기능

 1. 예측(Prediction): 데이터를 학습하고 패턴을 파악하여 결과를 예측한다. (시험범위)

 2. 생성(Generation): 텍스트, 음성, 사진, 동영상 등을 생성한다.

 3.  소통(Conversation): 기계에 대화 기능을 부여하여 질문과 답변한다.

 4.  자동화(Automation): 사람에게 의지하지 않고 더 효율적인 방법을 찾는다.

 5. 인식(Recognition): 대상의 특성을 인지하고 상황을 판단한다.

 

o 프로세스

  1.   문제정의
  2.   데이터수집
  3.   데이터 분석 및 전처리
  4.   AI모델링
  5.   AI적용

 

 

o 문제정의

*  알고리즘 유형 : 분류 Vs. 회귀

-   과제에 숫자를 예측하는 것이면 회귀 외는 모두 분류(:Y/N, 유지/해지)

* 데이터설명: 타겟변수(종속변수, output, Y)이 무엇인지 파악

-    그 외 데이터명과 칼럼명(영문)은 여기서 확인

 

o 데이터 분석 > 기초정보분석

 *  전체 데이터에 대한 기본적인 통계 정보를 확인

데이터정보 설명
Number of variables 전체 항목(컬럼) 수 → column 수
Number of observations 전체 값(Value) 수 → row수
Missing Cells 결측치, 값이 없음
Missing Cells(%) 결측치 비율
Duplicated rows 중복값
Duplicated rows(%) 중복값 비율

 

유형 설명
Numeric 셀 수 있는 데이터
Object 문자 or 문자+숫자로 구성된 데이터
Category 범주형 데이터 (성별, 혈액형 등)
Timedeltas 순서를 매길 수 있는 범주형 데이터 (날짜)
Boolean 논리값인 참과 거짓 중 하나로 표현 (TRUE/FALSE)

 

*  항목별(칼럼) 데이터에 대한 기본적인 통계 정보를 확인: 기술통계 용어 기억

기술통계
표현 설명 표현 설명
Size 데이터수 Zeros 개수
Distinct 중복 제거 후 항목수 Zeros(%) 0의 비중
Distinct(%) 중복제거항목율 Mean 평균
missing 결측수 Median 중앙값
Missing(%) 결측율 Sum 합계
Minimum 최소값 Sd 표준편차
Maximum 최대값 skewness 편포도(비대칭한정도)

    - 분산(variance) : 데이터가 평균으로부터 떨어진 정도를 나타냄, 각 데이터에서 평균 뺀 값

표준편차(Standard Diviation): 데이터가 평균으로부터 떨어진 정도를 나타냄, 분산의 제곱근

편포도/왜도(Skewness): 데이터 분포가 정규분포 대비 비대칭한 정도

 

* 분위수 : Q1, Q3 등 값을 물어보는 질문 있음

분위수 설명
Min 최소값 – 데이터 중 가장 작은 값
5-th per. 5% 수준값
Q1 박스 하단의 선으로 데이터 분포상 25% 수준 값
Median 중앙값(Q2), 박스 중간의 데이터 분포상 50%수준 값
Q3 박스 상단의 선으로 데이터 분포상 75% 수준 값
95-th per. 95% 수준값
Max 최대값 – 데이터 중 가장 큰 값

IQR = Q1과 Q3 사이의 거리 = Q3 – Q1

[이상치 확인] 하단/상단 경계의 바깥에 있는 데이터

하단경계 = 박스 바깥의 하단에 있는 선, 하단 이상치 확인 = Q1-(1.5*IQR)

상단경계 = 박스 바깥의 상단에 있는 선, 상단 이상치 확인 = Q3+(1.5*IQR)

*  최빈값: 한 항목의 전체 데이터에서 가장 많은 값(value) 순으로 보여줌,

-   Value: 값, 실제데이터

-   Count(%): 그 값을 갖는 데이터의 개수(비중)

최빈값 (수치형예시)
Value Count Count(%)
2500 1407 17.79
1400 1167 14.76
5000 788 9.97
10000 706 8.93

 

최빈값 (이진분류 예시)
Value Count Count(%)
Satisfied 1943 54.02
unsatisfied 1654 45.98

 

o 데이터 분석 > 시각적 분석 : 실제화면에서 연습해봐야 함

* 산점도

*  히트맵: A와 가장 큰 양이 상관관계는 ?

-   선택항목을 제외하고 젤 진한 색 (빨강-양, 파랑-음)

*  박스차트: 1호러장르를 선호하는 2여성의 3호러 구매 금액 중앙값은? (분위수 질문들)

*  분포차트: 납부 금액이 000인 A고객, B고객의 차이는?

* 워드클라우드

 

 

o 데이터 가공

* 결측값 처리

-   Most-frequent(최빈값): 데이터에서 가장 많이 나오는 값으로 변환

-   Median: 중앙값으로 변환

-   Mean: 평균값으로 변환

-   Constant(상수): 내가 원하는 값으로 변환

* Scale 조정 (수치형 항목만)

-   Min-Max Scaler: 모든 데이터를 최소값0~최대값1사이로 맞춤

-   Standard Scaler: 데이터 이상치가 심할 경우 사용, 평균0 & 표준편차 1로 맞춤

 

* 데이터 변환 (Ordinal_encoder)

-   카테고리형 데이터를 Value(값)간 우선순위가 없도록 2차원배열로 변경해주는 작업

 

* 칼럼삭제

-   결측치 변환 등 작업 후 기존 항목은 삭제하면 시험 시 헷갈리지 않는다.

* 삭제 안해도 제외input으로 선택하면 됨

 

o AI모델 학습 > 머신러닝 학습

* 작업데이터 선택

*  Data Parameter 선택

학습유형

ML 모델 선택

-   다중선형회귀 Linear Regression

-   로지스틱회귀 Logistic Regression

-   K-최근접 이웃 K Nearest Neighbour(KNN)

-   Decision Tree

-   Random Forest

-   Light Gradient Boo…

모델 중 성능이 가장 좋은 것은? 대상 모델을 한번에 눌러서 실행하면 됨

 

o AI모델 학습 > 딥러닝 학습

* 작업데이터 선택

-   Output 선택: 타겟변수(종속변수)

-   제외칼럼 선택: 결측치 작업 전 칼럼 등 제외 필요

* 칼럼 Parameter 설정

-   Input 각 항목 별 Numerical(수치형), Binary(T/F), Category(범주형) 설정

* 임베딩크기(embedding_size)

* 드롭아웃(dropout): overfitting을 방지하기 위한 테크닉

-   Output

구분 분류형 회귀형
(수치형)
Binary 이진형 Category 범주형
데이터유형 Binary Category numericla
모델유형 Classifier 분류 Classifier 분류 Regressor 회귀
활성함수 Sigmoid softmax activation

. FC 레이어수: Hidden 레이어수, 1~2 (별도 지시 없으면 건들지 않는다.)

. FC 레이어 크기: 16~64 (별도 지시 없으면 건들지 않는다.)

*  학습 Parameter 설정

-   Epoches: 1 epoches → 모든 데이터 셋을 1번 학습

-   Batch size: Data를 분할하여 GPU를 활용해 병렬로 빠르게 학습

-   Early Stop: 대표적인 Overfitting 방지 기법, Train Loss는 감소하나 Valid Loss가 감소하지 않는 시점에서 학습을 중지

-   Optimizer: Loss함수의 최적의 Gradient값을 찾는 알고리즘

-   Learning Rate: Gradinet를 위해 이동하는 보폭(대게 0.01, 0.001, 0.0001중 선택)

-   교차 검증 fold수

 

ㅇ  AI 성능 평가

-   Regressing Model 회귀모델

MSE: 오차의 제곱의 합 1/n * ∑(실제값 – 예측값)2

. MAE: 오차의 절대값의 합 1/n * ∑|실제값 – 예측값|

-   Classification Model 분류모델

Accuracy(정확도): 각 Label별 정답갯수 / 전체 Lable갯수

. Recall(재현율): 내가 맞힌 1의 개수 / 전체 Data중 1의 개수

. Precisicon(정밀도): 전체 Data중 1의 개수 / 내가 1이라 예측한 개수

 

 딥러닝 모델을 고도화하여 Accuracy 개선하기

-   변수변환, 변수선택, 파라미터 수정

 * Epoch을 수정하여 고도화 : 증가시키면 보통 개선됨

-   (회귀모델) MSE는 작을수록 개선된 값임

-   (분류모델) Accuracy는 높을수록 개선된 값임

 

o AI모델 활용

*  분석하기

*  변수 영향도 확인: 모델에 가장 많은 영향을 미친 5개 항목을 보여줌

 *  시뮬레이션

* 예측하기: 정해진 조건을 입력하여 결과를 예측

728x90

댓글