분석 환경 세팅하기
Google Colaboratory
- Google Drive에서 새 폴더를 만든다. 폴더의 이름은 ‘추천 시스템 입문편’이다.
- 해당 폴더 밑에 ‘data’라는 이름의 폴더를 만든다. 이 폴더 밑에는 우리가 사용할 데이터를 모두 저장할 것이다.
- 여러 개의 data set들을 구성할 가능성에 대비해 ‘data’ 폴더 밑에 ‘ml-latest-small’ 폴더를 만든다.
Movielens
- 분석할 영화 데이터를 Movielens에서 가져올 것이다.
- https://grouplens.org/datasets/movielens/에서 ‘recommended for education and development’에 해당하는 데이터 zip파일을 다운받는다.
- 다운받은 파일을 열어서, 다섯개의 파일들을 ‘ml-latest-small’ 폴더 밑에 위치시킨다.
주피터 노트북
- ‘추천 시스템 입문편’ 폴더 바로 밑에 colaboratory 파일을 만든다. 파일 이름은 ‘1. movies.ipynb’이다.
- 이 파일의 background에는 파이썬이 돌아가고 있다.
- 셀을 클릭하면 활성화시킬 수 있으므로, 셀 클릭 후 이 안에 파이썬 코드를 작성하고 실행버튼을 클릭하면 바로 밑에 출력값이 나타난다.
- esc를 누르면 셀이 비활성화되고, 비활성화 상태에서 a를 누르면 해당 셀 위에, b버튼을 누르면 해당 셀 아래에 새로운 셀이 생긴다.
- 이 노트북에서 텍스트는 마크다운 문법을 지원한다.
영화 데이터 읽어오기
-
첫 셀에 다음과 같이 적는다.
import pandas as pd
colaboratory에 이미 설치되어있는 pandas 라이브러리를 import하고 이 라이브러리 정보를 pd라고 부르겠다는 의미이다.
-
pandas는 데이터 분석을 위한 오픈 소스 패키지로, 구체적인 정보는 다음 페이지에서 확인할 수 있다. https://pandas.pydata.org/
-
colaboratory에서 설치된 pandas의 버전을 확인하려면 다음 셀에 아래와 같이 작성하고 실행해보면 알 수 있다.
pd.__version__ # 2021-5-7 기준 1.1.5
-
구글 드라이브의 data 폴더 밑에 위치한 데이터들에 접근하려면 구글 드라이브를 해당 노트북에 마운트해줘야 한다. 다음과 같이 작성한다.
movies = pd.read_csv('파일의 위치')
그리고 왼쪽 사이드바에서 폴더 모양의 버튼을 누르면 접근할 수 있는 데이터들의 파일 구조가 보인다. 이 때 위 편에 구글 드라이브 모양이 새겨진 세번째 폴더 버튼을 누르면 Google 드라이브가 마운트된다.
-
다시 왼쪽 사이드바의 파일 구조를 확인하면, drive라는 폴더가 새로 생겼음을 알 수 있다. 이 폴더 밑에 있는 ‘ml-latest-small’ 폴더를 찾아 그 하위의 movies.csv 파일에 대한 컨텍스트 메뉴를 띄우면 경로 복사가 가능하다. 복사된 경로를 read_csv의 파라미터로 넣어준 후 실행하면 데이터들이 밑에 테이블 형태로 뜨게 된다.
-
이때 colboratory에서 임의로 붙여준 index가 아니라 movieId 컬럼을 인덱스로 사용하고 싶다면, 두번째 파라미터로 다음과 같이 작성한다.
movies = pd.read_csv('파일의 위치', index_col='movieId')
-
pandas에서 제공하는 대표적인 기능,
# 테이블의 entity, column 개수 확인 movies.shape # (9742, 2) # 테이블의 상위 다섯개 entity 보여줌 movies.head() # entity 개수를 파라미터로 지정 가능 movies.head(10) # 테이블의 하위 다섯개 entity 보여줌 movies.tail() # entity 개수를 파라미터로 지정 가능 movies.tail(10) # 테이블에서 다섯개의 entity를 임의로 뽑음 movies.sample() # entity 개수를 파라미터로 지정 가능 movies.sample(10) # 테이블의 column 정보를 가져옴 movies.columns # Index(['movieId', 'title', 'genres'], dtype='object')
-
데이터를 저장하려면 다음과 같은 함수를 사용한다. 다음 예는 데이터를 csv 파일 형태로 저장하는 함수이다.
movies.to_csv('[저장할 위치의 상위 폴더]/[파일 이름].csv')
이 함수를 실행하고 왼쪽 사이드 바의 refresh 버튼을 누르면 해당 위치에 파일이 새로 생긴 것을 확인할 수 있다.
-
Comments