Соотношение между особенностями - PullRequest
0 голосов
/ 28 января 2020

У меня следующий вопрос в python:

Я хочу напечатать корреляцию <0,9 для нескольких функций только на одной функции (здесь: «Объем»): в данном случае пример относится к моему dataframe </p>

Код:

correlation=example.corr().abs()
correlation_lower=correlation('Volume')
my_feature=correlation_lower[correlatio_lower<0.9]

Затем я преобразовал свой результат в DataFrame и назвал столбец. Feature:

my_features=pd.DataFrame(my_feature)
my_feature['Feature']=my_feature.index

Итак, у меня теперь есть dataFrame с моей функцией соответствующая корреляция для переменной «Громкость».

Теперь я хочу проверить эти функции с корреляцией меньше 0,9 и проверить корреляцию между ними. Я попытался сделать это для l oop, но это не работает:

for my_feature['Feature'] in example:
        print(example_corr())

В конце я хотел бы получить имена тех функций, чье соотношение ниже 0,9 для томов и не коррелируйте между собой.

Как мне это сделать?

1 Ответ

0 голосов
/ 28 января 2020

Насколько я понимаю, ваш вопрос, вы хотите список функций, которые имеют значение корреляции (с объемом) менее 0,9.

corrmat =  example.corr()
print(list(corrmat[(corrmat["Volume"]<0.9)]["Volume"].index.values))

РЕДАКТИРОВАТЬ:

После прочтения комментарий, я думаю, что это может работать для вас:

corrmat=train_df.corr()
select_fet = set(list(corrmat[(corrmat["Volume"]<0.9)].index.values))
corrmat = corrmat[(corrmat["Volume"]<0.9)].transpose()
for i in corrmat:
    select_fet = select_fet.intersection(set(corrmat[(corrmat[i]<0.9)].index.values))
print(select_fet)
...