ChatGPT와 생성형 AI를 활용한 콘텐츠 제작 가이드: ChatGPT 코드 인터프리터를 사용한 데이터 분석(선택 강의)

기술의 발전은 데이터 분석과 콘텐츠 제작 방법에 혁신을 가져왔습니다. 특히, OpenAI의 ChatGPT와 같은 생성형 AI는 그 가능성을 한층 더 확장시킵니다. 이번 블로그 포스팅에서는 GPT-4의 일부인 ChatGPT의 새로운 코드 인터프리터 기능을 사용하여 CSV 형식의 대용량 데이터 세트를 분석하고 처리하는 방법을 자세히 알아보겠습니다.


ChatGPT의 코드 인터프리터 기능 소개


OpenAI 웹사이트 방문

먼저, ChatGPT의 새로운 코드 인터프리터 기능에 대해 간단히 소개하겠습니다. 이 기능은 사용자가 파일을 업로드하고 채팅을 통해 데이터 분석을 수행할 수 있도록 돕는 베타 기능입니다. 마치 사람과 대화하듯이 자연스럽게 데이터를 처리하고 분석할 수 있습니다.

이 기능을 사용하기 위해서는 OpenAI 홈페이지로 이동하여 ChatGPT 페이지를 엽니다. GPT-4 제품군에 포함된 코드 인터프리터 기능을 활성화되었는지 확인하기 위해 채팅으로 물어봐도 됩니다.

활성화 되어 있지 않을 경우, 채팅으로 상호작용 하듯이 활성화 시켜주면 됩니다.

코드 인터프린터를 활성화 시켜 주세요

코드 인터프리터 사용법


CSV 파일 업로드 및 데이터 분석 시작

코드 인터프리터를 활성화한 후, 파일 업로드 버튼을 사용하여 분석할 데이터를 업로드합니다. 예를 들어, populated zipcode(CSV 형식)를 준비했다고 가정해 보겠습니다. 이 데이터 세트에는 가구수와 우편번호별 주 정보가 포함되어 있습니다.

첫 번째 프롬프트로 데이터 세트의 내용을 설명하고, 우리가 얻고자 하는 통찰력을 명시합니다. 예를 들어:

이 데이터 세트는 가구수 및 우편번호에 따른 인구 조사 데이터입니다. 이 데이터에서 통찰력을 찾으려고 합니다.

ChatGPT는 이 정보를 바탕으로 데이터 처리를 시작합니다. 이 과정에서 Python 코드를 생성하여 데이터를 분석합니다. 이 코드는 Jupyter 노트북과 유사하게 실시간으로 실행되며, 직접 복사하여 Jupyter 노트북에서 실행할 수도 있습니다.

코드를 확인 하고 싶으면 상호작용 하듯이 코드를 보여달라고 하면 됩니다.

위 응답을 위해 사용한 코드를 보여줘
import pandas as pd
import matplotlib.pyplot as plt

# Load the data
file_path = '/mnt/data/populated zipcode.csv'
data = pd.read_csv(file_path, encoding='utf-8-sig')

# Rename columns for easier manipulation
data.columns = ['zipcode', 'households']

# Calculate basic statistics
statistics = data.describe()

# Find the zipcode with the maximum and minimum households
max_households = data.loc[data['households'].idxmax()]
min_households = data.loc[data['households'].idxmin()]

# Plot the distribution of households
plt.figure(figsize=(10, 6))
plt.hist(data['households'], bins=30, color='skyblue', edgecolor='black')
plt.title('Distribution of Households by Zipcode')
plt.xlabel('Number of Households')
plt.ylabel('Frequency')
plt.grid(True)
plt.show()

# Display the statistics and the zipcodes with max and min households
import ace_tools as tools; tools.display_dataframe_to_user(name="Descriptive Statistics of Households by Zipcode", dataframe=statistics)

max_households, min_households

데이터 탐색 및 통계 분석

데이터 분석의 첫 번째 단계는 데이터 세트에 대한 기본적인 통계 정보를 제공하는 것입니다. 예를 들어, 인구 수, 평균 인구, 표준 편차, 최소 및 최대 인구 등을 계산할 수 있습니다. 이를 통해 데이터 세트의 전반적인 특성을 파악하고, 더 깊이 있는 분석을 수행할 준비를 합니다.

특정 데이터 쿼리

다음으로, 특정 질문을 통해 데이터에서 필요한 정보를 찾을 수 있습니다. 예를 들어, “종로구의 총 인구는 몇 명입니까?”와 같은 질문을 할 수 있습니다. 이 질문에 대한 답을 찾기 위해 ChatGPT는 데이터 세트를 탐색하고, 관련 코드를 작성하여 답변을 제공합니다.

ChatGPT는 때로는 올바른 답변을 제공하지 않을 수 있으므로, 질문을 구체화하거나 프롬프트를 조정하여 원하는 결과를 얻을 수 있습니다.

우편번호를 인터넷 검색을 통해 지역 이름으로 매치시켜줘
우편번호를 보다 세부적으로 매칭한 결과는 다음과 같습니다:

우편번호 10069: Jongno-gu (종로구)
우편번호 10091: Jongno-gu (종로구)
우편번호 10127: Jung-gu (중구)
우편번호 10132: Jung-gu (중구)
우편번호 10133: Jung-gu (중구)

복합 쿼리 및 고급 분석

마지막으로, 복합 쿼리를 통해 더 복잡한 분석을 수행할 수 있습니다. 예를 들어, “종로구의 인구는 얼마이며, 중구와 비교했을 때 어느 구가 더 인구가 많습니까?”와 같은 질문을 할 수 있습니다. ChatGPT는 이러한 질문에 대한 답변을 제공하기 위해 여러 단계를 거쳐 데이터를 분석합니다.

이번 포스팅에서는 ChatGPT의 코드 인터프리터 기능을 활용하여 CSV 데이터 세트를 분석하는 방법을 살펴보았습니다. 이 기능은 데이터 분석가에게 강력한 도구가 될 수 있으며, Jupyter 노트북과 유사하게 Python 코드를 실행하여 데이터를 실시간으로 처리할 수 있습니다. 이를 통해 데이터 분석의 효율성을 높이고, 더 깊이 있는 통찰력을 얻을 수 있습니다.

이제 여러분도 ChatGPT의 코드 인터프리터 기능을 활용하여 다양한 데이터 분석 작업을 수행해 보세요. AI의 힘을 빌려 더욱 효과적인 데이터 분석과 콘텐츠 제작이 가능합니다.

#ChatGPT #GenAI #생성형 AI #ChatGPT #인터프리터

다른 강의 자료