hopebii / 1th_D.A.SISTERS

๐Ÿค [EURON ํ•™์ˆ  ๋™์•„๋ฆฌ ํ”„๋กœ์ ํŠธ] ๋ฆฌ๋””๋ถ์Šค ๋กœ๋ฉ˜์Šค ์›น์†Œ์„ค ์ถ”์ฒœ ์‹œ์Šคํ…œ ๊ตฌํ˜„ ํ”„๋กœ์ ํŠธ ๐Ÿ“š (2021.09 ~ 2022.01)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

1th_D.A.SISTERS

๋ฆฌ๋””๋ถ์Šค ๋กœ๋ฉ˜์Šค ์›น์†Œ์„ค ์ถ”์ฒœ ์‹œ์Šคํ…œ ๊ตฌํ˜„ ํ”„๋กœ์ ํŠธ ๐Ÿ“š (2021.09 ~ 2022.01)

์ถ”์ฒœ์‹œ์Šคํ…œ ์ด๋ก ์„ ํ•™์Šตํ•˜๊ณ , ๋ฆฌ๋””๋ถ์Šค ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ฐ€์ค‘์น˜ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ถ”์ฒœ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์Šคํ„ฐ๋””

ํ•™์Šต์ž๋ฃŒ

๋งค์ฃผ ์ •๊ธฐ ์Šคํ„ฐ๋”” ๋ฐ ํšŒ์˜ ์ง„ํ–‰

๐Ÿ’ ํŒ€์› ์†Œ๊ฐœ

ใ€ฐ๏ธ ๊ถŒ์ง€์ˆ˜(CF ๋ชจ๋ธ๋ง, ํ”„๋ก ํŠธ์—”๋“œ, GUI) redo@ewhain.net

ใ€ฐ๏ธ ๋ฌธ์†Œ์—ฐ(์ „์ฒ˜๋ฆฌ,ํ†ต๊ณ„๋ถ„์„, ๋ฐฑ์—”๋“œ) moonsy0221@ewhain.net

ใ€ฐ๏ธ ์ด์ง€์›(๋ชจ๋ธ ์•„ํ‚คํ…์ณ ์„ค๊ณ„, ํ”„๋ก ํŠธ์—”๋“œ) jiddoly@gmail.com

ใ€ฐ๏ธ ์ด๋‹คํ˜„(ํŒ€์žฅ, CB ๋ชจ๋ธ๋ง, ๋ฐฑ์—”๋“œ) dahyun3422@gmail.com

ใ€ฐ๏ธ ์ตœํ•˜๊ฒฝ(์ „์ฒ˜๋ฆฌ, ํ†ต๊ณ„๋ถ„์„, ๋ฐฑ์—”๋“œ) hakyung0007@gmail.com


1๏ธโƒฃ ๊ธฐํš ๋ฐฐ๊ฒฝ ๋ฐ ์˜๋„

์„œ๋น„์Šค ๊ธฐํš

ํ•„์š”์„ฑ

- ์ถ”์ฒœ ์‹œ์Šคํ…œ์„ ํ†ตํ•ด ๋ณด์ฆ๋œ ์ฝ˜ํ…์ธ ๋ฅผ ๋ฐœ๊ตดํ•˜์—ฌ IP ํ™•์žฅ 
- ๋ฆฌ๋””๋ถ์Šค ๋‚ด, ๋กœ๋งจ์Šค ์žฅ๋ฅด ํ‚ค์›Œ๋“œ ๊ฒ€์ƒ‰ ์ ๊ทน ํ™œ์šฉ 
- ๋ฆฌ๋””๋ถ์Šค ๋‚ด, ๊ธฐ์กด ์œ ์ €์˜ ๊ฐœ์ธ ๋งž์ถคํ˜• ์ถ”์ฒœ ์‹œ์Šคํ…œ์˜ ๋ถ€์žฌ
- ์ธ๊ธฐ์ž‘ ์œ„์ฃผ์˜ ์ž‘ํ’ˆ ์ถ”์ฒœ 
- ํ‚ค์›Œ๋“œ๋ฅผ ์ ๊ทน์ ์œผ๋กœ ํ™œ์šฉํ•˜์—ฌ ๋‹ค์ˆ˜์˜ ๋ฒ”์šฉ ์‚ฌ์šฉ์ž๋ฅผ ๋Œ€์ƒ์œผ๋กœ ๋งˆ์ผ€ํŒ… ์ง„ํ–‰ 

