상호정보 상관계수
- 두 변수 간의 상호 정보를 측정.
- 변수 간의 정보 의존성을 바탕으로 비선형 관계를 탐지.
- 서로의 정보에 대한 불확실성을 줄이는 정도를 바탕으로 계산.
- 범주형 데이터에 대해서도 적용 가능
- 상호정보 상관계수를 그림으로 확인
- 보라색 점들은 x와 y간의 비선형 관계를 나타냄
- 상호 정보 값은 0.90으로 표시되어 있으며, 이는 두 변수 간의 강한 비선형 의존성을 의미

상호정보 상관계수 언제 사용되나?
- 두 변수가 범주형 변수일 때
- 비선형적이고 복잡한 관계를 탐지하고자 할 때
import numpy as np
from sklearn.metrics import mutual_info_score
X = np.array(['cat', 'dog', 'cat', 'cat', 'dog', 'dog'
, 'cat', 'dog', 'dog', 'cat'])
Y = np.array(['high', 'low', 'high', 'high', 'low', 'low'
, 'high', 'low', 'low', 'high'])
mi = mutual_info_score(X, Y)
print(f"Mutual Information (categorical): {mi}")
