Как я могу генерировать транзакционные синтетические данные?

Я работаю над правилами ассоциации, поэтому мне нужен набор транзакционных данных, который недоступен в хранилище UCI, поэтому мне нужно генерировать транзакционные данные. Транзакционные данные - это набор транзакций, и каждая транзакция имеет поднабор элементов. Продовольственные данные являются примером транзакционной базы данных. Пусть D - транзакционная база данных, а T - транзакции t={t1,t2,t3 ...... tn}, а I - набор элементов I={i1,i2,i3, ..... im} тогда транзакционные данные выглядят как

Предметы TID
001 i1, i2, i5
002 i5, i6, i8, i10
003 i1, i4
004 i6, i4, i8
Спасибо

1 ответ

Вот приложение с открытым исходным кодом, которое использует фокусник пакета R для генерации транзакционных данных.

Исходя из вашего определения, похоже, что вы пытаетесь создать двумерный массив. В JavaScript вы можете сделать что-то вроде этого:

var t = 5, d = [], r = 10, s = 10; 
for(var i=0; i<t; i++){
    d.push([]);
    for(var j=0; j<Math.random()*r; j++){
        d[i].push("i"+Math.floor(Math.random()*s))
    }
}

Здесь мы позволяем t быть количество транзакций, d быть двумерным массивом транзакций, r быть максимальным количеством транзакций в строке i а также s быть максимальным значением некоторого числа в строке (i+someNumber). Выполнение вышеуказанного и распечатка d (console.log(d)) может дать вам что-то вроде этого:

0 i3, i8
1 i5, i6, i8
2 i1, i2, i5
3 i3, i8 
4 i9, i1, i7, i3, i5
Другие вопросы по тегам