Я хочу применить алгоритм Apriori к набору данных розничной торговли (данные о корзине из розничного магазина). Он имеет данные в виде: -
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
30 31 32
33 34 35
36 37 38 39 40 41 42 43 44 45 46
38 39 47 48
38 39 48 49 50 51 52 53 54 55 56 57 58
32 41 59 60 61 62
3 39 48
Итак, чтобы использовать алгоритм Apriori, мне нужны данные в виде списка списков Python в массив Numpy в виде: -
Column Names as 0 1 2 3 4 5 6 7 8 9 10........
Набор данных как:
0 1 2 3 4 5 6 7 8 9 10 .........30 31 32 33 34 35....
1 1 1 1 1 1 1 1 1 1 1...........0 0 0 0 0 0...
0 0 0 0 0 0 0 0 0 0 0...........1 1 1 0 0 0..
and so on..
Для этого я пытаюсь использовать Transaction Encoder: -
dataset = pd.read_csv('retail.dat', header=None)
from mlxtend.preprocessing import TransactionEncoder
transactionEncoder = TransactionEncoder()
dataset = transactionEncoder.fit(dataset).transform(dataset)
dataset.astype('int')
print(dataset)
Но я получаю ошибку: -
TypeError: 'int' object is not iterable
Я также хочу прикрепить имена столбцов как 0 1 2 .... к вновь сформированному набору данных, но print(transactionEncoder.columns_)
не дает допустимых столбцов. Пожалуйста, расскажите, в чем может быть проблема и как правильно применить Transaction Encoder к этому набору данных ...