Бизнес-аналитика с помощью Power BI

Кластеризация в PowerBI. Часть 2

В практическом материале на наборе Iris показано, как в Microsoft Power BI подготовить CSV-данные, переименовать признаки, удалить пустые строки и применить встроенную кластеризацию. Затем кластеры сопоставляются с реальными классами через условную колонку, рассчитывается средняя ошибка. На наборе Cars демонстрируется корреляционный анализ и кластеризация корреляционной матрицы.

Основные мысли

1. Загружать CSV-файл в Power BI и преобразовывать разделители и типы данных.
2. Называть и интерпретировать метрические признаки набора Iris.
3. Применять встроенную кластеризацию Automatic Find Clusters (Автоматический поиск кластеров).
4. Сравнивать результаты кластеризации с истинными классами через условную колонку.
5. Создавать меру средней ошибки классификации на основе кластеров.
6. Оценивать качество кластеризации по доле ошибок.
7. Строить и читать корреляционную матрицу для автомобильных характеристик.
8. Интерпретировать прямые и обратные корреляции.
9. Использовать кластеризацию на корреляционной матрице для группировки связанных признаков.
10. Понимать ограничения текстовых уникальных полей при корреляционном анализе.
Показывать лекцию целиком
Краткое изложение

Файл для скачивания: cars.csv

Приложения

cars.csv

1. Набор Iris Data

Iris Data (набор данных «Ирис») — популярный учебный набор для базового анализа данных. Он описывает цветок ириса и содержит несколько типов этого растения.

1.1. Загрузка и подготовка

В Power BI подключаем CSV-файл. Разделитель в данных — точка, поэтому используем Replace Values (Замена значений): точку меняем на запятую. Затем столбцы с числами переводим в тип Decimal Number (Десятичное число). Пустую последнюю строку удаляем через Remove Blank Rows (Удалить пустые строки).

1.2. Метрические признаки

После подготовки получаем четыре числовых признака:

Признак Смысл
Длина бутона метрическая характеристика
Ширина бутона метрическая характеристика
Длина лепестка метрическая характеристика
Ширина лепестка метрическая характеристика

Также есть класс ириса. В данных встречаются три типа: Iris setosa, Iris versicolor, Iris virginica.

2. Встроенная кластеризация в Power BI

В Power BI есть встроенная функция Automatic Find Clusters (Автоматический поиск кластеров). Она позволяет искать кластеры без внешнего модуля. Нужно указать количество кластеров.

2.1. Кластеризация по бутону

Строим scatter chart (точечную диаграмму). Берём среднюю длину бутона и среднюю ширину бутона. Включаем автоматический поиск кластеров и задаём три кластера. Результат показывает смешение классов: по двум признакам бутона кластеры плохо совпадают с реальными типами ириса.

2.2. Кластеризация по лепесткам

Меняем признаки: используем длину и ширину лепестка. Снова запускаем поиск трёх кластеров. Теперь разделение почти точное: Iris setosa чётко попадает в отдельный кластер, Iris versicolor и Iris virginica разделяются с единичными ошибками.

3. Сопоставление кластеров с классами

3.1. Условная колонка класса

Создаём новую колонку Class (Класс) через условный оператор IF (ЕСЛИ). Логика:

Так кластеры превращаются в предсказанные классы.

3.2. Средняя ошибка

Создаём колонку Ошибка:

Затем создаём меру AVG-ошибка (Средняя ошибка). Она равна сумме ошибок, делённой на количество строк. В примере ошибка составила всего 5%. Это хороший результат, если учесть, что использованы только два признака из четырёх.

4. Набор Cars

4.1. Подготовка данных

Загружаем CSV-файл с автомобилями. Переименовываем источник в Машины. Для нужных столбцов с десятичными числами снова используем Replace Values: точку меняем на запятую, а тип данных — на Decimal Number.

4.2. Корреляционный анализ

Из Marketplace (Магазин) добавляем визуальный элемент Correlation Plot (График корреляции). Выбираем числовые поля, кроме Model (Модель), потому что это текстовое и уникальное поле: искать корреляцию с ним бессмысленно. График показывает связи характеристик автомобиля.

Например, MPG (Miles per Gallon, миль на галлон) имеет обратную зависимость с числом цилиндров: чем больше цилиндров, тем меньше пробег на галлон. Также видны разные по силе прямые и обратные связи.

4.3. Кластеризация корреляций

В разделе корреляций включаем отрисовку кластеров. Алгоритм группирует признаки с наибольшей корреляцией друг с другом. Внутри кластеров отображаются значения коэффициента корреляции от -1 до 1. Это помогает быстрее увидеть группы связанных параметров.

5. Что дальше

Далее рассматриваются предсказания по временным рядам и иерархические структуры в Power BI.

Краткие итоги

