TGViewer
Data Science | Machinelearning [ru] Data Science | Machinelearning [ru] @devsp · 19.8K subscribers
Post #5025 2.01K
👩‍💻 Поиск коррелирующих признаков

Вам дана матрица признаков (таблица) в виде списка списков. Каждый вложенный список — это объект, каждый столбец — признак.

Нужно реализовать функцию highly_correlated_features(data, threshold), которая вернёт список пар индексов признаков, корреляция между которыми по модулю превышает указанный threshold (от 0 до 1, не включительно).

Использовать можно только корреляцию Пирсона. Повторы пар и зеркальные дубли учитывать не нужно ((1, 2) и (2, 1) — одно и то же).

Цель:

Выявить признаки, которые слишком сильно "повторяют" друг друга и могут вызвать мультиколлинеарность в моделях.


Решение задачи🔽

import numpy as np
from itertools import combinations

def pearson_corr(x, y):
x = np.array(x)
y = np.array(y)
return np.corrcoef(x, y)[0, 1]

def highly_correlated_features(data, threshold=0.9):
arr = np.array(data)
n_features = arr.shape[1]
result = []

for i, j in combinations(range(n_features), 2):
corr = pearson_corr(arr[:, i], arr[:, j])
if abs(corr) > threshold:
result.append((i, j))

return result

# Пример использования
X = [
[1, 2, 10],
[2, 4, 20],
[3, 6, 30],
[4, 8, 40],
[5, 10, 50]
]

print(highly_correlated_features(X, threshold=0.95))
# Ожидаемый результат: [(0, 1), (0, 2), (1, 2)]
  • ❤ 5
  • ⚡ 2
More from @devsp
  1. Oct 2, 2026Вайбкодим «Полный путь разработки AI-агентов: от MCP до Agentic RAG» Образовательная прогр…
  2. Oct 2, 2026🤣 Правильно расставленные приоритеты в моей жизни би лайк: 💥 xCode Journal
  3. Oct 1, 2026🤯 Люди взбунтовались против «пыточной для ИИ» На GitHub заметили открытый проект AI Tortu…
  4. Oct 1, 2026День в Заонежье начинается ещё в дороге. Мы встретим вас в аэропорту или на вокзале. Дальш…
  5. Sep 30, 2026Две ИИ-фабрики в Армении: что там отгрохали и на кого это в итоге пашет В августе в Раздан…
  6. Sep 30, 2026Из Москвы в Миннеаполис — с тремя решениями для улучшения персонализации в рекомендательны…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →