brunch

You can make anything
by writing

C.S.Lewis

by 추보 구자룡 Oct 16. 2024

02. 생성형 AI를 활용한 데이터 분석

1부 데이터 리터러시 및 데이터 수집

1. 데이터 분석 도구와 생성형 AI 


(1) 데이터 분석 도구


다양한 데이터 분석 도구들이 존재하며, 각각의 도구는 사용자 경험과 목적에 따라 적절하게 선택될 필요가 있습니다. 데이터 분석 도구를 두 가지 범주로 나누고, 각각의 특징과 사용 사례를 살펴보겠습니다.


1) 기본 데이터 분석 도구 (초보자 및 일반 사용자)

엑셀(Excel), 파워 쿼리(Power Query), 파워 비아이(Power BI), KESS, 오렌지(Orange)와 같은 도구들이 여기에 속합니다.

이 도구들은 메뉴 기반의 인터페이스를 제공하여, 프로그래밍 지식 없이도 데이터를 처리하고 분석할 수 있습니다. 특히 엑셀과 파워 쿼리는 간단한 데이터 정리와 변환 작업에 유용하며, 파워 BI는 시각화 기능을 통해 데이터를 쉽게 시각화할 수 있습니다.

KESS는 엑셀의 VBA(Visual Basic for Applications)를 활용한 통계 분석 프로그램으로, 서울대학교 통계학과 교수가 학생들을 위해 만든 무료 소프트웨어입니다.

오렌지는 데이터 마이닝 도구로, 드래그 앤 드롭 방식으로 간단하게 분석할 수 있는 무료 소프트웨어입니다.

이러한 도구들은 데이터 분석을 처음 접하는 사람들에게 적합하며, 몇만 건 정도의 데이터를 다루는 데 충분한 기능을 제공합니다.


2) 전문 데이터 분석 도구 (전문가 및 프로그래머)

SQL, R, 파이썬(Python), SAS, SPSS, 나임(KNIME), 래피드마이너(RapidMiner) 등이 여기에 속합니다.

이 도구들은 프로그래밍 지식이 필요한 경우가 많으며, 대규모 데이터 처리 및 복잡한 분석 작업을 수행할 수 있는 강력한 기능을 제공합니다.

R과 파이썬은 데이터 분석과 통계, 머신러닝에 특화된 프로그래밍 언어로, 전문가들 사이에서 가장 널리 사용되고 있습니다. 이 언어들은 강력한 확장성과 다양한 라이브러리를 제공하지만, 프로그래밍에 대한 이해가 필요하여 진입 장벽이 높은 편입니다.

SAS와 SPSS는 전통적인 통계 분석 도구로, 대규모 데이터를 처리하고 고급 분석을 수행하는 데 사용됩니다. 하지만 대부분 유료 소프트웨어입니다.

나임과 래피드마이너는 데이터 마이닝과 분석을 위한 도구로, 머신러닝 모델 구축에 유리한 환경을 제공합니다. 무료 버전과 유료 버전이 함께 제공되며, 복잡한 분석 작업을 수행할 수 있습니다.


3) 문제와 데이터의 특성에 따른 도구 선택

도구 선택은 해결하려는 문제의 유형과 데이터의 크기, 복잡성에 따라 달라져야 합니다. 예를 들어, 몇만 건의 데이터라면 엑셀과 같은 기본 도구로도 충분하지만, 수백만 건 이상의 빅데이터를 처리해야 한다면 R, 파이썬, 또는 SQL과 같은 전문 도구가 필요합니다.


4) 생성형 AI를 활용한 데이터 분석 도구

최근에는 챗GPT(ChatGPT), 제미나이(Gemini), 클로드(Claude), 쥴리어스(Julius), 펄플렛서티(Perplexity)와 같은 생성형 AI 도구들이 등장하여, 데이터 분석을 보다 쉽게 할 수 있는 방법을 제공합니다.

