어제 한 내용을 이어서 하자면, 데이터프레임으로 변경을 완료했는데
이 데이터프레임의 내용은 대략적으로 글로 쓰자면
1번째 행은 : JAVA, JSP
2번쨰 행은 : CSS, JAVA, JSP
을 표로 표시한 내용이다.
이제 aprior 알고리즘을 사용해서 어떻게 나오는지 보자
1
2
3
|
itemset = apriori(df, min_support=0.1, use_colnames=True)
itemset
print(itemset,'\n')
|
cs |
소스를 돌려보면.. 아래와 같이 값이 나오는데 support에 해당하는 값은 어떻게 나온걸까..
짱구를 굴려봐도 답이 안나온다.. 이럴땐 구글링!
![](https://blog.kakaocdn.net/dn/KBSkC/btq8741RLAN/YIauNCtdHFITY2I4PpSyTK/img.png)
간단한 샘플을 통한 통계척도 구해보기
역시 구글! 없는게 없다 😄
맞는지 하나만 계산해보자. 복잡하니까 좀 쉬운 데이터로 계산을 한번 진행해보자
아래와 같은 데이터로 계산을 진행해보겠다.
![](https://blog.kakaocdn.net/dn/tQBSc/btq85VjIBp4/sk0elNZpVqf5SFyammwGAK/img.png)
![](https://blog.kakaocdn.net/dn/rYNAL/btq88zgrJgE/yazXkH9JMtt6VxT9WJckfK/img.png)
연관규칙에서 사용하는 3가지 통계척도가 있는데 이걸 하나하나씩 물고뜯고 씹어보자
1. 지지도 ( support ) : 특정 아이템이 데이터에서 발생하는 빈도
![](https://blog.kakaocdn.net/dn/wZJB3/btq9aFfdrmL/fTPb5ROa4oyULTz8nwzR6K/img.png)
공식은 위와 같다.
가장 쉬운 녹차라떼,아메리카노에서 녹차라뗴의 지지도를 알아보자
support(녹차라떼) = count(녹차라떼 건수: 2건 ) / 전체 거래건수 : 8 건 => 0.250
2. 신뢰도 ( confidence ) : 두 아이템의 연관규칙이 유용한 규칙일 가능성의 척도
![](https://blog.kakaocdn.net/dn/bg0Yl2/btq869I3JQY/Ce9FzgYigXY7kdPkv1EOTk/img.png)
공식대로 다시 또 계산해보자
confidence(녹차라떼 -> 아메리카노 ) = count( 2 건 ) / 녹차라떼만 포함하는 건수 2건 => 1.0
3. 향상도 ( lift ) : 두 아이템의 연관 규칙이 우연인지 아닌지를 나타내는 척도
![](https://blog.kakaocdn.net/dn/cn38tq/btq88zAKmSR/zxckYOcDLEf34CBSqlitBK/img.png)
lift는 공식을 잘 봐야한다. 헷갈린다!!!
lift( 녹차라떼 -> 아메리카노 ) = confidenct( 녹차라떼 -> 아메리카노 ) / support( 아메리카노 )
= 1.0 / 0.875 => 1.14286
여기서 조심해야하는거는 분모가 아메리카노의 지지도이라는 걸 알고 계산해야한다.
support(아메리카노) = count(아메리카노 건수: 7건 ) / 전체 거래건수 : 8 건 => 0.875
이걸로 계산하면 3가지 통계척도는 구할 수 있다.
![](https://blog.kakaocdn.net/dn/n5qtD/btq869btHFf/Op6hdlfcZCkMD0bsYHHJoK/img.png)
[출처] : https://m.blog.naver.com/zzz90zzz/221807210555
연관규칙 (Apriori 알고리즘)
머신러닝의 종류 3가지 : 1. 지도학습 : - 분류 : knn(유클리드 거리), 나이브베이즈 (나이브베이즈 확률),...
blog.naver.com
lift 까지 구했으면 거의 다 왔다.
다시 본론으로 돌아와 lift 가 높을 수록 인기가 많고, 신뢰가 높다고 생각하면 된다.
그러므로 아래의 표에서 보자면
Django 를 하는 개발자에게는 Python를 하는 경우가 많고,
SQL 를 할 줄 아는 개발자는 JSP를 하는 경우가 많다는 걸 알 수 있다.
물론, 표본이 많으면 더 정확한 예측을 할 수 있을것 같다.
이제 aprior 을 공부했으니 이걸로 이것저것 해보면서 공부를 좀 더 해봐야겠다.
'IT Diary > # Python' 카테고리의 다른 글
[ Python ] 장바구니 알고리즘 ( apriori ) 구현해보기 #1 (0) | 2021.07.08 |
---|