파이썬 마법 학교 29강: 점들이 흩뿌려진 비밀 지도, ‘산점도’ 마법

안녕하세요! 가족과 함께하는 스마트 라이프입니다. 지난 시간까지 우리는 선과 막대, 그리고 피자 조각으로 데이터를 표현해봤죠? 오늘은 데이터 탐험대의 마지막 마법인 ‘산점도(Scatter Plot)’를 배워볼 거예요. 수많은 점을 종이 위에 흩뿌려서 숨겨진 비밀 관계를 찾아내는 아주 신기한 지도랍니다!

파이썬 마법 학교 29강: 점들이 흩뿌려진 비밀 지도, '산점도' 마법

1. 산점도는 ‘관계의 증거’예요

어떤 두 가지 정보가 서로 관련이 있는지 궁금할 때가 있죠? 예를 들어 “키가 큰 사람이 발도 더 클까?” 혹은 “게임을 오래 하면 잠을 적게 잘까?” 같은 궁금증 말이에요. 산점도는 두 가지 정보를 가로(X)와 세로(Y)에 놓고 점을 콕콕 찍어서, 점들이 어떤 모양으로 모여있는지 확인하는 그래프예요.

2. 점을 흩뿌리는 주문: plt.scatter

선으로 잇지 않고 점만 찍을 때는 scatter(흩뿌리다)라는 단어를 써요.

  • plt.scatter(x, y): “가로값과 세로값에 맞춰 점을 찍어줘!”
  • s=100: “점의 크기를 큼직하게 만들어줘!”
  • alpha=0.5: “점들이 겹쳐도 잘 보이게 투명하게 만들어줘!”

3. 실전 연습: 공부 시간과 시험 점수의 관계

가상의 친구 5명의 공부 시간과 점수를 비교해볼까요?

import matplotlib.pyplot as plt

# 1. 데이터 준비 (공부 시간과 수학 점수)
study_hours = [1, 2, 3, 4, 5]
scores = [40, 65, 70, 85, 95]

# 2. 산점도 그리기 마법 (별 모양 점으로 그려볼까요?)
plt.scatter(study_hours, scores, s=200, color='blue', marker='*', alpha=0.7)

# 3. 그래프 꾸미기
plt.title("Study Time vs Score")
plt.xlabel("Study Hours")
plt.ylabel("Math Score")

# 4. 비밀 지도 보여주기!
plt.grid(True) # 눈금선을 그리면 더 보기 편해요
plt.show()
파이썬 마법 학교 29강: 점들이 흩뿌려진 비밀 지도, '산점도' 마법

4. 점들이 보내는 비밀 신호 읽기

그래프에 찍힌 점들을 보세요. 오른쪽 위로 쭉 올라가는 모양인가요? 그렇다면 “공부를 많이 할수록 점수도 높아진다!”라는 강력한 관계를 찾아낸 거예요! 만약 점들이 제멋대로 흩어져 있다면 두 정보는 서로 상관이 없다는 뜻이죠. 이렇게 데이터 속에서 규칙을 찾아내는 게 진짜 과학자의 모습이랍니다.

5. 가족과 함께하는 ‘우리 집 상관관계’ 조사

아이와 함께 우리 가족의 데이터를 모아보세요. “밤에 일찍 잘수록 다음 날 기분이 좋을까?”라는 가설을 세우고, 일주일 동안 ‘잠든 시간’과 ‘기분 점수’를 기록해서 산점도로 그려보는 거예요. “우와, 진짜로 일찍 잔 날은 기분 점수가 높게 찍혔네!”라며 아이가 스스로 생활 습관과 결과 사이의 연결 고리를 코딩으로 발견하는 놀라운 경험을 하게 됩니다.

마치며: 위대한 데이터 탐험대의 탄생

오늘 우리는 흩어진 점들 사이에서 의미를 찾는 산점도 마법까지 마스터했습니다. 이제 여러분은 복잡한 숫자 더미를 보고도 그 속에 숨겨진 규칙을 찾아낼 수 있는 꼬마 데이터 과학자가 되었어요! 다음 연재부터는 드디어 파이썬의 꽃, [파이썬 마법 학교: 인공지능 비서 2기]를 통해 더 똑똑한 프로그램을 만들어보겠습니다!