Вопрос:
Я хочу вычислить в python соотношение всех моих функций (все с плавающей точкой) и метки класса (Binary, 0 или 1). Кроме того, я хотел бы построить данные для визуализации их распределения по классам.
Это необходимо, чтобы я мог найти функции, связанные с одним ярлыком, и выяснить их реальное значение. Обратите внимание, что я не хочу парную корреляцию признаков и что мой классификатор является двоичным.
Я пробовал следующее (из аналогичного поста в stackoverflow), но это не совсем то, что я ищу.
df.drop(«Target», axis=1).apply(lambda x: x.corr(df.Target))
Посмотрите, пожалуйста, на прилагаемую картинку, как будет выглядеть дистрибутив для одной из функций (от Weka).
Распределение классов по одной из функций
Любые отзывы действительно приветствуются.
Лучший ответ:
Корреляция не должна использоваться для категориальных переменных. Для более подробного объяснения смотрите здесь
Вы можете понять взаимосвязь между вашими независимыми переменными и целевыми переменными с помощью следующего подхода.
from sklearn.datasets import load_breast_cancer data = load_breast_cancer(return_X_y=False) import pandas as pd df=pd.DataFrame(data.data[:,:5]) df.columns = data.feature_names[:5] df[‘target’] = data.target.astype(str) import seaborn as sns; import matplotlib.pyplot as plt g= sns.pairplot(df,hue = ‘target’, diag_kind= ‘hist’, vars=df.columns[:-1], plot_kws=dict(alpha=0.5), diag_kws=dict(alpha=0.5)) plt.show()