Giter Site home page Giter Site logo

mbtify's Introduction

🎧 μŒμ•…μ„ 톡해 MBTI μ„±ν–₯을 μ˜ˆμΈ‘ν•˜κ³  μΆ”μ²œν•˜λŠ” MBTIfy

πŸ“± μ„œλΉ„μŠ€ κ΅¬ν˜„ μ˜μƒ

🎡 Find Your Music for ME.

μ‹ λ°•ν•œ λ°œμƒμœΌλ‘œ μ‹œμž‘λœ ν”„λ‘œμ νŠΈλ‘œ λ‹€μ–‘ν•œ λΆ„μœ„κΈ°μ™€ μž₯λ₯΄κ°€ μžˆλŠ” μŒμ•…μ΄ MBTI와 λΉ„μŠ·ν•œ 연관성을 가지지 μ•Šμ„κΉŒλΌλŠ” 생각을 μ‹œμž‘μœΌλ‘œ 이λ₯Ό 톡해 μŒμ•…μ„ μΆ”μ²œν•΄μ£ΌλŠ” μ„œλΉ„μŠ€λ‘œ 생각을 μ΄μ–΄κ°”μŠ΅λ‹ˆλ‹€.

🎡 MBTIfy Process

πŸ”· μŒμ› DB ꡬ좕

  • 이 ν”„λ‘œμ νŠΈμ—μ„œ μ‚¬μš©ν•  μŒμ› λ°μ΄ν„°λŠ” Spotify Developer μ‚¬μ΄νŠΈμ—μ„œ μ œκ³΅ν•˜λŠ” MBTI ν”Œλ ˆμ΄λ¦¬μŠ€νŠΈλ“€ 기반으둜 APIλ₯Ό ν¬λ‘€λ§ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

    πŸ’‘ μ§€λ‚œ λ²„μ „μ˜ 데이터 뢀쑱을 ν•΄κ²°ν•˜κΈ° μœ„ν•΄ 4000곑의 μŒμ› λ°μ΄ν„°λ‘œ 정확도λ₯Ό λ†’ν˜”μŠ΅λ‹ˆλ‹€.

  • 버전 1μ—μ„œλŠ” 좔가적인 데이터 뢄석 μ‹œκ°ν™”λ₯Ό μœ„ν•΄ SQLiteλ₯Ό μ‚¬μš©ν•˜μ—¬ 뢄석을 μ§„ν–‰ν•˜μ˜€μœΌλ‚˜ μ΄λ²ˆμ—λŠ” CSV 파일둜 μ €μž₯ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

  • κΈ°μ‘΄ APIλ₯Ό 톡해 JSON νŒŒμΌμ—μ„œ 뢄석, λͺ¨λΈλ§μ— ν•„μš”ν•œ Features 만 κ°€κ³΅ν•˜μ—¬ μ •μ œλœ λ°μ΄ν„°λ‘œ μ €μž₯ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

πŸ”· 데이터 뢄석 μ‹œκ°ν™”

  • κ°μ •ν˜•, μ‚¬κ³ ν˜•μ˜ 따라 μž₯쑰와 단쑰간 차이가 μžˆλ‹€λŠ” 것을 λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€.
  • λ‚΄ν–₯ν˜•μΌ 수둝 μ–΄μΏ μŠ€ν‹±ν•¨μ„ μ„ ν˜Έν•˜λŠ” κ²ƒμœΌλ‘œ λ³΄μž…λ‹ˆλ‹€.
  • 긍정적 μ²™λ„λŠ” 보톡 μ™Έν–₯성이 λ§Žμ•˜μœΌλ©°, κ·Έ 쀑 ESTPκ°€ κ°€μž₯ λ†’μ•˜μŠ΅λ‹ˆλ‹€.
  • 데이터 μ‹œκ°ν™” λŒ€μ‹œλ³΄λ“œλŠ” Metabase νˆ΄μ„ 톡해 μ‹œκ°ν™” ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

πŸ”· λ¨Έμ‹ λŸ¬λ‹ λͺ¨λΈλ§

  • 지도 ν•™μŠ΅ 쀑 XGBoost Classifier λͺ¨λΈμ„ ν™œμš©ν•˜μ—¬ 데이터λ₯Ό ν•™μŠ΅ν•˜μ—¬ λΆ„λ₯˜ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • λ°μ΄ν„°μ˜ νŠΉμ„±λ“€(features)의 수치적 κ· ν˜•μ„ λ§žμΆ”κΈ° μœ„ν•΄ MinMaxScalerλ₯Ό μ‚¬μš©ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • μ‚¬μš©μžκ°€ μŒμ›μ„ μž…λ ₯ν•˜λ©΄ λͺ¨λΈμ„ 톡해 μ˜ˆμΈ‘ν•˜κ³  이 μ„±ν–₯에 λ§žλŠ” μŒμ›μ„ 랜덀으둜 μΆ”μ²œν•΄μ£ΌλŠ” μ„œλΉ„μŠ€ μž…λ‹ˆλ‹€.

πŸ’‘ 버전 2λΆ€ν„° μŒμ›μ„ μΆ”μ²œν•΄μ£ΌλŠ” μ„œλΉ„μŠ€λ₯Ό λ„μž…ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

