파이썬 AI/ML 프로젝트 예제

PYTHON · AI

파이썬 AI 인공지능 프로젝트 예제 3가지 (입문자용 완벽 가이드)
문법만 외우는 파이썬은 그만! 실제로 돌아가는 AI 예제로 인공지능 감각을 키워보세요 🤖

업데이트: 2025.11.11 · 작성: Mary
이 글에서 다루는 것 • AI·머신러닝·딥러닝 관계 한 번에 정리
• 입문자용 AI 예제 3가지(붓꽃 분류 · 손글씨 인식 · 영화 리뷰 감정 분석)
• 실습 환경 세팅부터 디버깅 팁까지 한 번에 정리
누가 보면 좋은가? • 파이썬 기초문법은 한 번 끝냈는데, 이제 뭘 해야 할지 막막한 분
• “AI가 뭔지 감만 잡고 싶다”는 비전공자 · 직장인 · 고등학생/대학생
• 나중에 블로그나 발표용 PPT 자료까지 만들고 싶은 분

이 글은 시리즈의 어디쯤일까? — 이 글은 “파이썬 기초 → 자료 & 예제 → 학습영상 → 기초 질문 → 데이터 분석 입문”을 지나온 뒤, ‘AI 세계에 첫 발을 들이는 단계’에 해당합니다.

즉, 아직 수학 이론을 깊게 알지 못해도 괜찮고, 파이썬 코드가 완벽하지 않아도 괜찮아요. “아, 인공지능이 이렇게 돌아가는구나”라는 감을 잡는 게 목표예요.

권장 선행 수준
• 리스트, 딕셔너리, for문, if문이 낯설지 않다
• Jupyter Notebook 이나 VS Code에서 파이썬 파일 실행 가능하다
• matplotlib으로 간단한 그래프를 한 번쯤 그려봤다

실습 환경 먼저 정리해볼까요? — 아래 중 편한 환경 하나만 골라도 충분합니다. 나중에 블로그용 화면 캡처를 생각하면, Colab이나 Jupyter가 특히 편해요 ✨

환경특징추천 용도
구글 Colab 설치 없이 브라우저에서 바로 실행, GPU 옵션 제공 노트북 PC가 가벼울 때, 어디서나 실습
Anaconda + Jupyter 데이터 분석 · 그래프 실습에 최적화 집이나 사무실 PC에서 꾸준히 공부
VS Code 코드 관리 & 확장이 편리, 프로젝트형 개발에 좋음 나중에 자동화 · 웹 서버까지 욕심날 때

파이썬은 별도의 복잡한 환경 설정 없이도 바로 실습할 수 있습니다. 기본적으로 Python을 설치하면 함께 제공되는 IDLE(아이들) 프로그램에서 새 파일을 열고 코드를 입력한 뒤 F5 키로 실행하면 데이터가 정상적으로 불러와집니다. 구글 Colab이나 Jupyter Notebook을 사용하는 경우에도 같은 코드를 그대로 실행할 수 있습니다.

AI, 머신러닝, 딥러닝… 대체 뭐가 다른 거지?

한 줄로 정리하면 이렇게 볼 수 있어요.

이름핵심 느낌예시
AI 사람처럼 ‘생각’하고 판단하는 컴퓨터 챗봇, 자율주행, 음성 비서
머신러닝 데이터를 보면서 스스로 규칙을 배우는 기술 스팸 메일 분류, 대출 심사 점수
딥러닝 뇌처럼 층이 많은 네트워크로 복잡한 패턴 학습 이미지 인식, 음성 인식, 챗GPT 계열 모델

오늘 다룰 세 가지 예제는 “머신러닝 기초 + 딥러닝 맛보기” 정도의 수준이라고 보시면 돼요. 완벽 이해보다, 흐름 이해가 목표입니다.

파이썬 IDLE에서 데이터 불러오기, 이렇게 하면 됩니다

이 글에서는 파이썬 IDLE(아이들)을 기준으로, Iris·MNIST·IMDB 데이터를 불러오는 기본 흐름을 정리합니다. 집에서 파이썬을 설치해 두었다는 전제이며, 단계는 다음과 같습니다.

  1. IDLE 실행
  2. 새 파일 열기
  3. 코드 붙여넣기
  4. F5(또는 Run ▶ Run Module)로 실행
  5. 필요하면 라이브러리 설치(pip install)
