- 누가 멜론에게 선글라스를 씌웠을까?
- 현재 음원 사이트에 씌워진 선글라스, 즉 어뷰징이 어떤 형태로 그 안에 존재하는지, 어떤 특징을 가지고 있는지 분석하고 시각화합니다.
| 컬럼명 | 설명 |
|---|---|
| year | 차트에 들어간 연도 |
| month | 차트에 들어간 월 |
| week | 차트에 들어간 주간 |
| rank | 주간 차트 순위 |
| 컬럼명 | 설명 |
|---|---|
| song_id | 음원 고유 ID |
| title | 음원 제목 |
| like | 음원 좋아요 수 |
| reply | 음원 댓글 수 |
| genre | 음원 장르 |
| 컬럼명 | 설명 |
|---|---|
| artist_id | 가수 고유 ID |
| artist | 가수 이름 |
| fan | 가수의 팬 맺은 수 |
| 컬럼명 | 설명 |
|---|---|
| album_id | 앨범 고유 아이디 |
| album | 앨범명 |
| album_release_date | 앨범 발매일자 |
| album_reply | 앨범 댓글 수 |
| album_score | 앨범 평점 |
| album_score_count | 앨범 평점 매긴 사람 수 |
| album_like | 앨범 좋아요 수 |
-
추후 데이터 활용이 어려운 리스트형의 전처리
'main_genre'- 음원의 'genre'가 두 개 이상일 때 파이가 더 큰 장르를 'main_genre'로 선택
- list -> str
'fan_max'
- 음원에 참여한 가수가 두 팀 이상일 때 팬 맺은 수가 더 많은 가수의 팬 맺은 수를 선택
- list -> int
-
장르 One-Hot Encoding
- 장르가 리스트형일 때 count하기 어려워 One-Hot Encoding 컬럼 생성
-
Min-Max Scale
- range가 다른 feature들을 0과 1사이의 값으로 처리하기 위해 가공한 컬럼들
: 'fan_per' , 'album_reply_per', 'reply_per', 'like_per', 'album_score_per', 'album_score_count_per', 'user_per_per', 'album_like_per' - 'album_like_like_per' : 앨범 좋아요를 음원 좋아요 수로 나눈 값을 Min-Max Scale 처리한 값
- range가 다른 feature들을 0과 1사이의 값으로 처리하기 위해 가공한 컬럼들
- crawling
- 음원 사이트 웹 크롤링 관련 코드
- Main File : 191211_song_album_artist_crawling_git.ipynb
- preprocessing
- 데이터 전처리 관련 코드
- Main File : 191209_preprocessing_genre_fan.ipynb
- wordcloud
- 음원 제목으로 구현한 워드클라우드 관련 코드
- Main File : 계절별.ipynb
- genre visualization
- 장르 데이터로 장르별 시각화를 구현한 코드
- Main File : 1210_연결성 찾기.ipynb
- abusing visualization
- 차트에서 발견할 수 있는 어뷰징 음원의 특징을 시각화한 코드
- Main File : 191212_abusing_visualization_git.ipynb
- clustering
- 시각화한 특징을 바탕으로 가수 군집을 클러스터링한 코드
- Main File : Clustering_github.ipynb
- make new chart
- 전체 분석을 바탕으로 어뷰징의 영향을 최소화한 새로운 차트 구현 코드
- EDA
- 그 외에 데이터로 시도한 가벼운 분석들
- 각 폴더별로 필요한 파일이 있습니다.
- https://drive.google.com/drive/folders/19dZ-3XPSDcx1kwc7pf5b_QSrDXUMumDj?usp=sharing