이들 AI 도구는 사용자가 데이터를 업로드하면 자동으로 분석을 수행하고, 결과를 제시해 주는 기능을 갖추고 있습니다. 특히 챗GPT는 데이터 분석 분야에서 매우 강력한 기능을 제공하며, 유료 버전으로 업그레이드 시 고급 데이터 분석 기능(예: Advanced Data Analysis)을 활용할 수 있습니다.

생성형 AI는 데이터 분석의 진입 장벽을 낮추고, 프로그래밍 지식 없이도 복잡한 분석을 수행할 수 있도록 도와줍니다. 이러한 도구들은 AI의 강력한 처리 능력을 바탕으로 빠르고 정확한 분석을 제공하며, 점점 더 많은 사람들이 데이터 분석에 활용하고 있습니다.


따라서, 데이터 분석 도구를 선택할 때는 해결하려는 문제와 데이터의 특성을 고려하여 적절한 도구를 선택하는 것이 중요합니다. 또한, 생성형 AI 도구를 적절히 활용하면 데이터 분석의 효율성을 극대화할 수 있습니다. 데이터 분석의 목적과 규모에 맞는 도구를 선택하고, 필요한 경우 AI를 적극 활용하여 효율적으로 데이터를 분석하는 것이 오늘날의 데이터 분석 환경에서 중요합니다.



(2) AI를 활용한 데이터 분석 프로세스


AI를 활용한 데이터 분석의 프로세스는 기존의 데이터 분석 과정과 크게 다르지 않습니다. 기본적인 단계와 접근 방식은 동일하지만, AI 도구를 사용한다는 점에서 차이가 있습니다. AI를 활용한 데이터 분석의 전체적인 흐름을 단계별로 살펴보겠습니다.


AI 데이터 분석 프로세스


1) 문제 정의

데이터 분석의 첫 번째 단계는 문제를 정의하는 것입니다. 해결해야 할 비즈니스 문제나 과제를 명확하게 설정합니다. 이는 기존의 데이터 분석에서도 동일한 첫 번째 단계입니다.


2) 데이터 수집

문제 정의가 완료되면, 이를 해결하기 위해 필요한 데이터를 수집합니다. AI를 활용하는 경우에도 이 단계는 여전히 필요합니다.


3) 데이터 업로드 및 설명(인지)

AI 도구를 사용할 때는 데이터를 AI 시스템에 업로드하거나 불러오기 과정을 거칩니다. 이는 기존의 데이터 분석 도구에서 데이터를 불러오는 것과 동일한 맥락입니다.

데이터를 업로드한 후, AI가 이를 이해할 수 있도록 데이터의 구조와 의미를 설명해 주는 과정이 필요합니다. AI는 이 설명을 통해 데이터를 인지하고 분석 준비를 하게 됩니다.


4) 데이터 전처리

데이터를 AI가 분석할 수 있도록 전처리 작업을 수행합니다. 전처리 작업에는 불필요한 행이나 열을 제거하고, 결측치나 이상치를 처리하는 과정이 포함됩니다. 이러한 단계는 데이터를 깨끗하게 정리하여 분석의 정확성을 높이기 위한 필수적인 과정입니다.


5) 탐색적 데이터 분석(EDA)

탐색적 데이터 분석을 통해 데이터의 기본 특성을 파악합니다. 기술 통계, 히스토그램, 박스 플롯 등을 사용하여 데이터의 분포와 특성을 시각적으로 확인합니다. 이 단계는 데이터가 어떤 패턴을 가지고 있는지, 이상치가 있는지를 미리 파악하는 데 유용합니다.


6) 데이터 분석 및 시각화

본격적인 분석 단계에서는 통계적 가설 검정, 상관관계 분석, 인과관계 분석 등 다양한 분석 기법을 사용합니다. AI를 활용하면 시각화 작업 또한 쉽게 수행할 수 있습니다. 예를 들어, 차트를 작성하여 분석 결과를 시각적으로 표현함으로써, 데이터를 더 직관적으로 이해할 수 있도록 돕습니다.


