У меня есть данные data redundant. Итак, я хочу удалить избыточный элемент, по уникальному коду, тогда у меня есть эти данные, такие как this. Затем я пытаюсь получить правила с помощью arules.Arules получает 0 правил для априорного алгоритма, но почему?
library(arules)
library(qpcR)
data<- read.csv("Book1.csv", header=TRUE)
b<-sapply(1:ncol(data), function(x) unique(data[,x]))
b<-lapply(b,as.data.frame)
a<-list()
databaru<-do.call(qpcR:::cbind.na, lapply(b, as.vector))
databaru[]<-lapply(databaru,as.factor)
colnames(databaru)<-colnames(data)
rules<-apriori(databaru, parameter=list(supp=0.0016, conf=0.1))
inspect(rules)
Тогда, когда я пытаюсь запустить его, я получил 0 правила, я уверен, что, прежде чем я извлекал он избыточный элемент каждого столбец, я получил много правил, но, когда я пытаюсь запустить код и удалить код удаление избыточного элемента, я получил 0 правило тоже .. (избыточно: я использую код «уникальный») Затем я пробую поддержку и уверенность, давая более низкое значение, но я до сих пор не получил его.
Apriori
Parameter specification:
confidence minval smax arem aval originalSupport support minlen maxlen target ext
0.1 0.1 1 none FALSE TRUE 0.0016 1 10 rules FALSE
Algorithmic control:
filter tree heap memopt load sort verbose
0.1 TRUE TRUE FALSE TRUE 2 TRUE
Absolute minimum support count: 4
set item appearances ...[0 item(s)] done [0.00s].
set transactions ...[34440 item(s), 2561 transaction(s)] done [0.02s].
sorting and recoding items ... [0 item(s)] done [0.00s].
creating transaction tree ... done [0.00s].
checking subsets of size 1 done [0.00s].
writing ... [0 rule(s)] done [0.00s].
creating S4 object ... done [0.00s].
Что мне делать? что не так? что случилось? Большое вам спасибо за помощь
Думаю, по крайней мере ваш 'as.factor' является виноватым шагом (если не другим). Для каждого столбца коды будут закодированы с разными значениями. Я бы либо точные возможные уровни в вызове, либо - более простые - сохранял необработанные значения. –
Я не могу делать бегущие арулы, если я не изменил его на коэффициент. И что же мне делать? потому что, когда я удаляю его, он дает ошибку, потому что я должен дискретировать его. Но как? потому что мои данные целые, но они не для переменной cotinous, они ID. – ILoveThisName
Вы можете начать сначала извлекать все уникальные значения, например, с помощью 'levels <- unique (unlist (databaru))' и использовать этот вектор при создании фактора: 'lapply (databaru, as.factor, levels = levels)' (not если вы не предоставите некоторые данные для тестирования) –