여정의 기록

추천시스템_연관규칙(rule)(지지도,신뢰도,향상도, 의미없는 연관규칙 최소화) 본문

공부/Algorithm

추천시스템_연관규칙(rule)(지지도,신뢰도,향상도, 의미없는 연관규칙 최소화)

Chelsey 2021. 9. 16. 20:06
728x90

추천시스템 종류

  • 협업필터링(CF)
    가장 흔하게 보는 협업필터링
    거래 데이터 -> 고객에게 A상품 추천하기위해 -> 상관관계가 높은 고객 추출(B고객) -> B고객 구매상품 중 A고객 미구매 상품 추천
  • 연관규칙
    대규모 거래 데이터 -> 거래가 발생하는 규칙을 찾는다.

연관규칙(rule)

장바구니 분석

조건이 만족되면 결과가 발생된다.

특정사건 발생 -> 또 다른 사건 발생되는 규칙을 찾는다.

수천, 수만개의 규칙이 나온다 -> 그 중 강력한 규칙을 뽑아낸다.

예를 들어, {맥주} -> {땅콩}, {남성, 금요일, 맥주} -> {기저귀}

상품추천, 진열, 패키징 번들링, 홈쇼핑 채널, 방송 순서, 의료계(암데이터 분석- 단백질서열, DNA재현)

{증상} -> {질병}

 

X, Y : 아이템 집합(장바구니), x와 y의 교집합이 공집합이다. ?

X -> Y : if X then Y . 구매의 선후 관계가 없다. 장바구니 상태만 본다.

N : 전체 거래 건수

n(X) : X 거래건수

n(Y) : Y 거래건수

 

  1. 지지도(support)
    S(X -> Y) = X와 Y가 모두 포함된 거래수 / 전체 거래수 ( 확률말고 건수)
    아이템 집합(공집합이 아닌 집합, 전체집합 중 부분집합)
    전체집합 중 부분집합을 뽑아내서 규칙을 찾아낸다.  
    ( 부분집합 갯수 : 2의 원소갯수 제곱 , 2인 이유는 해당 원소가 있고 없고 두가지 경우라서 )
    ( 전체 건수 중 X, Y 가 동시에 일어날 확률 )
  2. 신뢰도(confidence)
    C(X -> Y) = X, Y 모두 포함된 거래수 / X가 포함된 거래수 n(X)
    X를 포함하는 거래 중 Y도 포함하는 거래 비율 
    조건부 확률
    값이 크다 == 신뢰도가 높다 == 규칙의 의미가 있다 
    ( X가 일어나는데 X, Y가 동시에 일어날 확률 )
  3. 향상도(lift)
    Lift( X -> Y )
    C(X -> Y) / S(Y) = X를 구매한 사람 중 Y를 구매한 거래수 / 전체 중 Y를 구매한 거래수
    ( Y가 일어날 때 중에서, X가 일어나는데 X, Y가 동시에 일어날 확률 ..? )
    향상도 > 1 ? 분자 > 분모 == 분자가 더 큰다 -> 신뢰도가 더 크다. 

의미없는 연관규칙 최소화

1. 최소지지도, 최소신뢰도 정해주기

최소지지도=0.1 == 10000건 중 1000건 이상 팔린 제품만 본다.

주의 : 최소지지도가 높으면 누구나 다 아는 규칙만 나오게 된다. 그리고 아무리 신뢰도가 높아도 일년에 한 두번 살까 말까한 경우 의미가 없다. 그래서 상황에 맞게 최소 지지도, 신뢰도를 잘 정해주는게 중요하다.

2. 향상도 내침차순 정렬을 통해 -> 의미없는 규칙 추출

 

 

 

728x90

'공부 > Algorithm' 카테고리의 다른 글

[MySql] WITH RECURSIVE 가상 테이블 이용하기  (0) 2023.01.03
SQL , LIKE % AND UPPER  (0) 2022.12.28
간단한 모델링 과정, 주의점  (0) 2022.02.14
apriori  (0) 2021.09.16
데이터 들여다보기와 Cluster 클러스터: K-mean  (0) 2021.09.07