7) 결론 도출 및 보고서 작성

분석 결과를 바탕으로 결론을 도출하고, 필요시 보고서를 작성합니다. 이 단계에서는 분석 결과를 종합하여 비즈니스 문제에 대한 해답을 제시하고, 이를 문서화하여 의사결정에 참고할 수 있도록 합니다.


8) 의사결정

마지막 단계에서는 분석 결과를 바탕으로 의사결정을 내립니다. 이는 데이터 기반 의사결정(Data-driven Decision Making)으로, AI가 제공한 인사이트를 활용하여 최적의 해결책을 선택합니다.


죽, AI를 활용한 데이터 분석은 기존의 데이터 분석 프로세스와 큰 차이점이 없습니다. 데이터의 수집, 전처리, 분석, 결론 도출이라는 기본 흐름은 동일하며, 단지 AI 도구를 사용하여 데이터 처리 및 분석의 효율성을 높이고, 자동화된 시각화와 통찰력을 제공하는 것이 차별점입니다. 따라서 AI를 활용하더라도 기본적인 데이터 분석 원칙과 절차를 잘 이해하고 있다면, 기존의 접근 방식과 자연스럽게 통합할 수 있습니다.


(3) AI를 활용한 데이터 분석 시 고려사항

AI를 활용한 데이터 분석 시 고려해야 할 사항들을 설명드리겠습니다. AI 도구는 강력하지만, 사용 시 몇 가지 중요한 점을 인지하고 신중하게 접근해야 합니다. 


1) AI의 분석 결과를 맹신하지 말 것

AI의 분석 결과가 항상 정확하거나 최적의 해답은 아닐 수 있습니다. 특히 데이터 분석 초심자일수록 AI가 제공하는 결과를 검토하지 않고 그대로 받아들이는 경향이 있는데, 이는 위험할 수 있습니다. AI는 데이터를 기반으로 패턴을 도출하고 예측을 하지만, 이를 비판적으로 검토하지 않으면 잘못된 결론에 도달할 수 있으므로, 항상 결과를 점검하고 검증하는 습관을 가져야 합니다.


2) 전문 지식과 경험을 바탕으로 AI와 협업할 것

AI는 데이터를 처리하고 분석하는 데 도움을 주지만, 데이터 분석의 배경 지식이 부족하다면 AI의 도움을 충분히 활용하기 어렵습니다. 도메인 지식, 통계적 이해, 그리고 비즈니스 맥락을 고려한 분석이 필요합니다. AI에게 모든 분석을 맡기기보다는 AI를 보조 도구로 활용하여, 전문가의 관점에서 데이터를 해석하고 결론을 내리는 협업이 중요합니다.


3) 데이터 분석에 정답은 없음을 인지할 것

데이터 분석에는 항상 정답이 존재하는 것이 아닙니다. 분석가의 가설과 데이터가 뒷받침하는 패턴이 중요하며, 이를 바탕으로 논리적인 결론을 도출하는 것이 핵심입니다. 분석을 통해 얻은 결과가 정답이라기보다는, 데이터를 통해 이해할 수 있는 인사이트와 근거를 바탕으로 결정을 내리는 과정이 중요합니다.


4) 데이터 분석을 위한 프롬프트 엔지니어링

AI와 상호작용할 때, 프롬프트 엔지니어링은 매우 중요한 요소입니다. AI가 잘 반응하도록 하기 위해 명확하고 단계적인 지시를 하는 것이 중요합니다.

· 단계별 수행: 전체 과정을 한 번에 요청하기보다는, 단계별로 세분화하여 요청합니다. 예를 들어, "단계별로 분석해 주세요" 또는 "이 단계 후 다음 단계를 진행해 주세요"와 같은 구체적인 지시를 합니다.

