이 장에서 배울 것
지금까지 우리는 AI의 큰 지도, 생성형 AI의 특징, Python과 Notebook, pandas를 활용한 데이터 정리, 시각화, 통계적 해석, 프롬프트 작성과 답변 검증을 차례로 배웠습니다. 이번 장에서는 이 모든 내용을 하나로 묶어 작은 프로젝트를 완성합니다.
이 장의 목표는 거창한 AI 모델을 만드는 것이 아닙니다. 내가 가진 질문을 데이터로 확인하고, 생성형 AI를 보조 도구로 사용하되, 최종 판단은 직접 검증하는 경험을 하는 것입니다.
이 장을 마치면 다음을 할 수 있어야 합니다.
분석할 질문을 작게 정의한다.
질문에 맞는 데이터를 고른다.
pandas로 데이터를 불러오고 정리한다.
최소 두 개의 그래프로 데이터를 탐색한다.
생성형 AI에게 도움을 받되, 답변과 코드를 검증한다.
분석 결과, 한계, 출처, AI 사용 기록을 함께 제출한다.

왜 이 주제가 중요한가
AI 리터러시는 설명을 듣는 것만으로 완성되지 않습니다. 실제로 질문을 만들고, 데이터를 고르고, 코드를 실행하고, 결과를 해석해 봐야 내 실력이 됩니다.
초보자가 흔히 하는 실수는 "AI를 활용한 대단한 프로젝트"를 하려고 처음부터 너무 크게 시작하는 것입니다. 예를 들어 "전 세계 기후 변화 예측하기", "청소년 우울증 원인 분석하기", "주식 가격 예측 모델 만들기"처럼 주제가 크면 데이터도 복잡하고 해석도 어렵습니다. 그러면 프로젝트는 멋있어 보이지만 실제로는 완성하기 어렵습니다.
좋은 입문 프로젝트는 반대입니다. 질문이 작고 분명합니다.
우리 반 설문에서 수면 시간과 집중도는 어떤 관계가 있을까?
어느 요일에 내 소비 금액이 가장 클까?
지역 공공자전거 이용량은 날씨나 요일에 따라 달라질까?
내가 본 콘텐츠 댓글에는 긍정 표현과 부정 표현이 어느 정도 섞여 있을까?
이런 질문은 작지만 분석 과정이 분명합니다. 데이터를 읽고, 정리하고, 그래프를 만들고, 해석하고, 한계를 말할 수 있습니다. 이것이 첫 번째 프로젝트에 가장 적합한 크기입니다.
핵심 개념: 좋은 프로젝트는 명확한 질문에서 시작한다
미니 프로젝트의 흐름은 다음과 같습니다.
문제 정의: 무엇을 알고 싶은가?
데이터 선택: 그 질문에 답할 수 있는 데이터가 있는가?
데이터 이해: 각 열은 무엇을 뜻하는가?
데이터 정리: 결측값, 이상값, 자료형 문제는 없는가?
탐색적 분석: 평균, 개수, 분포, 차이를 확인한다.
시각화: 그래프로 패턴과 이상한 점을 본다.
AI 보조 활용: 코드 작성, 오류 설명, 해석 초안에 AI를 사용한다.
검증: AI 답변, 코드 결과, 데이터 출처를 확인한다.
결과 정리: 무엇을 알게 되었고, 무엇은 말할 수 없는지 쓴다.
제출물 작성: 리포트, 데이터 카드, AI 사용 로그를 남긴다.
여기서 가장 중요한 것은 "분석 결과"만이 아닙니다. 어떤 데이터로, 어떤 기준으로, 어떤 정리 과정을 거쳐, 어떤 한계를 가진 결과인지를 함께 설명해야 합니다.
예를 들어 "수면 시간이 길수록 성적이 높다"라는 결과가 나왔다고 해도 바로 결론을 내리면 안 됩니다. 설문 응답자가 12명뿐일 수도 있고, 시험 과목이 다를 수도 있고, 수면 시간을 정확히 기억하지 못했을 수도 있습니다. 이 경우 더 정확한 표현은 다음과 같습니다.
이번 설문에서는 수면 시간이 긴 학생들의 자기평가 집중도 평균이 더 높게 나타났다. 다만 응답자 수가 적고, 자기보고식 설문이므로 일반적인 결론으로 확대하기는 어렵다.
이처럼 조심스럽게 말하는 태도가 데이터 분석의 기본입니다.
쉬운 비유: 프로젝트는 작은 탐정 수사다
데이터 프로젝트는 탐정 수사와 비슷합니다.
탐정은 처음부터 범인을 단정하지 않습니다. 먼저 질문을 세웁니다. "무슨 일이 일어났는가?", "어떤 증거가 있는가?", "증거가 충분한가?"를 확인합니다.
데이터 분석도 같습니다. 우리는 먼저 질문을 세우고, 데이터라는 증거를 봅니다. 그래프는 현장을 넓게 보는 지도이고, pandas 코드는 증거를 정리하는 도구입니다. 생성형 AI는 조수 역할을 할 수 있습니다. 하지만 조수가 말한 내용을 그대로 보고서에 쓰면 안 됩니다. 탐정인 우리는 증거와 맞는지 확인해야 합니다.
이번 장의 프로젝트에서 여러분은 작은 탐정이 됩니다. 단, 범인을 찾는 것이 아니라 질문에 대해 근거 있는 답을 찾는 것이 목표입니다.
프로젝트 주제 예시
처음 프로젝트를 할 때는 다음 예시 중 하나를 고르거나 비슷한 크기로 바꾸면 좋습니다.
1. 학교 생활 설문 분석
질문 예시:
수면 시간과 수업 집중도는 관련이 있을까?
하루 스마트폰 사용 시간은 학습 시간과 어떤 관계가 있을까?
등교 시간이 빠른 학생과 늦은 학생의 피로도는 차이가 있을까?
가능한 데이터:
직접 만든 익명 설문 CSV
열 예시:
sleep_hours,study_hours,phone_hours,focus_score,grade_group
주의할 점:
개인정보를 수집하지 않는다.
이름, 전화번호, 학번 등은 받지 않는다.
표본 수가 적으면 일반화하지 않는다.
2. 지역 공공데이터 탐색
질문 예시:
월별 도서관 이용자 수는 어떻게 변할까?
지역별 자전거 대여량은 차이가 있을까?
미세먼지 농도는 계절에 따라 달라질까?
가능한 데이터:
지방자치단체 공개 CSV
공공데이터 포털에서 제공하는 표 형식 데이터
주의할 점:
데이터 기준일을 확인한다.
지역, 기간, 측정 단위가 무엇인지 확인한다.
빈 값이 많은 열은 분석에서 제외할 수 있다.
3. 개인 소비 기록 분석
질문 예시:
나는 어느 카테고리에 돈을 가장 많이 쓸까?
요일별 소비 금액은 어떻게 다를까?
한 달 동안 고정 지출과 변동 지출의 비율은 어떨까?
가능한 데이터:
직접 만든 CSV
열 예시:
date,category,amount,memo
주의할 점:
계좌번호, 카드번호, 상호명 등 민감한 정보는 삭제한다.
금액이 너무 구체적으로 공개되는 것이 부담스럽다면 범주화한다.
4. 콘텐츠 댓글 감성 기초 탐색
질문 예시:
댓글에는 긍정 단어와 부정 단어가 얼마나 자주 등장할까?
영상 A와 영상 B의 댓글 분위기는 다를까?
특정 단어가 많이 등장하는 댓글은 어떤 특징이 있을까?
가능한 데이터:
직접 수집한 짧은 댓글 목록
공개적으로 사용 가능한 예시 텍스트 데이터
주의할 점:
댓글 작성자 정보를 저장하지 않는다.
자동 감성 분석 결과를 절대 정답처럼 말하지 않는다.
비속어, 혐오 표현, 개인정보가 포함된 데이터는 조심해서 다룬다.
직접 해보는 실습: 나만의 미니 프로젝트 만들기
이번 실습의 최종 제출물은 다섯 가지입니다.
분석 Notebook 파일
최소 두 개의 그래프
한 페이지 리포트
데이터 카드
AI 사용 로그
아래 순서대로 진행해 봅시다.
1단계: 질문을 한 문장으로 줄이기
처음 질문은 작아야 합니다. 다음 틀을 사용하면 좋습니다.
나는
[대상]에서[비교하거나 보고 싶은 것]이[어떻게 다른지/어떤 관계가 있는지]알고 싶다.
예시:
나는 우리 반 설문에서 수면 시간에 따라 집중도 점수가 어떻게 달라지는지 알고 싶다.
좋지 않은 질문:
학생들의 생활 습관과 학업 성취의 모든 관계를 분석한다.
좋은 질문:
설문 응답자 안에서 수면 시간과 자기평가 집중도 사이에 어떤 경향이 있는지 확인한다.
2단계: 데이터 준비하기
CSV 파일을 준비하고, Notebook에서 불러옵니다.
import pandas as pd
path = "data.csv"
df = pd.read_csv(path)
df.head()먼저 데이터의 크기와 열 이름을 확인합니다.
df.shapedf.columns자료형과 빈 값을 확인합니다.
df.info()df.isna().sum()이 단계에서 바로 그래프를 만들지 마세요. 먼저 데이터가 무엇을 담고 있는지 이해해야 합니다.
3단계: 데이터 카드 작성하기
데이터 카드는 데이터의 신분증입니다. 분석 결과를 믿을 수 있는지 판단하려면 데이터가 어디서 왔고, 어떤 기준으로 만들어졌는지 알아야 합니다.
다음 양식을 채워 보세요.
| 항목 | 내용 |
|---|---|
| 데이터 이름 | 예: 우리 반 생활 습관 설문 |
| 출처 | 직접 설문, 공공데이터, 제공 데이터셋 등 |
| 수집 기간 | 예: 2026년 5월 10일~12일 |
| 행 수와 열 수 | 예: 32행, 5열 |
| 주요 열 | sleep_hours, phone_hours, focus_score |
| 개인정보 포함 여부 | 없음 / 일부 삭제함 |
| 결측값 처리 | 빈 응답 2개 제외 |
| 분석 한계 | 응답자 수가 적고 자기보고식 설문임 |
데이터 카드는 짧아도 괜찮습니다. 중요한 것은 분석자가 데이터의 한계를 알고 있다는 점입니다.
4단계: 분석에 쓸 데이터 정리하기
자료형이 맞지 않으면 숫자 계산이 제대로 되지 않습니다. 예를 들어 amount가 숫자가 아니라 문자열로 읽혔다면 변환해야 합니다.
df["amount"] = pd.to_numeric(df["amount"], errors="coerce")날짜가 있다면 날짜 형식으로 바꿉니다.
df["date"] = pd.to_datetime(df["date"], errors="coerce")수면 시간과 집중도 점수를 분석하는 프로젝트라면 필요한 열만 복사해 별도의 DataFrame을 만들 수 있습니다.
use_cols = ["sleep_hours", "phone_hours", "focus_score"]
project_df = df[use_cols].copy()
project_df.head()이후 실습에서는 이처럼 분석에 사용할 정리본을 project_df라고 부르겠습니다. 자신의 주제가 소비 기록이라면 use_cols를 date, category, amount처럼 바꾸면 됩니다.
결측값은 무조건 삭제하지 않습니다. 먼저 얼마나 있는지 확인하고 결정합니다.
project_df.isna().mean()빈 값이 아주 적고 분석에 큰 영향을 주지 않는다고 판단된다면 삭제할 수 있습니다.
project_df = project_df.dropna()하지만 빈 값이 많다면 왜 비어 있는지 생각해야 합니다. 특정 질문에만 응답하지 않은 것인지, 데이터 수집 과정에 문제가 있었는지 확인해야 합니다. 삭제했다면 몇 행이 남았는지도 확인합니다.
project_df.shape5단계: 탐색적 분석하기
탐색적 분석은 정답을 내기 전에 데이터를 둘러보는 과정입니다. 영어로 EDA, 즉 Exploratory Data Analysis라고 부릅니다.
기본 통계를 확인합니다.
project_df.describe()범주형 데이터가 있다면 개수를 봅니다. 예를 들어 소비 기록 데이터에 category 열이 있다면 다음처럼 확인할 수 있습니다.
df["category"].value_counts()그룹별 평균도 확인할 수 있습니다.
df.groupby("category")["amount"].mean()위 두 코드는 category와 amount 열이 있는 데이터에서만 실행됩니다. 자신의 데이터에 그런 열이 없다면 열 이름을 실제 데이터에 맞게 바꾸어야 합니다.
여기서 중요한 것은 숫자를 보고 바로 결론을 내리지 않는 것입니다. 평균이 다르게 나왔다면 표본 수가 충분한지, 이상값이 있는지, 단위가 맞는지 확인해야 합니다.
6단계: 그래프 두 개 만들기
그래프는 최소 두 개를 만듭니다. 서로 다른 목적의 그래프를 선택하면 좋습니다.
분포를 보고 싶다: 히스토그램
두 숫자 변수의 관계를 보고 싶다: 산점도
범주별 차이를 보고 싶다: 막대그래프
시간에 따른 변화를 보고 싶다: 선그래프
예를 들어 수면 시간의 분포를 볼 수 있습니다.
import matplotlib.pyplot as plt
plt.hist(project_df["sleep_hours"].dropna(), bins=8)
plt.xlabel("Sleep hours")
plt.ylabel("Count")
plt.title("Distribution of sleep hours")
plt.show()수면 시간과 집중도 점수의 관계를 산점도로 볼 수도 있습니다.
plt.scatter(project_df["sleep_hours"], project_df["focus_score"])
plt.xlabel("Sleep hours")
plt.ylabel("Focus score")
plt.title("Sleep hours and focus score")
plt.show()자신의 프로젝트가 소비 기록이라면 예를 들어 요일별 소비 금액, 카테고리별 평균 금액처럼 질문에 맞는 그래프로 바꾸면 됩니다. 중요한 것은 코드 예시를 그대로 베끼는 것이 아니라, 내가 가진 질문과 열 이름에 맞게 조정하는 것입니다.
그래프를 만든 뒤에는 반드시 한두 문장으로 해석을 붙입니다.
좋지 않은 해석:
그래프를 만들었다.
좋은 해석:
응답자 대부분은 5~7시간 사이의 수면 시간을 보고했다. 산점도에서는 수면 시간이 길수록 집중도 점수가 약간 높아지는 모습이 보이지만, 점들이 넓게 퍼져 있어 강한 관계라고 말하기는 어렵다.
7단계: 생성형 AI를 보조 도구로 사용하기
AI는 프로젝트에서 여러 방식으로 도움을 줄 수 있습니다.
코드 오류 메시지를 설명하게 하기
그래프 종류를 추천받기
리포트 초안을 다듬기
데이터 카드에 빠진 항목을 점검하기
분석 한계를 찾는 질문 만들기
하지만 AI에게 통째로 맡기면 안 됩니다. 특히 다음 세 가지는 직접 확인해야 합니다.
코드가 실제로 실행되는가?
AI가 설명한 내용이 데이터 결과와 일치하는가?
출처나 통계적 주장을 지어내지 않았는가?
프롬프트 예시는 다음과 같습니다.
나는
sleep_hours,phone_hours,focus_score열이 있는 설문 데이터를 분석하고 있다. 수면 시간과 집중도 점수의 관계를 확인하려고 한다. 초보자도 이해할 수 있는 pandas와 matplotlib 코드 예시를 제안해 줘. 단, 결론은 단정하지 말고 확인해야 할 한계도 함께 말해 줘.
AI가 코드를 제안하면 그대로 믿지 말고 Notebook에서 실행해 봅니다. 오류가 나면 오류 메시지를 복사해 다시 질문할 수 있습니다.
아래 코드에서 오류가 발생했다. 오류 메시지를 초보자에게 설명하고, 수정 가능한 코드를 제안해 줘. 단, 데이터 열 이름이 실제로 존재하는지 확인하는 코드도 포함해 줘.
이렇게 질문하면 AI가 더 안전한 답을 줄 가능성이 높습니다.
8단계: AI 사용 로그 작성하기
AI 사용 로그는 "AI를 썼다"는 사실을 숨기지 않고, 어떻게 사용했는지 투명하게 기록하는 문서입니다.
| 날짜 | 사용 목적 | 입력한 질문 요약 | 받은 도움 | 직접 검증한 내용 |
|---|---|---|---|---|
| 5/14 | 그래프 코드 도움 | 산점도 코드 요청 | matplotlib 예시 코드 | 열 이름 수정 후 실행 확인 |
| 5/15 | 해석 점검 | 결과 해석이 과한지 질문 | 한계 표현 제안 | 실제 그래프와 describe 결과 비교 |
| 5/16 | 리포트 문장 다듬기 | 한 페이지 요약문 개선 요청 | 문장 구조 개선 | 수치와 결론이 맞는지 직접 확인 |
AI 사용 로그는 평가를 위한 형식이기도 하지만, 더 중요한 목적은 자신의 사고 과정을 남기는 것입니다. 나중에 프로젝트를 다시 볼 때 어떤 판단을 했는지 확인할 수 있습니다.
한 페이지 리포트 구성
최종 리포트는 길 필요가 없습니다. 한 페이지 안에 핵심을 분명히 담는 것이 좋습니다.
다음 구조를 추천합니다.
질문: 무엇을 알고 싶었는가?
데이터: 어떤 데이터를 사용했는가?
정리 과정: 결측값, 이상값, 자료형을 어떻게 처리했는가?
주요 그래프: 그래프 2개와 짧은 해석
결과: 데이터에서 무엇을 발견했는가?
한계: 무엇을 말할 수 없는가?
AI 활용: AI를 어디에 사용했고 어떻게 검증했는가?
결론 문장은 조심스럽게 씁니다.
단정적인 문장:
스마트폰을 많이 쓰면 집중도가 반드시 낮아진다.
더 나은 문장:
이번 설문 데이터에서는 스마트폰 사용 시간이 긴 응답자 일부에서 집중도 점수가 낮게 나타났다. 다만 표본 수가 적고 다른 요인을 통제하지 않았으므로 인과관계로 해석할 수는 없다.
여기서 "인과관계"란 한 일이 다른 일을 직접 일으켰다는 뜻입니다. 데이터에서 두 값이 함께 움직이는 것처럼 보여도, 하나가 다른 하나의 원인이라고 바로 말할 수는 없습니다.
흔한 실수와 오류 분석
실수 1: 주제가 너무 크다
"AI로 사회 문제를 해결하겠다"는 주제는 멋지지만 입문 프로젝트로는 너무 큽니다. 질문을 줄여야 합니다.
너무 큰 질문: 청소년 건강을 분석한다.
적절한 질문: 설문 응답자 안에서 수면 시간과 피로도 점수의 관계를 본다.
질문이 작아지면 데이터 선택과 그래프 선택도 쉬워집니다.
실수 2: 데이터가 질문에 맞지 않는다
"학습 시간이 성적에 영향을 주는가?"를 알고 싶은데 데이터에 성적 열이 없다면 답할 수 없습니다. 이럴 때는 억지로 결론을 만들지 말고 질문을 바꿔야 합니다.
원래 질문: 학습 시간과 성적의 관계는?
바꾼 질문: 학습 시간과 자기평가 이해도 점수의 관계는?
데이터가 답할 수 있는 질문을 던지는 것이 중요합니다.
실수 3: 그래프만 만들고 해석하지 않는다
그래프는 결과물이 아니라 생각을 돕는 도구입니다. 그래프 아래에는 반드시 해석을 씁니다.
무엇이 눈에 띄는가?
예상과 다른 점은 무엇인가?
이상하게 보이는 값은 있는가?
이 그래프로 말할 수 없는 것은 무엇인가?
실수 4: AI 답변을 그대로 붙여 넣는다
AI가 만든 해석은 부드럽고 그럴듯해 보일 수 있습니다. 하지만 실제 데이터와 맞지 않는 문장을 만들 수도 있습니다. AI가 "뚜렷한 양의 상관관계가 있다"고 말했더라도 그래프에서 점들이 흩어져 있다면 그 표현은 고쳐야 합니다.
실수 5: 한계를 쓰면 프로젝트가 약해진다고 생각한다
한계를 쓰는 것은 약점이 아닙니다. 오히려 신뢰를 높입니다. 좋은 분석은 자신이 말할 수 있는 범위와 말할 수 없는 범위를 구분합니다.
평가 루브릭
미니 프로젝트는 다음 기준으로 점검할 수 있습니다.
| 기준 | 확인할 내용 |
|---|---|
| 질문 정의 | 질문이 작고 명확한가? |
| 데이터 이해 | 출처, 열 의미, 수집 기준을 설명했는가? |
| 데이터 정리 | 결측값, 자료형, 이상값을 확인했는가? |
| 분석 과정 | pandas로 기본 통계와 그룹 비교를 수행했는가? |
| 시각화 | 목적에 맞는 그래프를 2개 이상 만들었는가? |
| 해석 | 그래프와 숫자를 근거로 조심스럽게 설명했는가? |
| AI 활용 | AI를 어디에 사용했는지 기록했는가? |
| 검증 | AI 답변과 코드 결과를 직접 확인했는가? |
| 한계 | 데이터와 분석의 한계를 솔직히 썼는가? |
| 전달력 | 한 페이지 리포트가 읽기 쉬운가? |
이 표를 제출 전 체크리스트로 사용해도 좋습니다.
요약
이번 장에서는 지금까지 배운 내용을 하나의 미니 프로젝트로 연결했습니다. 좋은 프로젝트는 큰 기술보다 분명한 질문에서 시작합니다. 데이터의 출처와 기준을 확인하고, pandas로 정리한 뒤, 그래프로 패턴을 살펴봅니다. 생성형 AI는 코드 작성과 해석 점검에 도움을 줄 수 있지만, 최종 판단은 사람이 해야 합니다.
미니 프로젝트의 핵심 제출물은 Notebook, 그래프 2개 이상, 한 페이지 리포트, 데이터 카드, AI 사용 로그입니다. 이 다섯 가지를 갖추면 결과뿐 아니라 과정까지 설명할 수 있습니다. 이것이 AI 시대에 필요한 실전 리터러시입니다.
퀴즈
좋은 미니 프로젝트가 거창한 주제보다 작은 질문에서 시작해야 하는 이유는 무엇인가요?
데이터 카드는 어떤 역할을 하나요?
결측값을 발견했을 때 바로 삭제하면 안 되는 이유는 무엇인가요?
산점도는 어떤 상황에서 유용한가요?
생성형 AI가 만든 분석 해석을 그대로 사용하면 어떤 문제가 생길 수 있나요?
"상관관계"와 "인과관계"의 차이를 한 문장으로 설명해 보세요.
AI 사용 로그에는 어떤 내용을 기록해야 하나요?
분석 한계를 쓰는 것이 왜 중요한가요?
체크리스트
프로젝트를 제출하기 전에 다음 항목을 확인하세요.
질문을 한 문장으로 설명할 수 있다.
데이터 출처와 수집 기준을 적었다.
데이터의 행 수, 열 수, 주요 열을 확인했다.
결측값과 자료형을 확인했다.
필요한 데이터 정리 과정을 Notebook에 남겼다.
그래프를 2개 이상 만들었다.
각 그래프 아래에 해석을 썼다.
결론을 과장하지 않았다.
분석의 한계를 적었다.
AI를 사용한 목적과 검증 과정을 로그로 남겼다.
리포트에 데이터 카드가 포함되어 있다.
다른 사람이 읽어도 분석 흐름을 이해할 수 있다.
다음 장 연결
이번 장에서는 AI와 데이터를 활용해 작은 프로젝트를 완성했습니다. 이제 마지막으로 생각해야 할 문제가 남아 있습니다. 데이터를 다루고 AI를 사용할 때 우리는 어떤 책임을 져야 할까요?
다음 장에서는 AI 윤리와 출처 표기를 다룹니다. 개인정보를 어떻게 보호해야 하는지, AI가 만든 내용을 어떻게 표시해야 하는지, 참고한 자료와 데이터 출처를 어떻게 밝혀야 하는지 배웁니다. 프로젝트의 완성도는 결과만으로 결정되지 않습니다. 신뢰할 수 있고 책임 있는 방식으로 만들었는지도 함께 평가되어야 합니다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.