πŸ”· Flask μ›Ή 개발 및 AWS EB μ„œλ²„

  • Flask μ›Ή 개발 ν”„λ ˆμž„μ›Œν¬λ₯Ό μ‚¬μš©ν•˜μ—¬ μ›Ή μ„œλΉ„μŠ€λ₯Ό κ°œλ°œν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • μ‚¬μš©μžκ°€ input에 μž…λ ₯ν•˜λ©΄ POST ν”„ν† ν† μ½œμ„ 톡해 result νŽ˜μ΄μ§€μ— 좜λ ₯ν•˜κ²Œλ©λ‹ˆλ‹€.
  • AWS EBλ₯Ό μ΄μš©ν•˜μ—¬ μ›Ή μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ°°ν¬ν•˜κ³  도메인 λ“±λ‘μœΌλ‘œ μ‚¬μš©μžμ—κ²Œ κ°„νŽΈν•œ ν”Œλž«νΌμ„ μ œκ³΅ν•©λ‹ˆλ‹€.

πŸ’‘ 버전 1μ—μ„œλŠ” Herokuλ₯Ό μ‚¬μš©ν•˜μ˜€κ³  버전 2μ—μ„œλŠ” μ‹œν—˜μ‚Όμ•„ AWS EBλ₯Ό μ‚¬μš©ν•΄λ΄€μŠ΅λ‹ˆλ‹€.

πŸ’‘ Heroku λŒ€μ‹  AWSλ₯Ό μ‚¬μš©ν•œ 이유

🎡 Requirements & File Tree

  • python 3.8
  • scikit-learn 1.1.3
  • flask 2.2.2
  • pandas 1.5.1
  • requests 2.28.1
  • xgboost 1.7.0
  • awsebcli 3.20.3
β”œβ”€β”€ README.md # README 
β”œβ”€β”€ keynote # 버전 1 λ°œν‘œ 자료
└── mbtify 
    β”œβ”€β”€ application.py # μ›Ή μ„œλΉ„μŠ€ μ‹€ν–‰ 파일
    β”œβ”€β”€ crawling_app.py # 데이터 크둀링 및 API μ‹€ν–‰ 파일
    β”œβ”€β”€ requirements.txt # 버전 관리
    β”œβ”€β”€ screts_key.py # λΉ„λ°€ ν‚€
    β”œβ”€β”€ static # 이미지 파일 및 λ””μžμΈ 파일
    β”‚Β Β  β”œβ”€β”€ css
    β”‚Β Β  β”‚Β Β  β”œβ”€β”€ bootstrap.min.css
    β”‚Β Β  β”‚Β Β  └── main.css
    β”‚Β Β  └── img
    β”‚Β Β      └── logo.png
    β”œβ”€β”€ templates # νŽ˜μ΄μ§€ html 파일
    β”‚Β Β  β”œβ”€β”€ 404.html
    β”‚Β Β  β”œβ”€β”€ 500.html
    β”‚Β Β  β”œβ”€β”€ main.html
    β”‚Β Β  β”œβ”€β”€ recv.html
    β”‚Β Β  └── search.html
    β”œβ”€β”€ tracks.csv # 데이터 파일
    └── xgb.model # λ¨Έμ‹ λŸ¬λ‹ λͺ¨λΈ

🎡 Git Flow

  • main : ν…ŒμŠ€νŠΈκ°€ λλ‚˜κ³  μš΄μ˜μ„œλ²„λ‘œ 배포할 수 μžˆλŠ” 브랜치
  • engine : ETL μž‘μ—… 및 λ¨Έμ‹ λŸ¬λ‹ λͺ¨λΈλ§μ„ λ‹΄λ‹Ήν•˜λŠ” 브랜치
  • develop : ν…ŒμŠ€νŠΈ μ „ μ›Ή κΈ°λŠ₯ κ°œλ°œμ„ λ‹΄λ‹Ήν•˜λŠ” 브랜치
  • release : μΆœμ‹œμ „ 배포 μ‹œν—˜ ν›„ ν…ŒμŠ€νŒ…μ„ ν•˜λŠ” 브랜치

🎡 μ„±κ³Ό

  • 데이터 μˆ˜μ§‘λΆ€ν„° λ°μ΄ν„°λ² μ΄μŠ€ 적재, λ¨Έμ‹ λŸ¬λ‹ ν™œμš©, μ›Ήμ„œλΉ„μŠ€ 개발 및 배포 κ³Όμ • λ“± 데이터 λΆ„μ•Ό μ „κ³Όμ •μ˜ 흐름을 κ°„λž΅ν•˜κ²Œ μ§„ν–‰ν–ˆλ˜ ν”„λ‘œμ νŠΈμ˜€λ‹€.
  • 버전 1, 버전 2μ—μ„œλ„ κΈ‰κ²©ν•œ νŠΈλž˜ν”½ μ¦κ°€λ‘œ μ„œλ²„μ— λ¬Έμ œκ°€ λ°œμƒν•˜λŠ” 것은 아직 ν•΄κ²°λ˜μ§€ λͺ»ν–ˆλ‹€. μΆ”ν›„ μ΄μŠˆμ— 적어놓고 μ°¨κ·Όμ°¨κ·Ό ν•΄κ²°ν•΄ λ‚˜κ°ˆ μ˜ˆμ •μ΄λ‹€.
@2021 dustin single project

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.