Анализ и визуализация данных на языке R

Алгоритм ассоциативных правил. Интеграция с PowerBI

В данной лекции рассматривается практическое применение алгоритма ассоциативных правил (Apriori) в среде Power BI с использованием R-скриптов. Автор демонстрирует полный цикл обработки данных: от загрузки файла Groceries.csv до визуализации полученных правил в виде интерактивного графа. Особое внимание уделяется приведению результатов анализа к типу data.frame, необходимому для корректной работы Power BI, а также постобработке правил (разделение на левую и правую части, удаление лишних символов) и созданию наглядного отчета с помощью визуализации Force-Directed Graph.

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

1. Адаптация R-кода для Power BI: Результат работы R-скрипта (набор правил) должен быть обязательно преобразован в data.frame, так как Power BI воспринимает только этот тип данных.
2. Явная загрузка зависимостей: Чтобы избежать ошибок при поиске зависимостей, рекомендуется подгружать библиотеки в явном порядке (сначала Matrix, затем arules).
3. Сортировка правил по лифту: Для получения наиболее значимых ассоциаций правила сортируются по коэффициенту Lift (подъемная сила) по убыванию, отбирается топ-100.
4. Постобработка данных в Power Query: Исходный формат правил ({item1} -> {item2}) неудобен для анализа. Необходимо разделить столбец на две части (Left Hand Side — антецедент, Right Hand Side — консеквент) и удалить фигурные скобки.
5. Визуализация через Force-Directed Graph: Наиболее эффективный способ представления ассоциативных правил — граф, где узлы — товары, а ребра — правила, а толщина линии отражает значение лифта.
Показывать лекцию целиком
Краткое изложение

1. Загрузка и подготовка данных: Лектор открывает файл Groceries в Power BI и переходит в режим преобразования данных («Преобразование данных»), запуская R-скрипт (Air-скрипт / R-скрипт).
2. Написание R-скрипта:
o Загружаются библиотеки: Matrix и arules (можно через library(arules)).
o Данные читаются как транзакции (transactions).
o Применяется алгоритм Apriori с заданными параметрами поддержки (Support) и достоверности (Confidence).
o Полученные правила сортируются по Lift (от большего к меньшему с помощью знака «минус»).
o Ключевой момент: Набор правил (groceryRules) преобразуется в data.frame с помощью as(groceryRules, "data.frame").
o Отбираются первые 100 правил и сортируются по столбцу lift (через $lift).
3. Обработка результата в Power BI:
o После выполнения скрипта появляются две таблицы: промежуточная (Grocery Rull Sort) и конечная (Output).
o Power BI видит только ту таблицу, которая является data.frame. Автор переименовывает выходную таблицу.
4. Трансформация столбцов (Power Query):
o Исходное правило выглядит как {Предмет} -> {Следствие}.
o Столбец разделяется по разделителю -> на две части (Left Hand Side и Right Hand Side).
o Для удаления фигурных скобок { и } используется функция «Замена значений» (замена на пустоту).
5. Визуализация:
o Создается фильтр (слайсер) для левой части правила (LHS).
o Выбирается визуальный элемент Force-Directed Graph (импортируется из маркетплейса).
o Настройки графа: Источник (LHS), Назначение (RHS), Вес (Lift — влияет на толщину линии).
o Включаются стрелки для указания направления связи.
o Результат: интерактивный граф, где можно фильтровать товары и видеть силу ассоциации (например, из Vegetables следует yogurt с разной толщиной линий в зависимости от Lift).

Выводы

1. Интеграция R и Power BI: Связка R (для вычислений) и Power BI (для визуализации) позволяет гибко решать задачи Data Mining, такие как поиск ассоциативных правил, которые сложно реализовать стандартными средствами Power BI.
2. Важность типа данных: Начинающие пользователи часто забывают преобразовать результат R-скрипта в data.frame. Лекция подчеркивает критическую важность этого шага для корректного отображения данных.
3. Практическая ценность визуализации: Граф (Force-Directed Graph) значительно упрощает восприятие логистических и маркетинговых связей («если покупают А, то купят и Б») по сравнению с табличным представлением сотен строк.
4. Простота кода: Для получения готового набора правил достаточно 5-6 строк кода (чтение, применение Apriori, преобразование во frame), что делает этот метод доступным для аналитиков без глубокого знания R.

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

1. Почему в R-скрипте автор сначала явно загружает библиотеку Matrix, а только потом arules, вместо того чтобы написать library(arules)?
2. Почему Power BI «увидел» таблицу Grocery Rull Sort, но не увидел исходную groceryRules? Какая строчка кода решает эту проблему?
3. Какой разделитель используется для разделения правил на левую и правую часть? Почему после разделения потребовалось дополнительно чистить символы { и }?
4. Что означает знак «минус» перед столбцом lift в команде сортировки groceryRulesSort[order(-groceryRulesSort$lift), ]?
5. За что отвечает параметр «Вес» (Weight) в визуализации Force-Directed Graph, и какая мера ассоциации (Support, Confidence или Lift) была использована для его настройки в лекции?
Вернуться к учебному плану