💡 AI 인사이트

🤖 AI가 여기에 결과를 출력합니다...

댓글 커뮤니티

쿠팡이벤트

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

검색

    로딩 중이에요... 🐣

    [코담] 웹개발·실전 프로젝트·AI까지, 파이썬·장고의 모든것을 담아낸 강의와 개발 노트

    pandas Part6 FastAPI로 머신러닝 모델 웹 앱 | ✅ 편저: 코담 운영자

    📖 데이터 분석의 시작, Pandas 완전 정복 - Part 6: FastAPI로 머신러닝 모델 웹 앱 만들기


    ✨ 서론: Flask에서 FastAPI로 업그레이드

    앞선 Part 5에서는 Flask를 사용해 머신러닝 모델을 웹 앱으로 배포했습니다. 이번 Part 6에서는 더 빠르고 현대적인 Python 웹 프레임워크인 FastAPI로 Titanic 생존자 예측 모델 웹 앱을 만들어봅니다.

    ⚡️ FastAPI 장점: 비동기 처리, OpenAPI 문서 자동 생성, 뛰어난 성능


    🛠️ Step 1: 필요한 라이브러리 설치

    pip install fastapi uvicorn scikit-learn pandas joblib
    

    📦 Step 2: 모델 로드

    import joblib
    
    # 저장된 모델 로드
    titanic_model = joblib.load('titanic_model.pkl')
    

    🌐 Step 3: FastAPI 앱 기본 구조

    from fastapi import FastAPI
    from pydantic import BaseModel
    
    app = FastAPI()
    
    class Passenger(BaseModel):
        Pclass: int
        Sex: int
        Age: float
        Fare: float
        SibSp: int
        Parch: int
        Embarked: int
    
    @app.get("/")
    def read_root():
        return {"message": "Titanic 생존자 예측 API에 오신 것을 환영합니다!"}
    
    @app.post("/predict")
    def predict_survival(passenger: Passenger):
        data = [[
            passenger.Pclass,
            passenger.Sex,
            passenger.Age,
            passenger.Fare,
            passenger.SibSp,
            passenger.Parch,
            passenger.Embarked
        ]]
        prediction = titanic_model.predict(data)
        result = "생존" if prediction[0] == 1 else "사망"
        return {"예측 결과": result}
    

    🚀 Step 4: FastAPI 앱 실행

    uvicorn app:app --reload
    
    • 브라우저에서 http://127.0.0.1:8000 접속
    • API 문서 자동 생성: http://127.0.0.1:8000/docs

    📌 확장: 사용자 입력 폼 추가 (HTML + JavaScript)

    FastAPI는 기본적으로 API 서버이므로, 사용자 UI를 추가하려면 별도의 Frontend(HTML/CSS/JS) 또는 React/Vue와 연결 가능.

    💡 실무 팁: Streamlit 또는 Gradio를 사용하면 머신러닝 모델 웹 UI를 더 빠르게 구축할 수 있습니다.


    📌 결론 및 다음 단계

    • FastAPI로 배포한 API는 다른 서비스와 쉽게 연동 가능
    • Docker 및 클라우드 환경에 배포 준비
    • 인증/권한 기능 추가하여 실전 서비스화

    🎯 최종 목표: Pandas → Scikit-learn → FastAPI까지 한 번에 이어지는 데이터 사이언스 파이프라인 완성!


    TOP
    preload preload