python/data analysis

    [Google Colab] Github에 push 하기

    [Google Colab] Github에 push 하기

    Google Colab의 프로젝트가 점점 커셔 따로 원격 저장소에 보관할 필요를 느꼈다. Google Colab과 Github를 연동해 push하는 방법을 알아보자. 1. github에 새로운 레포지토리 생성 2. Push 하고 싶은 디렉토리에서 commit 용도의 colab 하나 생성하기 깃허브에 push 하고 싶은 디렉토리에 들어간다. 아래와 같이 project.ipynb를 깃허브에 push 하고 싶다고 하자. 다음은 commit 용도의 colab을 하나 생성해야 한다. 마치 터미널에서 git push 등을 했던 것처럼 commit 등의 git 명령을 입력해줄 용도의 colab이다. 여기서는 colab 파일 명을 for_git_commit.ipynb 으로 했다. 파일명은 아무거나 상관없다. 3. .g..

    [Scikit learn] Linear Model을 사용한 컨텐츠 베이스 추천 + Lasso 모델 적용

    [Scikit learn] Linear Model을 사용한 컨텐츠 베이스 추천 + Lasso 모델 적용

    사용 데이터 MovieLens 영화 데이터 -> ml-latest-small.zip -> movies.csv, ratings.csv를 가공 -> ratings_updated.p, genres.p 생성 https://grouplens.org/datasets/movielens/ import pandas as pd import numpy as np import warnings warnings.filterwarnings('ignore') ratings = pd.read_pickle('[파일 경로]/ratings_updated.p') genres = pd.read_pickle('[파일 경로]/genres.p') ratings_updated.p: 기존 ratings.csv 형식과 똑같다. 단순히 개인적으로 데이터 ..

    [Scikit learn] 학습데이터, 평가 데이터 평균제곱근 편차(RMSE) 계산

    [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])

    [Pandas] 영화 평점 데이터 분석

    [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] 멱함수 분포

    [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()를 통한 데이터 분석

    [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을 사용한 데이터 상관관계 시각화

    [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에 가깝다는 것은: 두 장르가 자주 같이 출현한다는 것 두 장르의 관계가 -..