Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lect_15.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
585.73 Кб
Скачать

Модель данных

Пусть I = {i1, i2, i3, ...im} – множество изучаемых объектов, называемых элементами (item), общим числом m.

Набором элементов (itemset) X называется любое подмножество множества объектов, , в том числе само множество I и пустое множество .

Если для набора элементов X задан некоторый уникальный идентификатор TID, то пару t=(TID, X) называют транзакцией. Мы говорим, что транзакция t содержит Y ( ), где Y – некоторый набор элементов из I, если .

Пусть D = {t1, t2, t3, ...tN} – множество транзакций общим числом N. Каждая транзакция t=(TID, t1, t2, t3, ...tm) может быть представлена как бинарный вектор, где tk =1, если ik элемент присутствует в транзакции, иначе tk=0. Тогда данные о транзакциях могут быть представлены в виде бинарной матрицы, где различным столбцам соответствуют различные объекты, а различным строкам – различные транзакции, или наоборот.

Пример транзакционных данных, содержащих список покупок в магазине приведен в таблице 2.1.

Таблица 2.1 – Транзакционные данные в матричной форме

Id

Хлеб

Кока-кола

Молоко

Пиво

Подгузники

1

1

1

1

0

0

2

1

0

0

1

0

3

0

1

1

1

1

4

1

0

1

1

1

5

0

1

1

0

1

Транзакционные данные представляют собой особый тип данных, где каждая запись, являющаяся транзакцией, включает набор значений. Для хранения иногда транзакционные данные записывают в виде массива пар (TID, ). Пример такого представления приведен в таблице 2.2.

Таблица 2.2 – Транзакционные данные в форме массива

Id

Продукт

Id

Продукт

Id

Продукт

1

Хлеб

3

Кока-кола

4

Молоко

1

Кока-кола

3

Молоко

4

Пиво

1

Молоко

3

Пиво

4

Подгузники

2

Хлеб

3

Подгузники

5

Кока-кола

2

Пиво

4

Хлеб

...

...

Пример транзакционной базы данных в форме списка, содержащего перечень покупок клиентов магазина, приведен в табл. 2.3.

Таблица 2.3 – Транзакционные данные в списочной форме (горизонтальный формат)

Id

Покупки

1

Хлеб, Кока-кола, Молоко

2

Пиво, Хлеб

3

Пиво, Кока-кола, Подгузники, Молоко

4

Пиво, Хлеб, Подгузники, Молоко

5

Кока-кола, Подгузники, Молоко

Также существует другой вид списочной формы, удобный для поиска ассоциаций. Для каждого продукта будем хранить список номеров транзакций, в которых он участвовал (см. табл. 2.4).

Таблица 2.4 – Пример списочной формы другого вида (вертикальный формат)

Продукт

Id

Хлеб

1, 2, 4

Кока-кола

1, 3, 5

Молоко

1, 3, 4, 5

Пиво

2, 3, 4

Подгузники

3, 4, 5

Тогда по количеству элементов в таком списке можно определить поддержку элемента в базе транзакционных данных. Под поддержкой (support) множества X на базе транзакций D понимается величина S(X), равная числу транзакций, содержащих все элементы из этого множества:

,

где |Z| означает мощность множества Z.

Для матричной формы, например, поддержка элемента равна сумме элементов соответствующего столбца бинарной матрицы.

Если элементы разбиты на категории и для каждой категории допустимо только одно значение, то транзакционные данные могут быть представлены в виде таблицы, где каждой транзакции соответствует одна запись (строка таблицы), а столбцы соответствуют категориям, например, табл. 2.5.

Таблица 2.5 – Транзакционные данные в табличной форме

Id

Наименование

№ поезда

Вагон

Масса, т

Пункт прибытия

23234

Сахар

102144

1

45

Орша

23235

Мука

102144

1

45

Орша

23236

Гречка

102144

2

90

Витебск

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]