๋ชฉ์ 

์œ ์ € ๋งž์ถคํ˜• ๋กœ๋งจ์Šค ์›น์†Œ์„ค ์ถ”์ฒœ ์‹œ์Šคํ…œ ๊ตฌํ˜„ 

ํƒ€๊ฒŸ

๊ธฐ์กด ๋ฆฌ๋””๋ถ์Šค ์›น์†Œ์„ค ์ฝ˜ํ…์ธ ๋ฅผ ์ด์šฉํ•ด ๋ณธ ์‚ฌ์šฉ์ž 

๋‚ด์šฉ

CB ์™€ CF ๋ฅผ ์กฐํ•ฉํ•œ ๊ฐ€์ค‘์น˜ Hybrid ์ถ”์ฒœ ์‹œ์Šคํ…œ ๊ตฌํ˜„ 

๊ธฐ๋Œ€ํšจ๊ณผ

์›น์†Œ์„ค ์ฝ˜ํ…์ธ  ์‚ฌ์šฉ์ž๋“ค์˜ ์ทจํ–ฅ, ์ƒํ™ฉ์— ๋งž๋Š” ์ถ”์ฒœ์„ ํ†ตํ•œ ๊ฐœ์ธ ๋งž์ถคํ˜• ์ฝ˜ํ…์ธ  ํ–ฅ์œ  ์ง€์› 

2๏ธโƒฃ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฐ ์ „์ฒ˜๋ฆฌ

๐Ÿ”น ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘

๐Ÿ”น ์ „์ฒ˜๋ฆฌ

๊ธฐ๋ณธ ์ „์ฒ˜๋ฆฌ, ๋ˆ„๋ฝํ•  ๋ฐ์ดํ„ฐ ํŒŒ์•… ๋ฐ ์ œ๊ฑฐ, user rating table ์ƒ์„ฑ์„ ์œ„ํ•œ ID ๊ฐ€๊ณต

๐Ÿ”น EDA

๋ณ€์ˆ˜ ๊ฐ„ ๊ด€๊ณ„ ๋ถ„์„์„ ์œ„ํ•œ ํ†ต๊ณ„ ๋ถ„์„ ๋ฐ ๋ณ€์ˆ˜ ์ค‘์š”๋„ ํƒ์ƒ‰ : ํšŒ๊ท€๋ถ„์„ (XGBoost, Randomforest, Linear Regression) , ID ๊ธฐ์ค€ 5์ง„ ๋ถ„๋ฅ˜๋ถ„์„ (GradientBoosting, xgboost, lightgbm)

๋ณ€์ˆ˜ ์ค‘์š”๋„ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ, ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘ํ’ˆ์„ ๊ณ ๋ฅผ ๋•Œ ์ค‘์š”ํ•˜๊ฒŒ ๊ณ ๋ คํ•˜๋Š” ์š”์†Œ๋ฅผ ์„ ์ •ํ•˜์—ฌ ๊ฐ€์ค‘์น˜ ๋ถ€์—ฌ ๊ธฐ์ค€ ๋ณ€์ˆ˜๋กœ ํ™œ์šฉ


3๏ธโƒฃ ๋ชจ๋ธ๋ง

๐Ÿ”น CB

ํ˜•ํƒœ์†Œ ๋ถ„์„๊ธฐ : mecab (์›น์†Œ์„ค ์šฉ์–ด ์‚ฌ์šฉ์ž ์‚ฌ์ „ ์ถ”๊ฐ€) , ์ฃผ์ธ๊ณต ์ด๋ฆ„ ๋ถˆ์šฉ์–ด ์ œ๊ฑฐ

ํ…์ŠคํŠธ ๋ฒกํ„ฐํ™” : countervectorizer, tf-idf, word2vec

ํ‰๊ท  ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„ ํ–‰๋ ฌ ๋„์ถœ

๊ธฐ๋‹ค๋ฌด/๋ฌด๋ฃŒ๊ณต๊ฐœ ํšŒ์ฐจ์ˆ˜ , ํ‚ค์›Œ๋“œ์— ๋Œ€ํ•œ ๊ฐ€์ค‘์น˜ ๋ถ€์—ฌ

๐Ÿ”น CF

ID ์‹๋ณ„์ž ๊ทธ๋ฃนํ™” ์ฒ˜๋ฆฌ

Item based CF

Surprise module

