์ค์ ํ๋ก์ ํธ : What's Next?
์ปฌ๋ผ ์ ๋ณด
๋ถ์์ ์ฌ์ฉ๋ ์ปฌ๋ผ
- vote_average, vote_count, release_date, revenue, runtime, adult, budget, original_language, poster_path, genres, production_companies, production_countries, spoken_languages, keywords
- id(๊ธฐ๋ณธํค) - ์ํ ์ ๋ชฉ์ด ๊ฐ์ง๋ง, ๊ณ ์ ํ id๊ฐ ๋ถ์ฌ๋์ด ์ํ๋ฅผ ๊ตฌ๋ถํ ์ ์๊ฒ ํด์ค.
- status - ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ ๊ณผ์ ์์ '๊ฐ๋ด(released)' ์ํ์ ์ํ๋ฅผ ๊ณจ๋ผ๋ด๊ธฐ ์ํด ์ฌ์ฉ ํ ์ญ์
๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ๊ฐ๊ณตํด ํ์ฉํ ์ง?
โ ์ฝ๋ก๋ ์ ํ ๋น๊ต → ์๊ฐ์ ์ค์
- 2023 9์ ์ดํ ๋ฐ์ดํฐ๊ฐ ์ด์ ๊ณผ ๋น๊ตํด ๋ง์ด ์ ์์ ํ์ธ → ์ต์ด ๊ฒ์์ผ ์ดํ ์ ๋ฐ์ดํธ๊ฐ ์ ๋๋ก ์ด๋ฃจ์ด์ง๊ณ ์๋ ๊ฒ ๊ฐ์ง ์๋ค๊ณ ์๊ฐ. (์ด ๋ถ๋ถ์ ์ด๋ป๊ฒ ํ ๊ฒ์ธ์ง ํ์ธ.)
- ์ฝ๋ก๋ ์ ํ๋ก ๊ทธ๋ฃน์ ๋๋ ๊ฐ๊ฐ ์ด๋ค ์ฅ๋ฅด๊ฐ ์ธ๊ธฐ๊ฐ ๋ง์๋์ง ํ์ธํด๋ณด์.
โ ์ฃผ ์ฌ์ฉ ์ธ์ด๋ณ ์ ํธ๋ (revenue, vote_count, vote_average)
โ ์ ์์ฌ ํ์ฉ ์์ด๋์ด
- ์ด๋ค ์ ์์ฌ๊ฐ ์ธ๊ธฐ๊ฐ ๋ง๊ณ , ๊ทธ ์ ์์ฌ์์ ์ด๋ค ์ํ๊ฐ ์ ์ผ ์ธ๊ธฐ์์๋์ง?
- ๋ ๋๋ณ๋ก ์ด๋ค ์ ์์ฌ๊ฐ ๊ฐ์ฅ ์ธ๊ธฐ์์๋์ง?
- ์ด๋ค ์ ์์ฌ๊ฐ ๊ฐ์ฅ ์์ฐ์ ๋ง์ด ๋ค์๋์ง ๊ทธ ์ํ๊ฐ ๋ญ์ง?
โ ROI ๋ถ์
์ด๋ค ์ฅ๋ฅด๊ฐ ์์ต์ฑ์ด ์ข์์ง? (์์ฐ๋๋น) → ๊ฐ์ฑ๋น๊ฐ ์ข์ ์ฅ๋ฅด!
โ Top N + ์ฐ๋๋ณ
- ์ญ๋ ์์ฐ topN
- ์ฐ๋๋ณ ํ์ top N ์ํ
โ ์ฌ๋ฆ์ ํธ๋ฌ์ํ๋ ์ ๋ง ์ ๋๊ฐ๋๊ฐ?
โ ํฌํ์๋ ๋ง์๋ฐ ๋งค์ถ์ ์ ์ ์งํ์ ์ง์ฃผ๋ฅผ ์ฐพ์
์ ์ฒ๋ฆฌ
๋ฐ์ดํฐ ํํฐ๋ง
1. ์๋ณธ ๋ฐ์ดํฐ (1,059,590)
2. ์ฌ์ฉํ์ง ์๋ ์ปฌ๋ผ ๋ฐ ์ค๋ณตํ ์ญ์ (1,059,202)
3. 2000๋ 1์ 1์ผ ~ 2023๋ 9์ 30์ผ ๊ฐ๋ด์๋ง ์ ํ(587,498)
- ์์ง๋ ๋ฐ์ดํฐ์ ์ต์๊ฐ์ (1800-01-01)์ด์๊ณ , ์ต๋๊ฐ์ (2099-11-18)์ด์์.
- kaggle์ ๋ฐ์ดํฐ๊ฐ ๋งค์ผ ์ค์๊ฐ์ผ๋ก ์ ๋ฐ์ดํธ ๋๋ ๊ตฌ์กฐ์๋๋ฐ ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ์ด ๊ฒ์ฆ๋ ์ต์ด ์ ๋ก๋ ์์ ์ธ 2023-09-30์ผ๋ก ๊ธฐ๊ฐ์ ์ค์ ํจ
- ๋ํ ๊ฐ๋ด๋์ง ์์ ์ํ์ ํ์ ์ ์ผ๋ฐ ๋์ค์ ํ์ ์ด ์๋๊ฑฐ๋ ์ด์์น๋ผ๊ณ ํ๋จ, '๊ฐ๋ด์(released)'๋ง ์ ํ
4. ์ฃผ์ ์งํ ์ปฌ๋ผ๋ค์ ๊ฒฐ์ธก์น ์ญ์ (186,099) - title, release_date, genres, production_countries, production_companies
5. ์ด์์น ์ญ์ (160,706)
- vote_count๊ฐ 0์ธ๋ฐ, vote_average๊ฐ 0์ด ์๋ ๊ฒฝ์ฐ ์ญ์
- ๋ฌ๋ํ์์ด 0๋ถ์์ 240๋ถ(4์๊ฐ) ์ฌ์ด์ธ ๋ฐ์ดํฐ๋ง ํํฐ๋ง
6. Poster_Path ์ปฌ๋ผ์ ๊ฒฐ์ธก์น ์ ๊ฑฐ (145,052) - poster_path ์ปฌ๋ผ์ ์ด์ฉ, ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๊ธฐ ์ํด ๊ฒฐ์ธก์น๋ฅผ ์ ๊ฑฐํจ
๋ฐ์ดํฐ ๊ฐ๊ณต
- ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๊ธฐ ์ํด poster_path ์ปฌ๋ผ์ base URL ์ถ๊ฐ
#URL ์ฐ๊ฒฐ์ ์ํ prefix ์ถ๊ฐ
prefix = 'https://image.tmdb.org/t/p/w1280'
df5['poster_path'] = prefix + df5['poster_path'].astype(str)
- ์ฅ๋ฅด ๋ฐ ์ ์์ฌ ๋ถ์์ ์ํด ๋ํ ์ฅ๋ฅด, ์ ์์ฌ ์ถ์ถํด ์ปฌ๋ผ ์์ฑ
def select_main(df, column, new_column):
df[new_column] = df[column].apply(lambda x: x.split(',')[0].strip())
return df.shape[0]
# select main genre
select_main(df5, 'genres', 'main_genre')
# select main production
select_main(df5, 'production_companies', 'main_production')