Books

[파이썬 데이터 분석가 되기] 08 - Homework

whatwant 2025. 3. 10. 00:22

셀레나님의 스터디 가이드 일정표에 다음과 같이 되어있다.

  - 8주차: 부족한 부분 복습 또는 배운 내용을 활용해 새로운 캐글 데이터셋 분석

 

제일 어려운 "자율학습" ... 😅

 

 

0. Kaggle Dataset

그래서 찾아본 캐글 데이터는 다음과 같다.

  - https://www.kaggle.com/datasets/undefinenull/million-song-dataset-spotify-lastfm

 

 

너무 흔한 데이터셋 말고 새로운 것으로 해서 결측치 등을 포함한 데이터셋 찾는 것도

막상 찾아보려고 하니 쉽지 않았다 ^^

 

위에 찾은 것은 "음악 추천 시스템 데이터셋"으로

사용자와 음악 트랙 간의 상호작용 데이터를 활용하여 개인화된 음악 추천 시스템을 구축할 수 있는 데이터셋이라고 한다.

 

 

1. 데이터 다운로드

kaggle 데이터 다운로드 받는 것도 해보자.

 

 

 

2. 데이터프레임

다운로드 받은 데이터셋을 가볍게 살펴보자.

 

 

데이터의 실제 모습을 살펴보려 했는데, 컬럼이 많아서 한 눈에 잘 보이지는 않는다 😅

 

 

 

3. 결측치 처리

info() 정보에서 보이는 것처럼 2개 column에만 결측치가 있는 것으로 보이는데,

직접 한 번 확인해보자.

 

 

데이터들이 어떤 모습인지 한 번 살펴보자.

 

 

genre의 경우 50%가 훨씬 넘는 비율을 갖기에 해당 column을 삭제하면 좋겠는데,

정말 삭제해도 되는지를 고민해봐야 하는데...

잘 모르는 상황에서도 가만히 보면 tags를 가지고 genre를 대체할 수 있을 것으로 보인다.

 

반면, tags의 경우에는 2.22% 비율의 결측치만 있으므로, 해당 row에 대해서 drop을 하는 것으로 하자.

 

 

맞겠지만 그래도 혹시 모르니 확인을 해보자.

 

 

4. 컬럼 분리

tags 부분을 보면 여러 데이터가 ", "으로 묶여서 표현되어 있는 것을 볼 수 있다.

이것을 One-Hot-Encoding 방식처럼 분리를 해보자.

 

 

좀 더 분석해보고 했어야 했는데, 그냥 해보다보니 tags 의 개별 아이템 개수가 엄청 많았다.

덕분에(?) 전체 column의 개수가 120개가 되었다.

 

 

5. 통계

도메인 지식이 미천하다보니.... 😥

음악 분류에 따라 뭔가 수치들이 달리 나오지 않을까 추정해본다.

 

 

 

6. 그래프

뭔가 다양하게 분석을 해봐야할 것 같은데,

일단 생각나는대로 하나 집어서 그래프를 그려봤다.

 

 

원하는 그래프는 아니지만, 그래도 ...

 

 

 

음... ChatGPT한테 일을 많이 시켜봐야겠다.

반응형