03 문제3: Apriori 알고리즘

서강식·2024년 12월 24일

스토리
“데이비드, 데이터 몇개만 가지고 테스트를 해봤더니 일단 평가 지표 자체는 잘 나오는 것 같아요. 그런데 지지도를 계산하기 위해 조합을 2개만 했는데도 내부에서 loop를 2번 돌아야 해서 데이터가 많아지면 너무 느려질 것 같은데 괜찮을까요?” 제프가 물었다.

“음…그래 모든 경우의 수를 다 조회한다면 확실히 느리겠군. 루시 뭔가 아이디어 없을까?” 데이비드가 루시에게 물었다.

“출현 빈도가 적은 건 건너뛰면 어떨까요?” 루시가 대답했다.

“그거 괜찮은 방법이네요.” 제프가 맞장구쳤다.

수행목표
Apriori 알고리즘을 수작업으로 처리한다.
수행단계
출현 빈도가 적은 것을 건너뛰는 방식으로 동작하는 Apriori 알고리즘을 조사하고 그 방법으로 아래 목록을 항목 집단마다 지지도가 제일 낮은 항목을 제거하는 방식으로 수작업으로 처리해보자.

사용자 영화 목록
1 가위손, 다이하드, 블레이드 러너
2 블레이드 러너, 아마데우스, 죽은 시인의 사회
3 가위손, 나 홀로 집에, 죽은 시인의 사회
4 다이하드, 블레이드 러너
5 죽은 시인의 사회, 아마데우스
구매행렬표를 만든다.
1개 영화에 대해 지지도를 계산한다.
지지도가 가장 낮은 영화를 제외한다.
남은 영화로 2개씩 짝을 지어 지지도를 계산한다.
지지도가 가장 낮은 영화를 제외한다.
개수를 늘려가며 반복한다.
개발환경
개발환경
OS : Windows, Linux, Mac OS
Dev Tools(IDEs) : Jupyter Notebook
개발언어 : Python
라이브러리 : numpy, pandas, mlxtend
제약조건
제약사항
문제의 데이터만 사용한다.
라이브러리를 사용하지 않고 직접 계산한다.
Test case
N/A

profile
Quantum-based Art Verification Researcher

0개의 댓글