오늘의 기록
[Scikit learn] 학습데이터, 평가 데이터 평균제곱근 편차(RMSE) 계산
RMSE 평균 제곱근 오차(RMSE)는 예측한 값과 실제 환경에서 관찰되는 값의 차이를 다룰 때 흔히 사용하는 측도이다. 예측값과 실제값의 오차는 양수, 음수 모두 나올 수 있기 때문에, 각 오차의 제곱의 평균을 구한뒤 이를 제곱근으로 정의한 것이 RMSE이다. 간단한 예시를 보자. 예시 데이터 rating_example=[[4, 3.5], [5, 5], [0.5, 1], [3, 5]] rating_example = pd.DataFrame(rating_example, columns=['Actual', 'Predict']) 실제값(Actual), 예측값(Predict)를 갖고 있는 간단한 데이터를 만들었다. RMSE 계산 import numpy as np # 오차 계산: error = Actual - Pr..
[Pandas] concat - 데이터 이어 붙이기
두 csv 파일을 붙여보자. 단, 두 데이터의 column 정보는 같아야 한다. import pandas as pd ratings = pd.read_csv('[파일 경로]/ratings.csv') myratings = pd.read_csv('[파일 경로]/my-ratings.csv') ratings_concat = pd.concat([ratings, myratings])
[Python] datetime - fromtimestamp() (타임스탬프를 날짜로 변환하기)
Python에서 Unix timestamp (1970년 1월 1일(UTC)부터 몇 초가 흘렀는지를 나타내는 수치)를 날짜로 변환하는 법 from datetime import datetime x = 1537158105 d = datetime.fromtimestamp(x) print(d) 2018-09-17 4:21:45
[Pandas] 영화 평점 데이터 분석
최근 Pandas를 통해 영화 평점 데이터를 분석하면서 실습했던 내용을 기록한다. 사용 데이터 MovieLens 영화 데이터 -> ml-latest-small.zip -> movies.csv, ratings.csv https://grouplens.org/datasets/movielens/ import pandas as pd movies = pd.read_csv('[파일 경로]/movies.csv', index_col='movieId') ratings = pd.read_csv('[파일 경로]/ratings.csv') 영화에 대한 목록(movies)과 각 영화에 대한 평점(ratings) 데이터 겨울왕국 평점보기 당연히 평점이 높을 것으로 예상되는 겨울왕국(Frozen)은 사람들이 어떻게 평점을 주었는지에 ..
[Pandas] 멱함수 분포
여러 통계 데이터는 대부분 정규분포를 띄고 있다는 말이 있지만, 최근 수많은 데이터 분석을 통해 그렇지만은 않다고 밝혀졌다. 여기서는 통계 데이터 분포로서 자주 등장하는 멱함수 분포에 대해 알아보겠다. 사용 데이터 MovieLens 영화 데이터 -> ml-latest-small.zip -> ratings.csv https://grouplens.org/datasets/movielens/ import pandas as pd ratings = pd.read_csv('[파일 경로]/ratings.csv') 사용자(userId)가 영화(movieId)에 대해 평점(rating)을 부여한 데이터 사람들는 평균적으로 몇 개의 영화에 대해서 rating을 남겼는가? groupby() users = ratings.gro..
[Pandas] describe(), hist()를 통한 데이터 분석
사용 데이터 MovieLens 영화 데이터 -> ml-latest-small.zip -> ratings.csv https://grouplens.org/datasets/movielens/ import pandas as pd ratings = pd.read_csv('[파일 경로]/ratings.csv') describe() ratings['rating'].describe() 데이터의 개수 및 최대,최소값 분석 count 100836.000000 mean 3.501557 std 1.042529 min 0.500000 25% 3.000000 50% 3.500000 75% 4.000000 max 5.000000 Name: rating, dtype: float64 hist() ratings['rating'].his..
[Pandas] seaborn - heatmap을 사용한 데이터 상관관계 시각화
사용 데이터 MovieLens 영화 데이터 -> ml-latest-small.zip -> movies.csv https://grouplens.org/datasets/movielens/ import pandas as pd movies = pd.read_csv('[파일 경로]/movies.csv', index_col='movieId') genres_dummies = movies['genres'].str.get_dummies(sep='|') 영화 별로 어떤 장르에 속하는지에 대한 데이터 corr() genres_dummies.corr() 데이터의 상관관계를 알 수 있다. 각 장르별 상관관계를 상관계수로서 표현한다. 두 장르의 관계가 1에 가깝다는 것은: 두 장르가 자주 같이 출현한다는 것 두 장르의 관계가 -..
[Pandas] get_dummies를 사용한 수치화된 데이터 생성
사용 데이터 MovieLens 영화 데이터 -> ml-latest-small.zip -> movies.csv https://grouplens.org/datasets/movielens/ import pandas as pd movies = pd.read_csv('[파일 경로]/movies.csv', index_col='movieId') +) year 컬럼은 title에서 추출하여 따로 추가해둔 상태 장르 데이터 숫자형으로 변경하기 현재 movies 데이터에 genres 컬럼을 살펴보면 한 영화가 여러 장르를 갖고 있다. 따라서 각 영화가 'Adventure' 장르를 갖고 있는지 알기 위해서는 movies['Adventure'] = movies['genres'].apply(lambda x: 'Adventure..