콘텐츠로 이동

Chapter 12: 나만의 프로젝트 기획하기

한 줄 요약: 관심 있는 주제를 정하고, 데이터를 찾아서, 나만의 프로젝트 계획서를 작성해봐요!


🎯 이 장에서 배우는 것

  • [ ] 머신러닝으로 해결할 수 있는 문제를 발견할 수 있다
  • [ ] 적절한 데이터셋을 찾고 선택할 수 있다
  • [ ] 프로젝트 계획서를 작성할 수 있다
  • [ ] 프로젝트의 실현 가능성을 평가할 수 있다

💡 왜 이걸 배우나요?

지금까지 분류, 회귀, 군집, 텍스트 분석까지 배웠어. 하지만 항상 "준비된 데이터"와 "정해진 문제"를 풀었지?

실제 세상에서는 아무도 문제를 정해주지 않아.

"이 데이터로 분류해봐"가 아니라, "뭘 해볼까?"부터 시작해야 해.

지금까지:
주어진 문제 → 주어진 데이터 → 배운 기법 적용

앞으로:
내가 궁금한 것 → 데이터 찾기 → 적절한 기법 선택

이게 바로 진짜 프로젝트야.

취미로 분석해도 좋고, 학교 발표에 써도 좋고, 포트폴리오로 만들어도 좋아. 중요한 건 "내가 진짜 궁금한 것"을 풀어보는 거야.


📚 핵심 개념

개념 1: 좋은 프로젝트 주제란?

좋은 프로젝트 주제는 마치 "맛있는 레시피" 와 같아요. 재료(데이터)가 구할 수 있어야 하고, 내 실력(기술)으로 만들 수 있어야 하고, 완성하면 뭔가 의미(가치)가 있어야 해요.

정확히 말하면, 좋은 프로젝트는 세 가지 조건을 만족해요:

           ┌─────────────────┐
           │   좋은 프로젝트   │
           └─────────────────┘
                   │
        ┌──────────┼──────────┐
        │          │          │
   ┌────▼────┐ ┌───▼───┐ ┌────▼────┐
   │  관심   │ │ 데이터 │ │  기술   │
   │ 있는가? │ │ 있는가?│ │ 되는가? │
   └─────────┘ └───────┘ └─────────┘

1. 관심 (Interest): 내가 진짜 궁금한가? - 억지로 하면 중간에 포기해 - "남들이 멋있어 보일 것 같아서"는 동기가 약해

2. 데이터 (Data): 분석할 데이터가 있는가? - 아무리 재밌는 주제도 데이터가 없으면 못 해 - 구할 수 있는 데이터인지 먼저 확인

3. 기술 (Skill): 내 실력으로 할 수 있는가? - 처음부터 너무 어려운 건 좌절감만 줘 - 조금 도전적이되, 불가능하진 않은 수준

쉽게 말하면: 관심 있고 + 데이터 있고 + 할 수 있으면 = 좋은 프로젝트!


개념 2: 문제 유형 정하기

우리가 배운 머신러닝 기법들, 기억나지?

┌─────────────────────────────────────────────────────────┐
│                    문제 유형 선택 가이드                    │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  예측하고 싶은 게 뭐야?                                    │
│          │                                              │
│          ├── "A인지 B인지" → 분류 (Classification)        │
│          │    예) 스팸인지 아닌지, 합격인지 불합격인지         │
│          │                                              │
│          ├── "얼마나 될지" → 회귀 (Regression)            │
│          │    예) 가격 예측, 점수 예측, 수요 예측           │
│          │                                              │
│          ├── "비슷한 것끼리" → 군집 (Clustering)           │
│          │    예) 고객 유형 분류, 음악 장르 그룹핑           │
│          │                                              │
│          └── "텍스트에서 의미" → 텍스트 분석                │
│               예) 감성 분석, 키워드 추출                    │
│                                                         │
└─────────────────────────────────────────────────────────┘

예를 들어:

궁금한 것 문제 유형 왜?
이 영화 리뷰가 긍정인지 부정인지 분류 두 가지 중 하나
이 집 가격이 얼마일지 회귀 연속적인 숫자
비슷한 취향의 사람들 그룹 군집 정답이 없이 묶기
뉴스 기사의 주제 파악 텍스트 분석 텍스트 데이터

쉽게 말하면: "뭘 예측하고 싶은지"에 따라 기법이 정해져!


개념 3: 데이터셋을 찾는 곳

데이터셋을 찾는 건 마치 도서관에서 책 찾기와 같아요. 어디에 어떤 책이 있는지 알면 훨씬 빨리 찾을 수 있죠.

대표적인 데이터 출처:

