데이터, 그로스 마케팅 연구와 기록

[Python] MLxtend 주요 기능들 본문

Data Analytics

[Python] MLxtend 주요 기능들

공부하는소피 2022. 4. 13. 21:50

Mlxtend 는 scikit-learn, tensorflow, keras, PyTorch 등과 같이 파이썬에서 사용되는 툴중 하나인데, 다양한 extensions 기능들을 제공한다. 

 

MLxtend 가 제공하는 흥미로운 기능들

 

1. counterfactual record

(출처: https://ealizadeh.com/blog/mlxtend-library-for-data-science)

 

 

2. PCA Correlation Circle

(출처: https://ealizadeh.com/blog/mlxtend-library-for-data-science)

 

3. Bias-Variance Decomposition

(출처: https://ealizadeh.com/blog/mlxtend-library-for-data-science)

 

모델의 biars-variance 는 편향오류(underfitting)와 분산오류(overfitting)를 최소화하는 것이 목표이지만 bias와 variance는 tradeoff 관계에 있다. 이를 bias-variance tradeoff 라고 부르며 이 관계를 분석하기 위해서는 1) bias, 2) variance, and 3) irreducible error 로 분해하는 bias-variance decomposition을 통해 확인한다.

bias_variance_decomp()

 

4. Frequent itemsets via the Apriori Algorithm

Association rule 러닝시 사용하기 적절한 Apriori Algorithm. Apriori는 자주 집합이 되는 itemsets를 찾아주고 '구매'와 같은 transaction을 분석해준다. Apriori Algorithm에서는 min_support 값을 threshold로 지정하며, 얼마나 자주 집합이 되는 아이템을 분석할 것인지 규정할 수 있다. 

 

Association rule 은 기본적으로 조건확률에 기반해 itemsets 찾아내며,  3가지 threshold 를 기준으로 'frequent' 정의를 달리할 수 있다.

{A , B} : 'A' 아이템을 선택한 사람이 B 아이템을 선택할 확률을 구할 때

  • Support (A) : A 가 선택될 확률 = (A가 포함된 transaction 횟수)/ (전체 transaction 횟수) 
  • Support (B) : B가 선택될 확률 = (B가 포함된 transaction 횟수)/ (전체 transaction 횟수)
  • Confidential {A,B}: A를 선택한 사람이 B도 선택했을 확률  = (B가 포함된 transaction 횟수)/(A가 포함된 transaction 횟수)
  • Lift : B를 선택할 확률 대비 A를 선택한 사람이 B도 선택했을 확률 = Confidential {A,B})/ support (B)

 

from mlxtend.frequent_patterns import apriori
apriori(df, min_support=0.6) #itemsets with at least 60% support 로 설정

 

Comments