์ข‹์•„์š”์ˆ˜,ํ‰๊ท ๋ณ„์ ,์ „์ฒด๋ฆฌ๋ทฐ์ˆ˜,๊ตฌ๋งค์ž์ˆ˜ ์— ๋Œ€ํ•œ ๊ฐ€์ค‘์น˜ ๋ถ€์—ฌ


4๏ธโƒฃ ์ตœ์ข… ๊ฒฐ๊ณผ

โœจ ํ”„๋กœ์ ํŠธ ์‹œ์—ฐ์˜์ƒ์ž…๋‹ˆ๋‹ค. ํด๋ฆญํ•ด์ฃผ์„ธ์š”! โœจ

๊ตฌํ˜„ ํ˜•ํƒœ : ์›น ์• ํ”Œ๋ฆฌ ์ผ€์ด์…˜

Framework : Django, python

๋ฉ”์ธ, ์ž‘ํ’ˆ ํ•„ํ„ฐ๋ง, ๊ฐ€์ค‘์น˜ Input, ์ž‘ํ’ˆํ‰๊ฐ€(์žฅ๋ฐ”๊ตฌ๋‹ˆ ๊ธฐ๋Šฅ), ์ถ”์ฒœ ๊ฒฐ๊ณผ

GUI


5๏ธโƒฃ ์˜์˜ ๋ฐ ํ•œ๊ณ„

ํ•œ๊ณ„

๐Ÿ‘‰ ์œ ์ € ID ์‹๋ณ„ํ™”๋กœ ์ธํ•œ CF ์„ฑ๋Šฅ ๊ฐœ์„  ๋ถˆ๊ฐ€, ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ์ •๋ณด๋ฅผ ํ™•๋ณดํ•˜๊ธฐ ์–ด๋ ค์›Œ ๋ชจ๋ธ ์„ฑ๋Šฅ์„ ํ‰๊ฐ€ํ•  ๊ฐ๊ด€์ ์ธ ์ง€ํ‘œ ์ˆ˜๋ฆฝ์ด ์ œ๋Œ€๋กœ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š์Œ

ํ™•์žฅ๊ฐ€๋Šฅ์„ฑ

๐Ÿ‘‰ ์œ ์ €๋กœ๋ถ€ํ„ฐ ์ถ”์ฒœ ๊ฒฐ๊ณผ์˜ ๋งŒ์กฑ๋„๋ฅผ ๋ฐ›๊ฑฐ๋‚˜ ๋ฆฌ๋””๋ถ์Šค ๋งํฌ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์œ ์ € ๋กœ๊ทธ ๊ธฐ๋ก ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•ด, ์ถ”์ฒœ ๊ฒฐ๊ณผ์˜ ์„ฑ๋Šฅ๊ฐœ์„  ์ง€ํ‘œ๋กœ ํ™œ์šฉํ•˜์—ฌ ๊ณ ๋„ํ™”๋œ ๋ชจ๋ธ๋ง ์ง„ํ–‰ ๊ฐ€๋Šฅ

์˜์˜ ๋ฐ ๊ธฐ๋Œ€ํšจ๊ณผ

๐Ÿ‘‰ ์‚ฌ์šฉ์ž ๊ฐœ์ธ์˜ ์›น์†Œ์„ค ์†Œ๋น„ ์„ฑํ–ฅ์„ ์„ธ๋ถ€์ ์œผ๋กœ ํŒŒ์•…ํ•ด ๋ฆฌ๋””๋ถ์Šค์—์„œ ์šด์˜ํ•˜๋Š” ์›น์†Œ์„ค ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ, ํ‚ค์›Œ๋“œ ์ด๋ฒคํŠธ, ํ๋ ˆ์ด์…˜ ์ฑ„๋„ ์šด์˜ ๋“ฑ์˜ ์ฐจ๋ณ„ํ™”๋œ ๋งˆ์ผ€ํŒ…์„ ๊ฐœ๋ณ„ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋งž์ถคํ™”ํ•˜์—ฌ ์ œ๊ณต ๊ฐ€๋Šฅ

๐Ÿ‘‰ ์ž‘ํ’ˆ๋ณ„ ํ•จ๊ป˜ ๊ตฌ๋งค ๋ฐ ๋‘˜๋Ÿฌ๋ณธ ์ž‘ํ’ˆ ์ถ”์ฒœ์„ ๋„˜์–ด์„œ, ํŠน์ • ์œ ์ €๊ฐ€ ์†Œ๋น„ํ•œ ์ž‘ํ’ˆ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์‚ฌ์šฉ์ž ๊ฐœ์ธ ๋งž์ถคํ˜• ์ถ”์ฒœ ์‹œ์Šคํ…œ ๊ตฌํ˜„ ๊ฐ€๋Šฅ