· 명확한 단어 사용: 모호한 표현보다는 명확하고 구체적인 단어를 사용하여 지시합니다.

· 업로드 파일 명명: 파일의 내용을 잘 나타내는 영어 이름을 사용하여 AI가 파일을 쉽게 이해할 수 있도록 도와줍니다.

· 데이터 설명: 업로드한 데이터에 대해 간략히 설명하는 것이 좋습니다. 데이터를 설명함으로써 AI가 보다 정확한 분석을 수행할 수 있습니다.

· 전처리 데이터 확인: 데이터 전처리 후 분석 결과가 필요할 경우, AI에게 "전처리 결과 파일을 다운로드 링크로 제공해 달라"라고 요청할 수 있습니다. 이를 통해 원본 데이터와 전처리 데이터를 비교하고 검토할 수 있습니다.


즉, AI를 활용한 데이터 분석은 편리하고 강력하지만, 이를 제대로 사용하기 위해서는 사용자의 전문 지식과 비판적 사고가 필요합니다. 또한, 프롬프트를 명확하고 구체적으로 작성하는 프롬프트 엔지니어링이 중요하며, 단계적인 접근과 데이터의 검토 과정을 통해 정확성을 높여야 합니다. 이를 통해 AI와 협업하여 데이터 분석의 효율성과 품질을 높일 수 있습니다.



2. 챗GPT를 활용한 데이터 분석 


(1) 챗GPT와 데이터 분석


챗GPT를 이용해 데이터 분석을 진행하려면 몇 가지 단계와 설정이 필요합니다. 



1) 챗GPT 접근 및 로그인

먼저, [챗GPT 웹사이트](https://chatgpt.com/)에 접속해야 합니다. 회원가입을 통해 계정을 생성하고, 구글 계정으로 로그인하는 방법이 가장 간편합니다.

로그인 후, 무료 버전과 유료 버전(Plus 버전)을 선택할 수 있습니다. 데이터 분석을 원활하게 진행하기 위해서는 챗GPT Plus로 업그레이드하는 것이 좋습니다. Plus 버전에서는 더 긴 텍스트를 처리하고 분석할 수 있는 토큰을 충분히 제공합니다.


2) 챗GPT ADA(Advanced Data Analysis) 사용

ADA(Advanced Data Analysis)는 챗GPT의 고급 데이터 분석 기능으로, 예전에는 Code Interpreter라고 불리기도 했습니다. 이 기능은 데이터를 업로드하고, 분석 및 시각화 작업을 자동으로 수행합니다.

이 기능을 사용하면 챗GPT가 파이썬 코드를 자동으로 작성하고, 데이터를 분석한 후 결과를 시각적으로 보여줍니다. 따라서 데이터 분석 작업을 훨씬 쉽게 수행할 수 있습니다.


3) 단계별 데이터 분석 프로세스


Step 1: 데이터 업로드

  먼저, 분석할 데이터를 챗GPT에 업로드합니다. 파일 업로드 기능을 사용하여 데이터를 쉽게 올릴 수 있으며, 이를 통해 챗GPT가 데이터를 읽고 인지하게 됩니다.


Step 2: 명령어 입력 및 분석 수행

  데이터가 업로드되면, 사용자는 챗GPT에 명령어(프롬프트)를 입력하여 어떤 분석을 수행할지 지시합니다. 챗GPT ADA는 이를 바탕으로 파이썬 코드를 작성하여 데이터를 분석합니다.


Step 3: 분석 결과 확인 및 활용

  챗GPT가 데이터를 분석한 후, 결과를 시각화하거나 통계적으로 해석한 내용을 제공합니다. 사용자는 이 결과를 바탕으로 필요한 의사결정을 내릴 수 있습니다.


4) Data Analyst GPT 활용

