Как я могу генерировать транзакционные синтетические данные?
Я работаю над правилами ассоциации, поэтому мне нужен набор транзакционных данных, который недоступен в хранилище 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