Практическая ценность такого сценария в том, что он связывает подготовку данных, исследовательскую визуализацию и проверку качества модели. Сначала качество результата определяется аккуратностью преобразований: разделители, типы данных и пустые строки напрямую влияют на корректность расчётов. Затем кластеризация показывает, как из неразмеченных наблюдений можно получить группы, но сами по себе кластеры ещё не являются классами. Их смысл появляется только после сопоставления с предметной интерпретацией и проверки по известным ответам. Поэтому важна не только визуальная красота разделения, но и измеримая метрика ошибки. Выбор признаков оказывается решающим: одни характеристики дают слабое разделение, другие — почти точное. Это демонстрирует, что анализ данных итеративен: результат уточняется через замену переменных, повторный запуск алгоритма и сравнение с эталоном. Корреляционный анализ дополняет картину, показывая силу и направление связей между числовыми признаками. Однако корреляция не доказывает причинность и не работает с уникальными текстовыми полями. Кластеризация корреляционной матрицы помогает структурировать признаки, но итоговые решения всё равно требуют содержательной проверки. В прикладном смысле такой подход применим для быстрой разведки данных, поиска групп, отбора признаков и построения прозрачных индикаторов качества. Он учит отделять техническую обработку от аналитического вывода и не переоценивать автоматический результат без проверки.

В Power BI разбирается практический анализ данных на наборе Iris Data. Это CSV-файл с цветками ириса. В нём есть четыре числовых признака: длина бутона, ширина бутона, длина лепестка, ширина лепестка. Также известны три класса: Iris setosa, Iris versicolor, Iris virginica.

Сначала данные импортируются. В CSV разделитель — точка, поэтому через Replace Values точку меняют на запятую. Числовые столбцы переводят в Decimal Number. Пустую последнюю строку удаляют через Remove Blank Rows. После этого можно строить визуализации.

Для поиска групп используется встроенная кластеризация Automatic Find Clusters. В точечной диаграмме выбирают две характеристики и задают число кластеров, например три. Сначала берут длину и ширину бутона. Результат показывает смешение классов: по этим признакам кластеры плохо совпадают с реальными типами ириса. Затем берут длину и ширину лепестка. Здесь разделение почти точное: Iris setosa чётко отделяется, два других класса почти не смешиваются.

Чтобы превратить номера кластеров в названия классов, создают колонку Class через IF. Если номер кластера равен 3, возвращается Iris setosa. Если равен 1 — Iris versicolor. В остальных случаях — Iris virginica. Так кластеры становятся предсказанными классами.

Далее создают колонку Ошибка. Если предсказанный класс совпал с истинным, ставится 0. Если не совпал — 1. Затем создают меру AVG-ошибка: сумму ошибок делят на количество строк. В примере ошибка составила всего 5%. Это хороший результат, потому что использованы только два признака из четырёх.

Затем загружается CSV с автомобилями. Источник переименовывают в Машины. Для нужных десятичных столбцов снова меняют точку на запятую и устанавливают тип Decimal Number. Из магазина добавляют Correlation Plot. В него включают числовые поля, кроме Model, потому что Model — уникальное текстовое поле, и корреляцию с ним искать бессмысленно.

График корреляции показывает связи характеристик автомобиля. Например, MPG (Miles per Gallon, миль на галлон) имеет обратную зависимость с числом цилиндров: чем больше цилиндров, тем меньше пробег на галлон. Также видны прямые и обратные связи разной силы. В разделе корреляций можно включить отрисовку кластеров. Алгоритм группирует признаки с наибольшей корреляцией друг с другом. Внутри кластеров видны значения коэффициента корреляции от -1 до 1. Это помогает быстро увидеть группы связанных параметров.

Главные идеи: качество анализа зависит от подготовки данных; кластеризация может почти точно разделять классы, если выбрать удачные признаки; кластеры нужно сопоставлять с реальными классами и проверять метрикой ошибки; корреляция показывает связи, но не доказывает причинность; уникальные текстовые поля не используют в корреляционном анализе. Далее в курсе рассматриваются временные ряды и иерархические структуры.

Выводы

1. Подготовка CSV в Power BI включает замену разделителя, смену типа данных и удаление пустых строк.
2. Набор Iris содержит четыре числовых признака и три класса ириса.
3. Встроенная кластеризация Power BI называется Automatic Find Clusters.
4. При кластеризации нужно указывать число кластеров; в примере их три.
5. Кластеризация по бутону дала плохое разделение классов.
6. Кластеризация по лепесткам дала почти точное разделение.
7. Номера кластеров можно преобразовать в названия классов через IF.
8. Средняя ошибка рассчитывается как сумма ошибок, делённая на число строк.
9. В примере средняя ошибка составила 5% при использовании двух признаков.
10. Correlation Plot показывает связи между числовыми признаками.
11. MPG обратно связан с числом цилиндров.
12. Уникальное текстовое поле Model не используют в корреляционном анализе.

Вопросы для самопроверки

1. Зачем при импорте CSV менять точку на запятую?
2. Какие четыре метрических признака есть в Iris Data?
3. Чем встроенная кластеризация Power BI отличается от внешнего модуля?
4. Почему кластеризация по бутону оказалась слабой?
5. Почему кластеризация по лепесткам дала лучшее разделение?
6. Как через IF превратить номер кластера в название класса?
7. Зачем создавать индикатор ошибки?
8. Как рассчитывается средняя ошибка?
9. Почему средняя ошибка 5% считается хорошим результатом?
10. Почему поле Model не включают в Correlation Plot?
11. Как читать корреляцию, близкую к -1?
12. Зачем кластеризовать корреляционную матрицу?
Вернуться к учебному плану