Получение коэффициента корреляции каждой переменной предиктора по отношению к выходной переменной
Итак, я пробовал разные способы вычисления коэффициентов корреляции и построения тепловой карты и т. Д. Все это дает мне значения и графики, но я не могуизвлечь "информацию" из этого набора данных. У меня огромный набор данных: 50000 X 500 - и в основном разреженные данные (много нулей, но нет пропущенных значений). Я хочу получить corr coef (я думаю, что abs () имеет смысл) каждой переменной-предиктора по отношению к выходной переменной;Это проблема классификации (выходные данные либо 0, либо 1), и я хочу выбрать объекты с высокой корреляцией с выходной переменной. После этого шага я планирую запустить метод выбора объектов (например, SelectKBest)
corr = df[df.columns[1:]].corr()['OUTPUT'][:]
И, когда я использую условие для этой серии, например: corr.where(corr > 0.5)
Я получаю много (ну, большинство из них) значений 'nan'.
Ранее я также вычислял корреляциюдля всего набора данных: df.corr()
, что не совсем полезно
Я нашел другой пост, в котором предлагалось что-то похожее ниже: я пробовал это с помощью значений abs () для матрицы корреляции, но это для каждого набора переменных; so_corr = (corr.where(np.triu(np.ones(corr.shape), k=1).astype(np.bool)).stack().sort_values(ascending=False))
Я хочу быстро удалить / уменьшить возможности, поэтому я хочу сохранить те из них, которые связаны с выходной переменной. Кроме того, имена функций не помогают: col1, col2, col35 и т. Д. Не заказано. Если я запускаю: corr = df[df.columns[1:]].corr()['OUTPUT'][:]
Я хочу что-то вроде:
col1 0.74
col2 0.34
col3 0.0
.
.
Я также хочу иметь возможность выбрать те, которые выше или ниже определенного значения: corr.where(corr >0.6)
И иметь доступ кимена ланчей.
Есть предложения?