728x90
반응형

파이썬 4

스파크 튜토리얼 - (2) 주피터 노트북 설정

주피터 노트북 주피터 노트북은 파이썬을 개발할 때 가장 많이 쓰이는 에디터중 하나일 것입니다. 예전에는 IPython이라고 하는 이름으로 출시가 되었었죠. Python커널을 사용해 짧은 코드를 돌리고 결과를 그 화면에서 바로 볼 수 있고, 마크다운을 사용해 노트나 보고서 형식으로 작성할 수 있어서, 프로토타이핑이나 보고서 형식의 코드 작성에 유용합니다. 주피터 노트북 설정 저는 VirtualBox를 사용하였기 때문에, 외부 접속이 필요해서 다음 설정을 해주었습니다. 먼저 다음 커맨드를 실행해 config파일을 생성해 줍니다. # jupyter notebook --generate-config 그리고 해당 파일을 열어줍니다. # vi ./.jupyter/jupyter_notebook_config.py 아래 ..

PyTorch 5 - 딥러닝 기반 협업필터링

딥러닝 기반 협업필터링¶ 이번 포스팅에서는 신경망을 기반으로 한 협업필터링을 구현해본다. 신경망 기반 협업필터링은, 기존의 MF기반 협업필터링과는 조금 다르다. MF기반은 벡터끼리의 내적곱을 활용하지만, 신경망 기반은 비선형 활성함수(relu)를 사용하게 된다. In [43]: # 패키지 import from pathlib import Path import pandas as pd import numpy as np In [44]: data = pd.read_csv('./ml-latest-small/ratings.csv') data.head() Out[44]: userId movieId rating timestamp 0 1 1 4.0 964982703 1 1 3 4.0 964981247 2 1 6 4.0 9..

PyTorch 4 - 협업필터링

PyTorch를 활용한 협업필터링¶ 이번 포스팅에서는 행렬분해를 사용한 추천시스템 문제를 풀어보려 한다. 그리고 더 일반적인 산경망 모델을 사용해 해당문제를 풀어보겠다. MovieLens 데이터셋은 영화 추천에 자주 활용되는 유명한 데이터셋이다. 이 데이터셋에는 영화 추천 시스템 내의 별점 5점 만점의 평점데이터와 자유 텍스트 태깅 정보가 들어있다. 총 9125개의 영화에 대한 100004개의 평점과 1296개의 태그가 기록되어 있다. 영화 데이터는 https://grouplens.org/datasets/movielens/ 에서 내려받을 수 있다. In [3]: # wget을 사용해 데이터를 내려받는다 !wget http://files.grouplens.org/datasets/movielens/ml-la..

PyTorch 3 - 데이터 로더, 신경망

DataLoader와 스토캐스틱 경사하강법¶ 딥러닝은 하나의 중요한 알고리즘으로 많이 발전하게 되었다. 바로 스토캐스틱 경사하강법이다. 기존의 경사하강법은 한 epoch에 모든 데이터셋을 한번에 학습시킨다. 스토캐스틱 경사하강법은 이 큰 데이터셋을 여러개로 나누고, 나눠진 데이터의 서브셋 마다 학습을 시킨다. 이것을 기존 경사하강법의 근사치로 보면 될것이다. 이 하나의 서브셋을 배치 또는 미니배치라고 부른다. In [101]: import torch from torch import autograd, nn, optim import torch.nn.functional as F import numpy as np def lin(a,b,x): return a*x+b # 가짜 데이터 생성 def gen_fake_d..

728x90
반응형