funpymodeling icon indicating copy to clipboard operation
funpymodeling copied to clipboard

Encapsulate pairwaise correlation based on MIC statistic

Open pablo14 opened this issue 4 years ago • 0 comments

Modify corr_pair function from funpymodeling in order to handle the correlation based on MIC statistic as it is shown below:

from __future__ import division
import numpy as np
import matplotlib.pyplot as plt
from minepy import MINE

from funpymodeling.exploratory import cat_vars, num_vars

tips = sns.load_dataset('tips')

# Encapsulate from here:
data=tips[num_vars(tips)] # only pre-select numeric variables
data

df_res = pd.DataFrame()
for a,b in col_pairs:
    mine = MINE(alpha=0.6, c=15, est="mic_approx")
    mine.compute_score(data[a], data[b])
    df_res=df_res.append({"v1":a, "v2":b, "mic":mine.mic()}, ignore_index=True)

image

corr_pair should support the method='mic'.

pablo14 avatar Aug 31 '20 17:08 pablo14