┌─────────────────────────────────────────────────────────┐
│                     데이터 찾기 지도                       │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  🌐 Kaggle (kaggle.com/datasets)                        │
│     → 세계 최대 데이터 플랫폼                              │
│     → 영어, 다양한 주제, 품질 좋음                         │
│                                                         │
│  🇰🇷 공공데이터포털 (data.go.kr)                          │
│     → 한국 정부 공식 데이터                               │
│     → 한글, 한국 관련 주제                                │
│                                                         │
│  📊 서울 열린데이터광장 (data.seoul.go.kr)                │
│     → 서울시 데이터                                      │
│     → 교통, 환경, 문화 등                                 │
│                                                         │
│  🏫 UCI ML Repository                                   │
│     → 머신러닝 교육용 데이터                              │
│     → 깨끗하고 잘 정리됨                                  │
│                                                         │
│  📈 Google Dataset Search                               │
│     → 구글이 인덱싱한 데이터셋 검색                        │
│                                                         │
└─────────────────────────────────────────────────────────┘

쉽게 말하면: Kaggle이 가장 쉽고, 한국 데이터는 공공데이터포털에서!


🔨 따라하기

Step 1: 관심 분야 탐색하기

목표: 내가 진짜 궁금한 주제 3개 찾기

프로젝트의 시작은 "나는 뭐가 궁금하지?" 라는 질문이야.

아이디어 발굴 질문들:

# === 나만의 관심사 찾기 ===
# 아래 질문에 답해보며 아이디어를 찾아봐!

관심_질문들 = [
    "평소에 자주 보는 유튜브 주제는?",
    "친구들이랑 자주 하는 얘기는?",
    "뉴스에서 관심 가는 기사는?",
    "취미로 하는 게 뭐야?",
    "학교에서 가장 재밌는 과목은?",
    "요즘 빠진 게임/드라마/음악은?",
    "미래에 하고 싶은 일은?",
    "세상에서 바꾸고 싶은 것은?"
]

# 예시 답변:
# - 게임 → 게임 데이터 분석
# - 음악 → 인기곡 예측, 장르 분류
# - 스포츠 → 경기 결과 예측
# - 환경 → 대기오염 분석

주제 아이디어 예시:

관심 분야 프로젝트 아이디어 문제 유형
게임 리그오브레전드 승률 예측 분류
음악 스포티파이 인기곡 특징 분석 회귀/군집
영화 넷플릭스 영화 평점 예측 회귀
스포츠 축구 경기 결과 예측 분류
건강 수면 패턴과 성적 관계 회귀
환경 미세먼지 농도 예측 회귀
패션 의류 이미지 분류 분류
음식 레시피 재료로 요리 분류 분류
동물 동물 사진 종류 분류 분류
SNS 트위터 감성 분석 텍스트 분석

여기서 잠깐! 🤔

"멋있어 보이는 주제" vs "내가 진짜 궁금한 주제"

멋있어 보여서 시작하면 힘들 때 포기하기 쉬워. 진짜 궁금한 건 어려워도 끝까지 가게 돼. "이거 결과 나오면 진짜 궁금하다!" 느낌이 드는 걸 골라.


Step 2: 데이터셋 찾기

목표: 선택한 주제에 맞는 데이터셋 찾기

이제 Kaggle에서 실제로 데이터를 찾아보자!

코드: Kaggle 데이터셋 검색 시뮬레이션

```python

=== Kaggle 데이터셋 탐색하기 ===

실제로는 kaggle.com에서 검색하지만,

어떤 데이터가 있는지 미리 알아보자!

--- 인기 있는 초보자 친화적 데이터셋 ---

인기_데이터셋 = { "타이타닉 생존자": { "설명": "타이타닉 승객의 생존 여부 예측", "크기": "891행 x 12열", "문제유형": "분류", "난이도": "⭐ (입문)", "검색어": "titanic" }, "집값 예측": { "설명": "주택 특성으로 가격 예측", "크기": "1460행 x 81열", "문제유형": "회귀", "난이도": "⭐⭐ (초급)", "검색어": "house prices" }, "스포티파이 노래": { "설명": "노래의 특성과 인기도 분석", "크기": "수만 행", "문제유형": "회귀/분류", "난이도": "⭐⭐ (초급)", "검색어": "spotify" }, "포켓몬": { "설명": "포켓몬 스탯으로 타입/전설 예측", "크기": "800행 x 13열", "문제유형": "분류", "난이도": "⭐ (입문)", "검색어": "pokemon" }, "넷플릭스 영화": { "설명": "넷플릭스 콘텐츠 정보", "크기": "8000행+", "문제유형": "분류/텍스트", "난이도": "⭐⭐ (초급)", "검색어": "netflix" }, "아이리스 꽃": { "설명": "꽃 측정값으로 종류 분류", "크기": "150행 x 5열", "문제유형": "분류", "난이도": "⭐ (입문)", "검색어": "iris" } }

출력해보기

print("="