중요 포인트
• 코드 여러 줄을 한 번에 실행할 때는 반드시 새 파일에 작성 후 F5로 실행
• 실행 결과는 항상 아래쪽 Python Shell 창에 출력된다

1️⃣ IDLE에서 새 파일 열고 실행하는 기본 흐름

  1. Windows 검색창에 IDLE을 입력해 Python 3.x (IDLE) 실행
  2. 상단 메뉴에서 File ▶ New File 선택 → 새 편집창 열기
  3. 편집창에 예제 코드를 붙여넣기 또는 직접 입력
  4. F5 키 또는 Run ▶ Run Module 선택
  5. 자동으로 파일 저장 창이 뜨면, 원하는 폴더에 iris_test.py 같은 이름으로 저장
  6. 저장 후 하단 Python Shell 창에 실행 결과 확인

실습을 할 때는 항상 “새 파일에 코드 작성 → F5로 실행 → Shell에서 결과 확인”이라는 패턴을 기억해 두면 편하다.

2️⃣ Iris(붓꽃) 데이터 불러오기 – 가장 먼저 해보기 좋은 예제

Iris 데이터는 scikit-learn 라이브러리에 내장되어 있어서, 별도의 CSV 파일 없이 바로 불러올 수 있다. IDLE 새 파일에 아래 코드를 넣고 F5로 실행한다.

from sklearn.datasets import load_iris

iris = load_iris()

# 데이터 구조 확인
print("데이터 크기:", iris.data.shape)
print("레이블 크기:", iris.target.shape)
print("특징 이름:", iris.feature_names)
print("품종 이름:", iris.target_names)

정상적으로 실행되면 다음과 비슷한 결과가 출력된다.

데이터 크기: (150, 4)
레이블 크기: (150,)
특징 이름: ['sepal length (cm)', 'sepal width (cm)',
            'petal length (cm)', 'petal width (cm)']
품종 이름: ['setosa' 'versicolor' 'virginica']
라이브러리 에러가 날 때
ModuleNotFoundError: No module named 'sklearn' 이라는 메시지가 나오면, 명령 프롬프트에서
pip install scikit-learn 을 한 번 실행한 뒤 다시 시도하면 된다.

3️⃣ MNIST 손글씨 숫자 데이터 – TensorFlow 설치 후 사용

MNIST는 손글씨 숫자(0~9)가 28×28 픽셀 이미지로 저장된 데이터이다. 이 데이터는 TensorFlow에 포함되어 있어서, 먼저 TensorFlow 설치가 필요하다.

① TensorFlow 설치 (한 번만 수행)

Windows 기준으로, 명령 프롬프트를 열고 다음 명령을 실행한다.

pip install tensorflow

② IDLE에서 데이터 불러오기

from tensorflow.keras.datasets import mnist

(X_train, y_train), (X_test, y_test) = mnist.load_data()

print("훈련 데이터:", X_train.shape)
print("테스트 데이터:", X_test.shape)

정상이라면 대략 다음과 같이 출력된다.

훈련 데이터: (60000, 28, 28)
테스트 데이터: (10000, 28, 28)

딥러닝 모델에 넣기 전에는 보통 아래처럼 정규화를 추가로 해준다.

X_train = X_train / 255.0
X_test  = X_test / 255.0

4️⃣ IMDB 영화 리뷰 데이터 – 텍스트 감정 분석용

IMDB 데이터는 영화 리뷰 텍스트와 감정 레이블(0: 부정, 1: 긍정)로 구성되어 있다. 이 역시 TensorFlow에 포함되어 있으므로, MNIST를 위해 TensorFlow를 설치했다면 추가 설치 없이 사용할 수 있다.

from tensorflow.keras.datasets import imdb

(X_train, y_train), (X_test, y_test) = imdb.load_data(num_words=10000)

print("훈련 리뷰 개수:", len(X_train))
print("테스트 리뷰 개수:", len(X_test))
print("첫 번째 리뷰 길이:", len(X_train[0]))

IMDB 데이터는 리뷰가 이미 숫자 인덱스 시퀀스로 변환되어 저장되어 있다. 실제 문장 형태로 보고 싶다면, 단어 사전을 이용해 아래처럼 복원할 수 있다.

