Я пытаюсь реализовать apriori algorithm
в моей базе данных по r. как я это делаю, я понял, что алгоритм apriori возвращает объект s4. на самом деле это не проблема, если я не хотел писать результаты в базу данных.преобразование объекта s4 в data frame или list issue в r
Я начал писать свой код r следующим образом; сначала я загрузить пакеты Сопутствующих моего анализ
library(DBI)
library(rJava)
library(RJDBC)
library(Matrix)
library(grid)
library(arules)
library(arulesViz)
getwd()
setwd("D:/R")
getwd()
jdbcDriver<-JDBC(driverClass = "oracle.jdbc.OracleDriver",classPath = "D:/R/ojdbc6.jar")
jdbcConnection<-dbConnect(jdbcDriver,"jdbc:oracle:ip:port","user","pass")
ana_sorgu<- dbGetQuery(jdbcConnection,"SELECT action_id, product_cat FROM table")
urunler<-dbGetQuery(jdbcConnection,"select distinct product_cat from product_cat")
i <- split(ana_sorgu$PRODUCT_CAT,ana_sorgu$ACTION_ID)
txn <- as(i, "transactions")
sorgu2<-as.list(urunler$PRODUCT_CAT)
for(row2 in 1:nrow(urunler)) {
basket_rules<-apriori(data=txn, parameter=list(supp=0.001,conf = 0.4), appearance = list(default="lhs",rhs=sorgu2[[row2]]))
deneme<-inspect(basket_rules)#i guess that something has to be changed to write here releated to next for loop but i can't
for(row in 1:length(basket_rules)) {
jdbcDriver2<-JDBC(driverClass = "oracle.jdbc.OracleDriver",classPath = "D:/R/ojdbc6.jar", identifier.quote = "\"")
jdbcConnection2<-dbConnect(jdbcDriver,"jdbc:oracle:ip:port","user","pass")
sorgu <- paste0("insert into market_basket_analysis_3 (lhs,rhs,support,confidence,lift) values ('",deneme$lhs[[row]],"','",deneme$rhs[[row]],"','",deneme$support[[row]],"','",deneme$confidence[[row]],"','",deneme$lift[[row]],"')")
print(sorgu)
result<-dbSendUpdate(jdbcConnection2,sorgu)
dbDisconnect(jdbcConnection2)
}}
я создал переменный, называемую sorgu2 сделать мой анализ категории dynamiccally продукции по категориям продукции, так что я реализован Urunler $ PRODUCT_CAT в as.list(). Поэтому я могу используйте его в rhs, чтобы в первом для цикла.
Наконец, когда я выполняю эту треску, она возвращается;
Apriori
Parameter specification:
confidence minval smax arem aval originalSupport support minlen maxlen target ext
0.4 0.1 1 none FALSE TRUE 0.001 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: 854
set item appearances ...[1 item(s)] done [0.00s].
set transactions ...[793 item(s), 854614 transaction(s)] done [0.34s].
sorting and recoding items ... [350 item(s)] done [0.05s].
creating transaction tree ... done [0.99s].
checking subsets of size 1 2 3 4 done [0.20s].
writing ... [0 rule(s)] done [0.00s].
creating S4 object ... done [0.12s].
[1] "insert into market_basket_analysis_3 (lhs,rhs,support,confidence,lift) values ('','','','','')"
[1] "insert into market_basket_analysis_3 (lhs,rhs,support,confidence,lift) values ('','','','','')"
Apriori
Parameter specification:
confidence minval smax arem aval originalSupport support minlen maxlen target ext
0.4 0.1 1 none FALSE TRUE 0.001 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: 854
set item appearances ...[1 item(s)] done [0.00s].
set transactions ...[793 item(s), 854614 transaction(s)] done [0.33s].
sorting and recoding items ... [350 item(s)] done [0.05s].
creating transaction tree ... done [0.98s].
checking subsets of size 1 2 3 4 done [0.20s].
writing ... [0 rule(s)] done [0.00s].
creating S4 object ... done [0.12s].
[1] "insert into market_basket_analysis_3 (lhs,rhs,support,confidence,lift) values ('','','','','')"
[1] "insert into market_basket_analysis_3 (lhs,rhs,support,confidence,lift) values ('','','','','')"
Error in asMethod(object) :
NISASTA PATATES ALGR2 is an unknown item label
, где я сделал ошибку? заранее спасибо.
Это много кода, небольших пробелов и воспроизводимости. Пожалуйста, подумайте о том, чтобы указать проблему. –