Cerca articolo o scritps su sastgroup.com
es: banca sella

Discuti il tutorial sul forum !

Algoritmo a priori (parte 1)

Obiettivo
In questo articolo tratteremo come implementare l'algoritmo a priori in java per trovare coppie di articoli (prodotti)
che hanno alta frequenza tra un insieme di prodotti venduti.

L'algoritmo a priori
Questo algoritmo e' utilizzato per trovare coppie di insiemi frequenti in un insiemi di oggetti che possono essere
qualsiasi cosa. Ad esempio se analizziamo i carrelli della spesa per capire quali prodotti vengono comprati insieme,
questa informazione viene usata per posizionare i prodotti sugli scaffali ed ottimizzare i percorsi fatti.

Altre applicazioni del M-B problem:
Basket:documenti ,articoli: parole (frasi e concetti in relazione)
Basket: frasi, articoli: documenti (plagio, mirror sites su web)

Risultati del M-B Mining
Association Rules: regole del tipo se un cliente compra X1,X2,…,Xn allora compra anche Y con alta probabilita’. La probabilita’ minima che noi pretendiamo si chiama confidenza. Richiediamo che questa sia decisamente piu’ alta di quella attesa.
Ad esempio la regola latte,burro=>pane potrebbe derivare dal fatto che quasi tutti comprano pane. Mentre la regola pannolini=>birra vale con confidenza molto piu’ alta della percentuale di clienti che compra birra.

Algoritmo A-Priori
Si procede a livelli:
Read( s ); /*soglia di supporto
L1:= {a | a appare con frequenza >= s };
L2:= {{a,b} | a,b L1,{a,b} appare con frequenza >= s };
L3:= {{a,b,c} | {a,b}, {a,c}, {b,c}, L2 {a,b,c} appare con frequenza >= s };
ETC….

Il database
Il database a cui ci riferiremo è oracle versione 9.

Il programma java è nella seconda parte.

La nostra tabella è cosi composta:

-- Create table
create table SYSTEM.ACQUISTI
(
TRANSID VARCHAR2(6),
ITEMS VARCHAR2(20),
MESE VARCHAR2(2),
ANNO VARCHAR2(2)
)
tablespace SYSTEM
pctfree 10
pctused 40
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);

-- Create table
create table SYSTEM.CATEGORIE
(
NOMECAT VARCHAR2(20),
CODICECAT VARCHAR2(10)
)
tablespace SYSTEM
pctfree 10
pctused 40
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);

-- Create table
create table SYSTEM.PRODOTTI
(
NOME VARCHAR2(20),
MARCA VARCHAR2(20),
MODELLO VARCHAR2(30),
QUANTITA NUMBER,
CODICECATEGORIA VARCHAR2(10),
CODICESOTTOCATEGORIA VARCHAR2(10),
IMMAGINE VARCHAR2(40),
CODICE VARCHAR2(10),
PREZZO NUMBER
)
tablespace SYSTEM
pctfree 10
pctused 40
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);

-- Create table
create table SYSTEM.SOTTOCATEGORIE
(
NOMESOTTOCATEGORIA VARCHAR2(20),
CODICESOTTOCATEGORIA VARCHAR2(10),
CODICECATEGORIA VARCHAR2(20)
)
tablespace SYSTEM
pctfree 10
pctused 40
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);

Links
http://alpha.dmi.unict.it/DB2Vecchio/Datamining/dm-01-14-10-04.ppt

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • blinkbits
  • BlinkList
  • blogmarks
  • co.mments
  • del.icio.us
  • De.lirio.us
  • digg
  • Fark
  • feedmelinks
  • Furl
  • LinkaGoGo
  • Ma.gnolia
  • NewsVine
  • Reddit
  • scuttle
  • Smarking
  • Spurl
  • YahooMyWeb
  • DZone
  • Internetmedia
  • Snap2r
  • Technorati


Correlati


Commenti

Scrivi un commento





Commenti recenti:


Ultimi dal forum