word_index = imdb.get_word_index()
reverse_index = {v: k for k, v in word_index.items()}

decoded_review = " ".join(
    reverse_index.get(i - 3, "?") for i in X_train[0]
)
print(decoded_review)

5️⃣ 정리 – 어떤 데이터가 어떻게 불러와지는가

데이터셋 용도 불러오는 방법 설치 필요
Iris 머신러닝 기초 분류 from sklearn.datasets import load_iris scikit-learn
MNIST 손글씨 숫자 인식 from tensorflow.keras.datasets import mnist TensorFlow
IMDB 영화 리뷰 감정 분석 from tensorflow.keras.datasets import imdb TensorFlow
요약
• IDLE에서는 “새 파일에 코드 작성 → F5 실행 → Shell에서 결과 확인” 패턴으로 진행
• Iris는 비교적 가볍고 설치도 단순해서 가장 먼저 시도하기 좋다
• MNIST·IMDB는 TensorFlow 설치가 필요하므로, 설치 권한이 있는 PC에서 진행하는 것이 좋다

프로젝트 1️⃣ 붓꽃(Iris) 분류 — 머신러닝 입문 대표 예제

꽃받침/꽃잎의 길이와 너비 네 가지 숫자만 보고, 붓꽃 품종(Setosa, Versicolor, Virginica)을 맞히는 예제예요 🌸

학습 흐름

  1. Iris 데이터셋 불러오기
  2. 각 특성(길이·너비)의 분포를 그래프로 확인
  3. 학습용 / 테스트용 데이터로 나누기
  4. 머신러닝 모델 선택 (예: 로지스틱 회귀, KNN 등)
  5. 모델 학습시키기 (fit)
  6. 새로운 데이터에 대한 품종 예측

코드 스케치 예시 (Colab이나 Jupyter에서 연습용)

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression

iris = load_iris()
X = iris.data        # 꽃잎/꽃받침 길이·너비
y = iris.target      # 품종 레이블

X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42
)

model = LogisticRegression(max_iter=200)
model.fit(X_train, y_train)

print("테스트 정확도:", model.score(X_test, y_test))
포인트 — 이 예제의 핵심은 “데이터를 나누고 → 학습시키고 → 정확도를 확인하는 전체 흐름”을 경험하는 거예요. 정확도 몇 %보다, 전체 과정을 한 번 끝까지 따라가 보는 게 중요해요.

프로젝트 2️⃣ 손글씨 숫자 인식 — 딥러닝 첫 맛보기

0~9까지 손글씨 이미지(28×28 픽셀)를 보고 어떤 숫자인지 맞히는 예제예요 ✍️ “AI가 그림을 본다”는 느낌을 줄 수 있어서, 발표용·수업용 예제로도 정말 인기 많습니다.

흐름 요약

  1. MNIST 데이터셋 불러오기
  2. 픽셀 값을 0~1 사이로 정규화
  3. 신경망 구조 설계 (입력층 → 은닉층 → 출력층)
  4. 모델 학습 (fit)
  5. 테스트 데이터 정확도 확인
  6. 임의의 이미지를 넣고 AI가 뭐라고 예측하는지 확인

Keras를 활용한 예시 스케치

from tensorflow.keras.datasets import mnist
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Flatten
from tensorflow.keras.utils import to_categorical

# 1) 데이터 불러오기
(X_train, y_train), (X_test, y_test) = mnist.load_data()

# 2) 정규화
X_train = X_train / 255.0
X_test  = X_test / 255.0

# 3) 라벨 원-핫 인코딩
y_train = to_categorical(y_train, 10)
y_test  = to_categorical(y_test, 10)

# 4) 모델 설계
model = Sequential([
    Flatten(input_shape=(28, 28)),
    Dense(128, activation="relu"),
    Dense(10, activation="softmax")
])

model.compile(optimizer="adam",
              loss="categorical_crossentropy",
              metrics=["accuracy"])

# 5) 학습
model.fit(X_train, y_train, epochs=5, batch_size=128,
          validation_split=0.1)

# 6) 평가
loss, acc = model.evaluate(X_test, y_test)
print("테스트 정확도:", acc)
실전 팁
• 처음에는 epoch를 너무 많이 주지 말고 3~5 정도로 짧게 돌려보세요.
• 정확도가 잘 안 나와도 괜찮아요. “층을 하나 더 넣으면 어떨까?” 같은 실험이 진짜 공부입니다.

