Дано: DataFrame `data` с 6 числовыми признаками -- 80 строк. Сократите размерность до 2 главных компонент (PCA по стандартизованным данным) и оцените, сколько дисперсии объясняет каждая компонента. Сохраните dict {"explained_variance": list(round 4), "total_variance_explained": round(4), "pc1_shape": tuple, "loadings": list of lists (round 4)} в `result` (loadings = components_, как признаки вносят вклад).
pca dimensionality_reduction visualization
Задача «PCA: снижение размерности для визуализации» учит решать задачи на scikit-learn так, как это спрашивают на собеседовании аналитика данных. Такие задачи дают на собеседованиях в Мегафон и других IT-компаниях. Уровень сложный — проверяет глубину и умение собрать решение из нескольких приёмов.
Сначала разбери условие и формат входа-выхода, прикинь крайние случаи (пустой ввод, дубли, NaN). Затем выбери структуру данных и собери решение по шагам — начни с простого рабочего варианта, потом оптимизируй сложность. Код пишешь и запускаешь прямо в браузере: Python-тренажёр исполняет его через Pyodide (pandas, numpy, scipy) и проверяет результат автоматически.
На собеседовании по Python для аналитика ценят чистый читаемый код, корректную обработку крайних случаев (пустой ввод, дубли, None) и умение вслух оценить сложность по времени и памяти. Часто просят не просто решить, а разобрать альтернативные подходы и показать, где наивное решение сломается на большом объёме данных.
Прокачать Python для аналитики — бесплатный курс «Pandas с нуля» и Python-тренажёр.
Открыть задачу в тренажёре → ← Все Python-задачи