신이 되고 싶은 갓지이

AICE Basic 이론편3 - AI 구현 프로세스 (문제정의, 데이터 수집/전처리) 본문

추가공부/AICE

AICE Basic 이론편3 - AI 구현 프로세스 (문제정의, 데이터 수집/전처리)

갓지이 2023. 7. 20. 01:07

1. 문제정의

: 목적과 목표를 명확히 하는 단계 

 

✔️ AI가 적용될 수 있는 상황

  1. 데이터나 규칙이 복잡한 경우 - 데이터 기반으로 스스로 학습하여 자동으로 규칙을 생성하기에 효율적
  2. 다양한 형태의 데이터를 활용하는 경우 - 구조 관점의 여러 데이터 형태를 모두 활용 가능
  3. 미지의 영역에 대한 연구와 해결이 필요한 경우 - 아직 개척되지 않은 영역 개척에 효율적

 

✏️ 구조 관점의 데이터 

유형 설명 종류
정형 데이터 행과 열의 정형화된 구조로 고정된 필드에 저장되며 값과 형식이 일관 관계형 데이터베이스(RDBMS), 엑셀 등
반정형 데이터 구조와 형태를 갖고 있으나 값과 형식에 일관성이 없음 로그, 스크립트 등
비정형 데이터 정해진 구조와 형태가 없으며 고정된 필드에 저장되지 않음 텍스트, 이미지, 오디오, 비디오 등

 

 

✔️ AI의 5가지 주요 기능 

1. 예측(Prediction) 

- 용도 : 데이터 학습, 패턴 파악으로 결과를 예측

- 종류 : 귀추 예측, 선호 예측, 맥락 예측

 

2. 생성(Generation)

- 용도 : 텍스트, 음성, 사진, 동영상 등을 생성

- 종류 : 심미적 생성, 실용적 생성

 

3. 소통(Conversation)

- 용도 : 기계에 대화 기능을 부여하여 답변과 질문을 다양하게 연출

- 종류 : 응대, 대화 (chatgpt)

 

4. 자동화(Automation)

- 용도 : 사람에 의지하지 않고 더 효율적인 방법을 찾아 최적화

- 종류 : 자동 처리, 자동 최적화, 의사결정 자동화

 

5. 인식(Recognition)

- 용도 : 대상의 다양한 특성을 인지하고 상황을 판단

- 종류 : 이미지 인식, 음성 인식, 감정 인식, 맥락 인식

 

 

 

 

2. 데이터 수집

✔️ 수집할 데이터의 종류

필요 데이터 정의와 구체적 데이터 획득 방안 수립을 통해 AI 구현 프로세스 전반의 반복과 지연을 방지.

 

데이터 수집은 쉽게 구할 수 있는 '내부 데이터' 부터 수집을 진행하고 이에 더해 좀 더 다양한 특성을 반영하기 위해 내 업무 영역 밖으로 연계되는 외부 '외부 데이터'를 수집.

 

유형 설명 종류
내부 데이터 - 동일한 시스템계 및 업무 영역 내부에 위치
- 데이터 수명주기 관리가 용이
- 민감 정보가 포함되어 있을 수 있음
- 서비스(인증, 거래 등)
- 네트워크 (방화벽, 시스템 등)
- 마케팅 (VOC, 판매정보 등)
외부 데이터 - 외부 시스켐 및 업무 영역에 위치한 데이터
- 데이터 구매 혹은 수집 절차 고려 필요
- 공개된 데이터
- 소셜 (SNS, 커뮤니티 등)
- 공공 (의료, 지역, 기상정보 등)

 

 

 

✔️ 데이터 수집 방식

  • 크롤링(Crawling) : 다양한 웹문서 및 콘텐츠를 수집하는 방식
  • RSS(Rich Site Summary) : 웹 사이트에 게시된 새로운 글을 공유하는 프로토콜 활용 수집
  • Open API : 응용 프로그램을 통한 실시간 데이터 수신을 통해 공개 API를 이용하여 데이터 수집
  • 스트리밍(Streaming) : 네트워크를 통한 미디어 데이터의 실시간 수집

 

 

✔️ 편향과 결측치에 대한 이해

데이터 수집시 깨끗한 데이터가 필요한데 여기서 깨끗한 데이터란 편향되지 않고, 결측치가 없는 데이터이다. 데이터가 편향되거나 손실되었다면 AI는 정확하지 않은 학습을 하게 된다. 

 

  • 편향 : 수집된 데이터의 불균형이 일어나 특정 값으로 치우친 것
  • 결측치 : 손실되고 비어있는 값

 

 

 

 

3. 데이터 분석 및 전처리

✔️ 데이터 타입 확인

1. 수치형(Numerical) 

  • 연속형 : 연속되는 값      ex) 키, 몸무게, 시간
  • 이상형 : 셀 수 있는 값    ex) 사람 수, 판매량

2. 문자형(Object)

문자로만 이루어져 있거나 문자+숫자로 구성되어있음 

 

3. 범주형(Categorical)

범주를 나눌 수 있는 데이터로 사칙연산이 불가능함

  • 순서형 : 순서 매길 수 있음   ex) 학점
  • 명목형 : 순서 매길 수 없음   ex) 성별, 5지선다

 

4. 불리언형(Boolean)

참, 거짓 둘중 하나만 가질 수 있음

 

 

 

✔️ 기술통계 확인

기술통계란?

→ 통계적 방법을 활용하여 수집된 데이터를 요약하고 이를 묘사, 설명하는 것

 

 

✏️ 데이터가 어떻게 모여있는지

  1. 개수(Counts) : 세어본 수
  2. 평균값(Mean) : 산술평균, 각 데이터를 모두 더한 후 데이터의 개수로 나눈 값
  3. 중앙값(Median) : 데이터를 순서대로 배열했을 때 중앙에 위치하는 값
  4. 최빈값(Mode) : 데이터 중에서 빈도수가 가장 높은 값

 

✏️ 데이터가 어떻게 흩어져있는지

  1. 최솟값(Minimum) : 데이터 중에서 가장 작은 값
  2. 최댓값(Maximum) : 데이터 중에서 가장 큰 값
  3. 분산(Variance) : 데이터가 평균으로부터 떨어진 정도. 차이값의 평균
  4. 표준편차(Standard Deviation) : 데이터가 평균으로부터 떨어진 정도. 분산의 제곱근
  5. 사분위수(Quartile) : 모든 데이터를 순서대로 배열 시, 4등분한 지점에 있는 값 
  6. 첨도(Kurtosis) : 데이터의 분포가 정규분포 대비 뾰족한 정도를 나타내는 값
  7. 왜도(Skewness) : 데이터의 분포가 정규분포 대비 비대칭한 정도를 나타내는 값

 

 

 

✔️ 데이터 시각화

데이터 분석 결과를 시각적 표현, 전달하는 과정

 

  • 히스토그램 : 수치형 데이터구간별 빈도수를 나타내는 시각화 기법. 데이터 집합의 중심과 값의 분포 및 형태를 나타내는 가장 기본적으로 활용되는 시각화 기법
  • 분포차트 : 수치형 데이터구간별 빈도수를 나타내는 시각화 기법. 히스토그램과 비슷하나 추가적으로 색상(hue)으로 범주형 데이터의 속성을 반영
  • 박스차트 : 수치형 데이터 통계정보를 기반으로 그 분포를 박스 모양으로 나타낸 시각화 기법. 데이터의 분포, 이상치 등 통계적 특성을 한눈에 알아볼 수 있음
  • 카운트플롯 : 범주형 데이터에 대한 값의 개수를 보여주는 시각화 기법
  • 산점도 : 두 수치형 데이터 사이의 관계를 보여주는 시각화 기법. 회귀선을 통해 상관관계 확인
  • 히트맵 : 두 수치형 데이터 사이의 관계를 색상을 통해 상관관계를 표현하는 시각화 기법. 일반적으로 피어슨 상관계수를 사용햐며 0.7 이상은 상한 상관관계

 

 

 

  1. ✔️ 결측치 처리
  2. 데이터에 결측치가 포함된 경우 후속 데이터 분석 및 AI 모델링 진행이 불가하기 때문에 추가적인 조사 및 정확한 예측을 통한 처리가 필요함
  3.  

1. 제거 (Drop)

  • 데이터가 충분히 많은 경우
  • 결측치가 영향을 미치지 않는 경우

→ 정보에 반드시 손실이 생김 따라서 비즈니스 관점에서 영향도를 고려 후 결정해야함

 

2. 대체(Fill)

  • 데이터가 충분하지 않은 경우

→ 정보 손실이 없이 빠르게 채울 수 있으나 채워진 값에 의해 전체 데이터의 통계량 및 상관관계에 영향이 미칠 수 있음

 

 

✏️ 결측치 대체 방법

  1. 평균값/중앙값 - 수치형
  2. 예측값(선형회귀) - 수치형
  3. 최빈값 - 범주형
  4. 유사 벡터값 - 범주형

 

 

✔️ 이상치 처리

데이터에 이상치가 존재하면 추세나 패턴을 벗어나는 데이터에도 반영이 되어 모델 성능에 좋지 않은 영향을 미치게 됨

 

1. 이상치 탐지 방법

주로 IQR(Inter Quartile Range) 값 활용하여 계산. Q1-1.5*IQR 보다 작고  Q3+1.5*IQR 보다 큰 범위에 속하는 데이터는 이상치에 속한다. 

 

* 타겟 변수가 분류 모델일 경우 카테고리별 박스차트를 그려서 타겟 변수의 카테고리에 이상치 분포를 확인해야한다. 왜냐하면 이상치에 특정 카테고리의 데이터만 모여있다면 이는 의미가 있는 이상치가 되기에 함부로 제거해서는 안된다. 

 

 

2. 이상치 처리 방법

  • 적당한 스케일링 기법을 적용하여 그대로 사용 - 이상치가 경계 근처에 몰린 경우 
  • 이상치 포함 행 삭제 - 이상치를 포함한 행의 수가 적음
  • 이상치 경계값 치환 - 이상치를 포함한 행의 수가 많음

 

 

✔️ 인코딩 

문자형 데이터는 AI가 인식할 수 있는 숫자 데이터로 변환해줘야 하는데 이는 인코딩(Encoding)이라 불린다. 

 

1. Ordinal Encoding

 데이터 간에 순서가 있는 카테고리 데이터에 대해 적용으로 차례대로 맵핑

 

 

2. One-Hot Encoding

카테고리 수만큼 새로운 컬럼을 만들어 해당 카테고리에 일치하지 않으면 0, 존재하면 1로만 구성한 맵핑 

 

 

 

✔️ 스케일링

  • 수치형 데이터에 사용
  • 변수간 비교를 위해 수치 단위를 맞추려고 수치의 크기 변경

 

1. Min-Max Scaling

해당 컬럼의 최솟값과 최댓값을 이용하여 (data-min)/(max-min)으로 모든 데이터를 0~1 사이로 맞춰준다.

 

 

2. Standard Scaling

해당 컬럼의 평균과 표준편차를 이용히여 (data-mean)/std로 평균은 0, 표준편자는 1로 맞춰준다. 

 

→ 두 기법 모두 이상치에 영향을 받으나 min-max는 직접 영향, standard는 간접 영향으로 조금 덜 받음