사용자 기반, 아이템 기반 협업 필터링으로 나뉘며 유사도가 높은 것을 추천해준다.
출처 : https://brunch.co.kr/@biginsight/15
사용자 기반의 경우 사용자와 활동내역이 비슷한 사용자를 찾아 그 사람의 내용을 추천해준다.
출처 : https://brunch.co.kr/@biginsight/15
아이템 기반의 경우 아이템과 비슷한 내용의 아이템을 찾아서 추측한다.
또 다른 방법으로 잠재 요인을 토대로 행렬을 분해해서 추측하는 방법이 있다.
SVD를 사용하여 분해하는데 이는 쉽게 말해 차원을 축소시켜 필요한 요인만을 선택하여 추천하는 방법이다.
ROC는 여러 임계값에서 분류기의 특성을 분석하는데 사용되는 도구
AUC는 ROC로 그려진 곡선 아래 부분의 면적 값이다.
ROC는 모든 임계값을 고려하지만 정밀도와 재현율 대신에 거짓 양성 비율이 변할 때 진짜 양성 비율이 어떻게 변하는지를 나타내는 곡선이다.
from sklearn.metrics import roc_curve
import matplotlib.pyplot as plt
import numpy as np
fpr, tpr, thresholds = roc_curve(y_test, model_svc.decision_function(X_test))
plt.plot(fpr, tpr)
auc_svc = roc_auc_score(y_test, model_svc.decision_function(X_test))
roc_curve를 통해 곡선을 그리며 roc_auc_score를 통해 면적을 구할 수 있다.
곡선이 사이드로 가까워질수록 이상적인것이다.
웹 페이지에서 입력한 데이터를 데이터베이스에 저장하는 방법에 대해 배웠다.
모델명.objects.create()
를 통해서 데이터를 입력할 수 있다.
또한 데이터를 입력하기 버튼을 통해 입력한 후 원래 페이지로 돌아가기 위해서는
return redirect()
를 통해 원래 페이지로 돌아가도록 할 수 있다.
class.pk라는 인자는 자동으로 설정되며 primary key값을 의미한다.
이는 직접 지정이 가능하나 자동으로 1부터 autoincrease되며 데이터마다 지정된다.