визуализация корреляции по конкретному классу в цели - PullRequest
0 голосов
/ 04 октября 2018

У меня есть набор данных, который состоит из четырех классов, что означает, что целевая переменная имеет 4 разных класса (например, 0,1,2,3), так как мы знаем, что с помощью этого фрагмента мы можем получить большинство коррелированных объектов для нашей цели с помощью панд.

# Find correlations with the target and sort
correlations = train.corr()['Target'].sort_values()
# Display correlations
print('Most Positive Correlations:\n', correlations.tail(15))
print('\nMost Negative Correlations:\n', correlations.head(15))

но мой вопрос заключается в том, что мне нужно получить наиболее сопоставленные функции для конкретного целевого класса.например, я хочу узнать, какие функции имеют высокий эффект (коррелированный) для целевого класса 3. Я пробовал это,

correlations = train.corr()[(train['Target'] == 3)].sort_values()

, но выдает эту ошибку

IndexingError: Unalignable boolean Series provided as indexer (index of the 
boolean Series and of the indexed object do not match

мой ожидаемый результат

1 Ответ

0 голосов
/ 04 октября 2018

Вы не дали нам ничего для работы, но я предполагаю, что ваша проблема вызывает .corr() перед маскировкой.Вам нужно позвонить:

correlations = train[(train['Target'] == 3)].corr().sort_values()

Редактировать:

Более элегантное решение, вероятно, groupby.Попробуйте что-то вроде:

train.groupby('Target').apply(lambda grp: grp.corr())
...