μ λ°ν λ°μμΌλ‘ μμλ νλ‘μ νΈλ‘ λ€μν λΆμκΈ°μ μ₯λ₯΄κ° μλ μμ μ΄ MBTIμ λΉμ·ν μ°κ΄μ±μ κ°μ§μ§ μμκΉλΌλ μκ°μ μμμΌλ‘ μ΄λ₯Ό ν΅ν΄ μμ μ μΆμ²ν΄μ£Όλ μλΉμ€λ‘ μκ°μ μ΄μ΄κ°μ΅λλ€.
-
μ΄ νλ‘μ νΈμμ μ¬μ©ν μμ λ°μ΄ν°λ Spotify Developer μ¬μ΄νΈμμ μ 곡νλ MBTI νλ μ΄λ¦¬μ€νΈλ€ κΈ°λ°μΌλ‘ APIλ₯Ό ν¬λ‘€λ§νμμ΅λλ€.
π‘ μ§λ λ²μ μ λ°μ΄ν° λΆμ‘±μ ν΄κ²°νκΈ° μν΄ 4000곑μ μμ λ°μ΄ν°λ‘ μ νλλ₯Ό λνμ΅λλ€.
-
λ²μ 1μμλ μΆκ°μ μΈ λ°μ΄ν° λΆμ μκ°νλ₯Ό μν΄ SQLiteλ₯Ό μ¬μ©νμ¬ λΆμμ μ§ννμμΌλ μ΄λ²μλ CSV νμΌλ‘ μ μ₯νμμ΅λλ€.
-
κΈ°μ‘΄ APIλ₯Ό ν΅ν΄ JSON νμΌμμ λΆμ, λͺ¨λΈλ§μ νμν Features λ§ κ°κ³΅νμ¬ μ μ λ λ°μ΄ν°λ‘ μ μ₯νμμ΅λλ€.
- κ°μ ν, μ¬κ³ νμ λ°λΌ μ₯μ‘°μ λ¨μ‘°κ° μ°¨μ΄κ° μλ€λ κ²μ λ°κ²¬νμ΅λλ€.
- λ΄ν₯νμΌ μλ‘ μ΄μΏ μ€ν±ν¨μ μ νΈνλ κ²μΌλ‘ 보μ λλ€.
- κΈμ μ μ²λλ λ³΄ν΅ μΈν₯μ±μ΄ λ§μμΌλ©°, κ·Έ μ€ ESTPκ° κ°μ₯ λμμ΅λλ€.
- λ°μ΄ν° μκ°ν λμ보λλ Metabase ν΄μ ν΅ν΄ μκ°ν νμμ΅λλ€.
- μ§λ νμ΅ μ€ XGBoost Classifier λͺ¨λΈμ νμ©νμ¬ λ°μ΄ν°λ₯Ό νμ΅νμ¬ λΆλ₯νμμ΅λλ€.
- λ°μ΄ν°μ νΉμ±λ€(features)μ μμΉμ κ· νμ λ§μΆκΈ° μν΄ MinMaxScalerλ₯Ό μ¬μ©νμμ΅λλ€.
- μ¬μ©μκ° μμμ μ λ ₯νλ©΄ λͺ¨λΈμ ν΅ν΄ μμΈ‘νκ³ μ΄ μ±ν₯μ λ§λ μμμ λλ€μΌλ‘ μΆμ²ν΄μ£Όλ μλΉμ€ μ λλ€.
π‘ λ²μ 2λΆν° μμμ μΆμ²ν΄μ£Όλ μλΉμ€λ₯Ό λμ νμμ΅λλ€.
- Flask μΉ κ°λ° νλ μμν¬λ₯Ό μ¬μ©νμ¬ μΉ μλΉμ€λ₯Ό κ°λ°νμμ΅λλ€.
- μ¬μ©μκ° inputμ μ λ ₯νλ©΄ POST νν ν μ½μ ν΅ν΄ result νμ΄μ§μ μΆλ ₯νκ²λ©λλ€.
- AWS EBλ₯Ό μ΄μ©νμ¬ μΉ μ΄ν리μΌμ΄μ μ λ°°ν¬νκ³ λλ©μΈ λ±λ‘μΌλ‘ μ¬μ©μμκ² κ°νΈν νλ«νΌμ μ 곡ν©λλ€.
π‘ λ²μ 1μμλ Herokuλ₯Ό μ¬μ©νμκ³ λ²μ 2μμλ μνμΌμ AWS EBλ₯Ό μ¬μ©ν΄λ΄€μ΅λλ€.
- 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 # λ¨Έμ λ¬λ λͺ¨λΈ
- main : ν μ€νΈκ° λλκ³ μ΄μμλ²λ‘ λ°°ν¬ν μ μλ λΈλμΉ
- engine : ETL μμ λ° λ¨Έμ λ¬λ λͺ¨λΈλ§μ λ΄λΉνλ λΈλμΉ
- develop : ν μ€νΈ μ μΉ κΈ°λ₯ κ°λ°μ λ΄λΉνλ λΈλμΉ
- release : μΆμμ λ°°ν¬ μν ν ν μ€ν μ νλ λΈλμΉ
- λ°μ΄ν° μμ§λΆν° λ°μ΄ν°λ² μ΄μ€ μ μ¬, λ¨Έμ λ¬λ νμ©, μΉμλΉμ€ κ°λ° λ° λ°°ν¬ κ³Όμ λ± λ°μ΄ν° λΆμΌ μ κ³Όμ μ νλ¦μ κ°λ΅νκ² μ§ννλ νλ‘μ νΈμλ€.
- λ²μ 1, λ²μ 2μμλ κΈκ²©ν νΈλν½ μ¦κ°λ‘ μλ²μ λ¬Έμ κ° λ°μνλ κ²μ μμ§ ν΄κ²°λμ§ λͺ»νλ€. μΆν μ΄μμ μ μ΄λκ³ μ°¨κ·Όμ°¨κ·Ό ν΄κ²°ν΄ λκ° μμ μ΄λ€.