โœณ๏ธ vscode ๊นƒํ—ˆ๋ธŒ ์—ฐ๋™ ๋ฐฉ๋ฒ•

github์™€ ์—ฐ๋™ํ•˜๊ธฐ

git cloneํ•˜๊ธฐ

git clone [์ฃผ์†Œ]

๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ

python -m venv venv

(ctrl+shift+p) select interpreter
์ƒ์„ฑํ•œ ๊ฐ€์ƒํ™˜๊ฒฝ ์„ ํƒ ํ›„ ํ„ฐ๋ฏธ๋„ ํ™•์ธ

django ์„ค์น˜

python -m pip install django

django ์„œ๋ฒ„ ์‹คํ–‰

  • ์ž˜ ๋ฐ›์•„์™”๋Š”์ง€ ํ™•์ธ
    python manage.py runserver

์ผ๋‹จ ๋ฌด์กฐ๊ฑด ํ’€ํ•˜๊ณ  ์‹œ์ž‘

  • vscode ์ƒ์—์„œ ์†Œ์Šค์ œ์–ด->์  3๊ฐœ->ํ’€
    git pull

๋ธŒ๋žœ์น˜ ์ƒ์„ฑ (์ ˆ๋Œ€ master์—์„œ ์ž‘์—…์‹œ์ž‘XX)

  • vscode ์ƒ์—์„œ ์™ผ์ชฝ ์•„๋ž˜ ํ˜„์žฌ ๋ธŒ๋žœ์น˜ ํด๋ฆญ -> ์ƒˆ ๋ถ„๊ธฐ ๋งŒ๋“ค๊ธฐ
    git branch [๋ธŒ๋žœ์น˜ ์ด๋ฆ„] : ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ
    git checkout [๋ธŒ๋žœ์น˜ ์ด๋ฆ„] : ๋ธŒ๋žœ์น˜ ์ด๋™

์ˆ˜์ •ํ•œ ๋’ค ์ปค๋ฐ‹ํ•˜๊ณ  ํ‘ธ์‹œ

  • vscode ์ƒ์—์„œ ์†Œ์Šค์ œ์–ด->์ƒˆ๋กœ๊ณ ์นจ->์ปค๋ฐ‹(+์Šคํ…Œ์ด์ง•)->ํ‘ธ์‰ฌ
    git add *
    git commit -m "๋ฉ”์‹œ์ง€"
    git push

๊นƒํ—ˆ๋ธŒ์— ์ ‘์†ํ•ด์„œ ํ’€๋ฆฌํ€˜ ๋ณด๋‚ด๊ธฐ

  • ์ธํ„ฐ๋„ท์œผ๋กœ ๊นƒํ—ˆ๋ธŒ ์ ‘์†ํ•ด์„œ pull request ์ƒ์„ฑ
  • ํ’€๋ฆฌํ€˜ ๋ณด๋‚ด๊ณ  ์นดํ†ก๋ณด๋‚ด๊ธฐ!

merge ํ›„(์ž‘์—…์™„๋ฃŒ ํ›„)

  • ๋‚ด branch ์ˆ˜์ • ์‚ฌํ•ญ์„ master ๋ธŒ๋žœ์น˜์— ๋ฐ˜์˜
  • ๊ทธ๋ƒฅ ์ž‘์—…ํ•˜๋˜ ๋ธŒ๋žœ์น˜ ์‚ญ์ œํ•˜๊ณ  master ๋ธŒ๋žœ์น˜๋กœ ์ด๋™ํ•ด์„œ pull ๋ฐ›๊ธฐ

์ฐธ๊ณ  : https://vanillacreamdonut.tistory.com/67

About

๐Ÿค [EURON ํ•™์ˆ  ๋™์•„๋ฆฌ ํ”„๋กœ์ ํŠธ] ๋ฆฌ๋””๋ถ์Šค ๋กœ๋ฉ˜์Šค ์›น์†Œ์„ค ์ถ”์ฒœ ์‹œ์Šคํ…œ ๊ตฌํ˜„ ํ”„๋กœ์ ํŠธ ๐Ÿ“š (2021.09 ~ 2022.01)


Languages

Language:Python 42.3%Language:HTML 41.5%Language:CSS 16.2%