챗GPT의 ADA 기능을 사용하기 위해서는 Data Analyst GPT라는 모델을 사용할 수 있습니다. 오픈 AI가 제공하는 이 GPT는 데이터 분석에 특화된 기능을 갖추고 있으며, 데이터 파일을 업로드하고 분석을 요청하면 자동으로 코드를 작성하고 결과를 제공합니다. 기존의 일반적인 챗GPT 모델을 사용하는 것보다 더 효과적이기 때문에, 데이터 분석 실습에서는 이 Data Analyst GPT를 적극 활용할 예정입니다.


즉, 챗GPT를 활용한 데이터 분석은 데이터를 쉽게 업로드하고 분석할 수 있는 환경을 제공합니다. 하지만 유료 버전(Plus)으로 업그레이드하여 ADA 기능을 사용하는 것이 더욱 효율적입니다. 데이터를 업로드하고 챗GPT에 명령을 입력하면, 챗GPT가 자동으로 파이썬 코드를 작성하여 결과를 분석하고 시각화합니다. 이를 통해 데이터 분석에 소요되는 시간을 줄이고, 보다 직관적이고 신속하게 결과를 얻을 수 있습니다.


(2) 챗GPT 고급 데이터 분석 시 고려사항


챗GPT를 통해 데이터를 분석할 때 알아두어야 할 몇 가지 주요 사항들을 정리해 보겠습니다.


1) 업로드 가능한 파일 형식

챗GPT는 다양한 파일 형식을 지원합니다. 

  · 텍스트 기반 파일: `. txt`, `. csv`, `. json`, `. xml` 등이 포함됩니다.

  · 이미지 파일: `. jpg`, `. png`, `. gif` 같은 이미지 파일도 업로드할 수 있습니다.

  · 문서 파일: `. pdf`, `. docx` 같은 형식도 가능하고, 

  · 데이터 파일: `. xlsx`와 같은 엑셀 파일 및 압축 파일(`. zip`)도 지원됩니다.

여러 개의 파일을 업로드해야 할 경우, 파일을 압축해서 하나의 파일로 만들면 용량 한도 내에서 업로드할 수 있습니다.


2) 업로드 파일 용량 및 시간 한계

챗GPT에서 한 번에 업로드할 수 있는 파일 개수는 최대 10개이며, 최대 용량은 512MB입니다.

한 세션에서 데이터를 업로드하고 분석할 수 있는 시간은 최대 3시간입니다. 이 시간이 지나면 세션이 만료되어 추가적인 분석이 불가능하므로, 이를 염두에 두고 작업해야 합니다. 또한, 업로드된 파일은 클라우드에 일시적으로 저장되지만, 곧 휘발되므로 보안 문제는 크게 염려하지 않아도 됩니다. 보안 설정은 `계정 설정 > 데이터 제어` 탭에서 비활성화할 수 있습니다.


3) 파이썬 라이브러리 활용

챗GPT의 고급 데이터 분석 기능은 파이썬 라이브러리를 활용합니다. 2024년 7월 기준으로 355개의 라이브러리를 지원합니다. 필요한 경우, 추가적으로 라이브러리를 불러와서 사용할 수 있다. 특정 파이썬 라이브러리를 불러와서(import) 사용하라고 요청할 수 있습니다.


4) 고급 데이터 분석을 제대로 수행하지 못할 때

챗GPT가 고급 데이터 분석을 수행하지 못할 경우,  ‘응답 다시 생성하기’ 버튼을 클릭하여 세션을 다시 시작할 수 있습니다.  또는, ‘메시지 편집’을 통해 프롬프트를 수정하고 다시 분석을 시도할 수 있습니다.


5) 한글 깨짐 현상 해결

데이터 시각화에서 한글이 깨지는 경우가 발생할 수 있습니다. 예를 들어, 그래프나 차트를 그릴 때 한글이 제대로 표시되지 않는 현상이 있습니다. 이를 해결하기 위해, koreanize-matplotlib 라이브러리 및 한글 폰트를 업로드하여 사용해야 합니다. 단, 이러한 설정은 세션마다 다시 설정해야 하며, 세션이 새로 열릴 때마다 동일한 작업을 반복해야 합니다.


