Ошибка при попытке таргетинга в правилах (данные в формате веб-адресов)

Я успешно импортировал свои данные в R как транзакции, но когда я пытаюсь настроить таргетинг на определенный веб-сайт, я получаю эту ошибку:

Ошибка в методе asMethod(object): FACEBOOK.COM — метка неизвестного элемента.

Есть ли причина, по которой это может происходить? Вот фрагмент кода:

target.conf80 = apriori(trans,
parameter = list(supp=.002,conf=.8),
appearance = list(default="lhs",rhs = "FACEBOOK.COM"),
control = list(verbose = F))
target.conf80 = sort(target.conf80,decreasing=TRUE,by="confidence")
inspect(target.conf80[1:10])

Спасибо!

Вот как выглядят транзакции:

1 {V1=Google,                                  
   V2=Google Web Search,                       
   V3=FACEBOOK.COM}                           1
2 {V1=FACEBOOK.COM,                            
   V2=MCAFEE.COM,                              
   V3=7EER.NET,                                
   V4=Google}                                 2
3 {V1=MCAFEE.COM,                              

person IRI_Tyler    schedule 02.06.2015    source источник


Ответы (2)


Проблема заключается в том, как вы читаете/преобразовываете данные в транзакции. Транзакции должны выглядеть так:

1 {Google,                                  
   Google Web Search,                       
   FACEBOOK.COM}                           1
2 {FACEBOOK.COM,                            
   MCAFEE.COM,                              
   7EER.NET,                                
   Google}                                 2
 3 {MCAFEE.COM,
    ...

Без V1, V2 и т. д. В ваших транзакциях V1=Google и V4=Google — разные элементы.

person Michael Hahsler    schedule 21.08.2015
comment
Как можно избавиться от V1, V2, V3, ...? Вы получаете это, когда запускаете этот код... data <- as(data, 'transactions') и ваши данные представляют собой фрейм данных. - person Gilbert; 04.11.2016

Ошибка as(data, 'transactions') из фреймов данных

Я предполагаю, что набор данных был преобразован следующим образом...data <- as(data, 'transactions'). Если вы запустите этот код без каких-либо манипуляций с вашими данными, вы получите эти V1, V2, ....

Очистка данных перед транзакциями

Я хочу указать, как манипулировать данными, чтобы они были готовы к read.transctions(). После импорта ваших данных в R вы хотите преобразовать свой фрейм данных в матрицу, например... d.matrix <- as.matrix(df), вы хотите удалить все заголовки, если так получилось, что у вас есть заголовки; colnames(d.matrix) <- NULL. Теперь у вас нет заголовков. После этого вы хотите ....

write.table(x = d.matrix, 
      file = 'clean_data.csv',
      sep = ',',
      col.names = FALSE, 
      row.names = FALSE)

Наконец, вы хотите импортировать данные как транзакцию, например...

data <- read.transactions('clean_data.csv',
                           format = 'basket',
                           sep = ',',
                           rm.duplicates = TRUE)

Теперь у вас есть набор данных без V1, V2, V3, ... и без идентификаторов строк.

person Gilbert    schedule 04.11.2016