프로젝트 3️⃣ 영화 리뷰 감정 분석 — 텍스트를 이해하는 AI

“최고의 영화! 두 번 보고 싶어요” 같은 리뷰를 보고, 긍정인지 부정인지 맞히는 프로젝트예요 🎬 사람의 언어를 다루는 분야라, 실제 서비스와 가장 가까운 느낌을 줄 수 있습니다.

기본 아이디어

  1. 리뷰 텍스트와 평점(레이블)이 들어 있는 데이터셋 준비
  2. 텍스트 전처리: 소문자 변환, 불용어 제거, 토큰화 등
  3. 각 문장을 숫자 시퀀스로 변환(Tokenizer 사용)
  4. 간단한 딥러닝 모델(LSTM/GRU or Dense) 설계
  5. 학습 후, 새 리뷰에 대해 긍·부정 예측

토큰화 + 패딩 구조 예시

from tensorflow.keras.preprocessing.text import Tokenizer
from tensorflow.keras.preprocessing.sequence import pad_sequences

sentences = [
    "이 영화 정말 최고였어요",
    "시간이 아까운 영화였습니다"
]

# 1) 단어 사전 만들기
tokenizer = Tokenizer(num_words=10000)
tokenizer.fit_on_texts(sentences)

# 2) 문장을 숫자 시퀀스로 변환
seqs = tokenizer.texts_to_sequences(sentences)

# 3) 길이를 맞추기 위한 패딩
padded = pad_sequences(seqs, maxlen=10)

print(padded)

이렇게 숫자로 바꾼 문장을 딥러닝 모델에 넣어주면, AI가 “이 문장이 긍정에 가깝다/부정에 가깝다”를 확률로 알려줍니다. 나중에는 블로그 댓글, 상품 리뷰, 자신의 일기 등으로 확장해볼 수도 있어요 😊

초보자들이 자주 막히는 구간 4가지

  • 1) 라이브러리 설치 에러 — scikit-learn, tensorflow 설치 시 버전 충돌이 나는 경우가 있어요. Colab을 쓰면 이 부분이 대부분 해결됩니다.
  • 2) 데이터 모양 오류 — “shapes not aligned” 같은 에러는 입력 차원이 안 맞아서 나는 경우가 많아요. print(X.shape) 한 번 찍어보는 습관을 들이면 금방 해결됩니다.
  • 3) 정확도가 50% 근처에서 안 올라갈 때 — 데이터가 너무 적거나, 모델이 너무 단순할 수 있어요. 층을 하나 추가하거나 epoch를 살짝 늘려보세요.
  • 4) 이론 공부에만 매달림 — 이 글의 3가지 예제를 한 바퀴 돌리고, 그 다음에 이론서를 보는 게 훨씬 잘 들어옵니다.
도움 드리는 한 줄
“완벽한 코드”보다 “돌아가는 코드”를 많이 만들어 보는 게 AI 입문자에게는 훨씬 큰 자산이에요. 블로그에 기록까지 남기면, 그게 곧 포트폴리오가 됩니다 ✨

여기서 한 발 더: 나만의 AI 프로젝트로 확장하기

위의 3가지 예제를 한 번씩 돌려보았다면, 이제는 “내 일상 + AI”를 연결해 볼 차례예요.

  • 블로그 댓글 긍정/부정 비율 분석하기
  • 오늘 쓴 일기의 감정 점수 매기기(행복/불안/우울 등)
  • 나만의 손글씨로 숫자 인식 모델 다시 학습시키기
  • 책 리뷰를 모아서 “재구매 의사 있음/없음” 분류해 보기

이런 것들을 조금씩 기록해 두면, “AI 공부 기록 블로그”가 아니라, “인공지능 실험실” 같은 느낌의 메인 허브가 될 수 있어요 😊

함께 보면 좋은 글

※ 코드 실행 화면은 추후 별도 글(캡처 중심 실습편)으로 연결해 주면, 시리즈 체계가 더 단단해집니다.

이 블로그의 인기 게시물

SRT 노선도·시간표·요금 한눈에 보기 | 수서발 고속열차 이용가이드

연말정산 미리보기 서비스

티머니 교통카드 잔액 조회 방법 : 모바일 조회 🚍💳