즉, 챗GPT를 통해 데이터를 업로드하고 분석할 때의 파일 형식 및 용량 제한, 파이썬 라이브러리의 활용 방법, 그리고 분석 도중 발생할 수 있는 문제를 해결하는 방식에 대한 것입니다. 또한, 한글 깨짐 현상과 같은 문제가 발생할 때 이를 해결하기 위한 방법도 설명하고 있습니다. 챗GPT의 고급 데이터 분석 기능을 효과적으로 활용하려면 이러한 주의사항을 잘 이해하고 적용하는 것이 중요합니다.


(3) 챗GPT 고급 데이터 분석 및 라이브러리 설치


챗GPT를 활용한 데이터 분석 및 라이브러리 설치와 한글 깨짐 현상 해결 방법에 대해 실습하듯이 설명해 보겠습니다.


1) 데이터 파일 업로드 및 분석 요청

먼저, 챗GPT에 데이터 파일을 업로드합니다. 예시로 `Employee Training Roster.csv` 파일을 업로드하고, 챗GPT에 이 파일을 탐색해 달라고 요청합니다.

예를 들어, "근무연수에 대한 히스토그램과 박스 플롯을 그려줘"라고 명령을 입력합니다.   

   하지만 시각화 과정에서 한글이 깨지는 문제가 발생할 수 있습니다. 예를 들어, 차트 제목이나 라벨이 네모로 표시되는 경우입니다. 이를 해결하기 위해 한글 폰트와 관련 라이브러리를 설치해야 합니다.


2) 라이브러리 및 한글 폰트 설치

koreanize-matplotlib 라이브러리와 NanumBarunGothic.ttf 한글 폰트를 설치하여 한글이 깨지지 않도록 설정할 수 있습니다.

  koreanize-matplotlib: 이 라이브러리는 Matplotlib에서 한글을 지원하기 위한 라이브러리입니다.

  NanumBarunGothic.ttf: 무료 한글 폰트로, 설치하여 Matplotlib에 적용할 수 있습니다.

챗GPT에 이 두 가지 파일(`koreanize_matplotlib.whl` 파일과 `NanumBarunGothic.ttf` 파일)을 업로드하고, 라이브러리를 설치하도록 명령을 입력합니다.

예시로, "업로드한 라이브러리를 설치하고 Matplotlib 한글 사용 환경을 설정한 다음 NanumBarunGothic.ttf 파일로 한글을 표현해 줘"라고 요청합니다.


3) 설정 후 데이터 재시각화

라이브러리와 폰트가 정상적으로 설치되면, 다시 한글이 포함된 시각화 작업을 진행할 수 있습니다.

만약 여전히 한글이 깨진다면, "한글을 표현해서 다시 그려줘"와 같이 다시 명령을 주면 됩니다. 이렇게 하면 한글이 제대로 표시된 차트와 플롯이 생성됩니다.


4) 설치 결과

한글 깨짐 현상을 해결한 결과로, 제대로 된 한글 텍스트가 포함된 시각화 결과를 확인할 수 있습니다.

슬라이드 예시에서는 왼쪽에 한글이 깨진 차트와 오른쪽에 한글이 정상적으로 표시된 차트를 비교해 보여주고 있습니다.


즉, 챗GPT를 통해 데이터를 분석할 때, 한글이 포함된 시각화를 할 경우 한글 폰트와 관련 라이브러리를 추가로 설정해야 합니다. 라이브러리 설치와 폰트 업로드 과정을 통해 이러한 문제를 해결할 수 있으며, 프롬프트에서 구체적인 명령을 통해 한글을 제대로 표현하도록 할 수 있습니다. 실습을 통해 데이터를 탐색하고 시각화하며, 문제가 발생했을 때 이를 해결하는 방법을 이해하는 것이 중요합니다.


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari