본문 바로가기

분류 전체보기

(52)
Matrix Factorization Techniques for Recommender Systems 논문 리뷰 Matrix Factorization Techniques for Recommender Systems Matrix Factorization- user-item ratings(평점) 패턴으로부터 추론된 잠재 요인 벡터를 사용해 user와 item을 모두 특징화- user와 item의 잠재 벡터 간 내적(dot product)을 통해 평점을 예측하고, 이를 바탕으로 추천- latent factor models(잠재 요인 모델) 중 가장 성공적으로 구현된 방식수식\[ \min_{q^*, p^*} \sum_{(u,i) \in \mathcal{K}} (r_{ui} - \hat{r}_{ui})^2 + \lambda \left( \lVert q_i \rVert^2 + \lVert p_u \rVert^2 \right)..
python sort dict key by value dictionary의 get 메소드를 이용하면 개별 key에 대해 value를 가져올 수 있다.sorted(A, key=A.get)출처: https://stackoverflow.com/questions/7340019/sort-values-and-return-list-of-keys-from-dict-pythonsorted(A, key=lambda x: A[x])출처: https://school.programmers.co.kr/learn/courses/30/lessons/42889/solution_groups?language=python3이 방법도 있다. 내가 처음에 구현한 방법은 아래인데 O(NlogN + N)의 시간 복잡도를 갖는다.위 방법이 O(NlogN)으로 더 효율적이므로 앞으로는 위 방법을 사용하..
파이썬 딕셔너리 삽입 순서 보장 알고리즘 문제를 풀던 중 다른 사람의 풀이를 보고 알게 된 사실을 공유한다.(공식적으로) Python 3.7부터 딕셔너리 삽입 순서가 보장된다.버전 3.7에서 변경: 딕셔너리 순서는 삽입 순서임이 보장됩니다. 이 동작은 3.6부터 CPython의 구현 세부 사항입니다.출처: https://docs.python.org/ko/3/library/stdtypes.html#dict 프로그래머스 레벨 1 문제의 아래 풀이는 딕셔너리 삽입 순서가 보장될 때만 작동한다. (14~15줄 참고) 어떻게 순서가 보장되도록 변경됐는지 자세한 구현 내용은 아래 화해 기술 블로그에 잘 정리돼있으니 참고하면 좋을 것 같다. Python3.6 부터는 Dict가 순서를 기억한다. – 화해 블로그 | 기술 블로그Python3.6 화해..
[Data Science] Dog Classification Dog Classification 이 문제는 Accuracy를 아는지 묻는 문제였다. Accuracy는 내가 푼 문제 중에 몇 개나 맞췄는지에 대한 지표로, 이 문제에서는 Accuracy가 가장 높게 나오는 최적의 threshold를 찾아야 한다. 일단, 데이터를 복사해서 메모장에 csv 파일로 저장하고 불러왔다. 샘플 수는 24개고 컬럼은 2개다. "Dog is on image" 컬럼이 target(label)이고, "Classifier prediction" 컬럼이 분류기를 통해 나온 예측값이다. Binary classification 문제이므로 threshold를 정해 예측값(보통 확률값)이 threshold 이상이면 True(1), 미만이면 False(0)로 정한다. 문제에서 주어진 컬럼명은 길고 ..
Python 2차원 리스트 회전 # 2차원 리스트 90도 회전 def rotate_matrix_by_90_degree(a): n = len(a) # 행 길이 계산 m = len(a[0]) # 열 길이 계산 result = [[0] * n for _ in range(m)] # 결과 리스트 for i in range(n): for j in range(m): result[j][n-i-1] = a[i][j] return result 출처: , 나동빈