In this work, my colleagues and I have applied a technique of machine learning, classification, to marketing: when a business has to give coupons and to whom, according to the features of the activity and the attitudes of the customers.
I Graph Database: analisi del comportamento degli utentiThinkOpen
Roberto Grandi, esperto di Data Analytics & Business Intelligence, presenta il workshop “I Graph Database: analisi del comportamento degli utenti”.
Nell’incontro Roberto esplora il mondo dei graph database, strumenti poco conosciuti ma molto intuitivi e potenti per rappresentare le relazioni online in modo del tutto naturale.
Nella presentazione viene illustrato come è cambiato il concetto di relazione applicandolo ad uno use case specifico: l'analisi del comportamento dell'utente e dei suoi gusti. Saper riconoscere la propensione e determinare con accuratezza la prossima mossa dell’user è fondamentale per allocare le risorse corrette dal punto di vista del business.
Durante una sessione pratica vengono mostrati i costrutti base del linguaggio Cypher con Neo4J e alcuni algoritmi utili a caratterizzare il comportamento del cliente.
CQRS, ovvero: 2 stack, uno per "leggere" e l'altro per "scrivere". Se per "scrivere" abbiamo l'imbarazzo della scelta (Domain Model, Command, Event Sourcing, ...) per leggere, invece, apparentemente c'è poco da dire. "Apparentemente", appunto. Parliamone :-)
Lean Web Solutions with WP [versione italiana]Carlo Beschi
Slide della mia presentazione al Wordcamp Milano 2011 su "Soluzioni web Lean con WordPress"
(http://wordcamp.it/milano2011/thank-god-its-friday-wordcamp-programma-del-27-maggio-2011/)
Manuel Toniato e Simone Caretta: Migliorare le performance di ricerca con Ela...Meet Magento Italy
Per un utente di un sito eCommerce la “buca” di ricerca è lo strumento preferenziale per l’inizio dell’esperienza di acquisto. Allo stesso tempo per il venditore può diventare un canale privilegiato per veicolare messaggi mirati. In questo talk Manuel e Simone analizzeranno la possibilità di integrare Magento con il motore di ricerca open source Elasticsearch (utilizzato fra gli altri da github, stackoverflow e mozilla). Ci mostreranno quali sono le peculiarità della soluzione rispetto a quelle offerte “out of the box” da Magento CE, parleranno brevemente dell’ecosistema di Elasticsearch, delle integrazioni disponibili e delle peculiarità rispetto ad altri full text search engine come Solr. Esamineranno, in particolare, una soluzione che utilizza Elasticsearch come engine per le collection Magento evidenziandone vantaggi e criticità.
Tecniche Di Troubleshooting Nei Sistemi DistribuitiK-Tech Formazione
Questo seminario sulle tecniche di troubleshooting fa rientra nella collaborazione fra K-Tech (http://www.k-tech.it/) e la Facoltà di Ingegneria dell’Università Roma TRE, nell’ambito delle attività della Consulta.
Il seminario presenta come risolvere problemi tipici dei sistemi distribuiti che avvengono in produzione. Insieme agli esempi pratici si presenta anche un metodo per il troubleshooting che assicura una maniera veloce ed efficace per la determinazione dei problemi ed in generale per la gestione delle performance applicative. Il metodo si basa sulle evidenze del monitoraggio e pone l'accento sulla qualità delle informazioni raccolte in produzione, il fattore più determinante, assieme al tempo, per tutto il processo di troubleshooting. Questo materiale è preso da un corso di più giorni offerto da K-Tech s.r.l. Il corso ha lo scopo di mostrare agli Application Server Administrator (ASA) cosa fare per rendere possibile la risoluzione dei problemi in breve tempo e cosa evitare attraverso il confronto dei risultati di queste azioni. Gli esempi pratici mostrano come applicare correttamente il metodo e selezionare gli strumenti più adatti in ogni singolo caso.
Per conoscere le iniziative di K-Tech seguiteci sul nostro sito: http://www.k-tech.it/
I Graph Database: analisi del comportamento degli utentiThinkOpen
Roberto Grandi, esperto di Data Analytics & Business Intelligence, presenta il workshop “I Graph Database: analisi del comportamento degli utenti”.
Nell’incontro Roberto esplora il mondo dei graph database, strumenti poco conosciuti ma molto intuitivi e potenti per rappresentare le relazioni online in modo del tutto naturale.
Nella presentazione viene illustrato come è cambiato il concetto di relazione applicandolo ad uno use case specifico: l'analisi del comportamento dell'utente e dei suoi gusti. Saper riconoscere la propensione e determinare con accuratezza la prossima mossa dell’user è fondamentale per allocare le risorse corrette dal punto di vista del business.
Durante una sessione pratica vengono mostrati i costrutti base del linguaggio Cypher con Neo4J e alcuni algoritmi utili a caratterizzare il comportamento del cliente.
CQRS, ovvero: 2 stack, uno per "leggere" e l'altro per "scrivere". Se per "scrivere" abbiamo l'imbarazzo della scelta (Domain Model, Command, Event Sourcing, ...) per leggere, invece, apparentemente c'è poco da dire. "Apparentemente", appunto. Parliamone :-)
Lean Web Solutions with WP [versione italiana]Carlo Beschi
Slide della mia presentazione al Wordcamp Milano 2011 su "Soluzioni web Lean con WordPress"
(http://wordcamp.it/milano2011/thank-god-its-friday-wordcamp-programma-del-27-maggio-2011/)
Manuel Toniato e Simone Caretta: Migliorare le performance di ricerca con Ela...Meet Magento Italy
Per un utente di un sito eCommerce la “buca” di ricerca è lo strumento preferenziale per l’inizio dell’esperienza di acquisto. Allo stesso tempo per il venditore può diventare un canale privilegiato per veicolare messaggi mirati. In questo talk Manuel e Simone analizzeranno la possibilità di integrare Magento con il motore di ricerca open source Elasticsearch (utilizzato fra gli altri da github, stackoverflow e mozilla). Ci mostreranno quali sono le peculiarità della soluzione rispetto a quelle offerte “out of the box” da Magento CE, parleranno brevemente dell’ecosistema di Elasticsearch, delle integrazioni disponibili e delle peculiarità rispetto ad altri full text search engine come Solr. Esamineranno, in particolare, una soluzione che utilizza Elasticsearch come engine per le collection Magento evidenziandone vantaggi e criticità.
Tecniche Di Troubleshooting Nei Sistemi DistribuitiK-Tech Formazione
Questo seminario sulle tecniche di troubleshooting fa rientra nella collaborazione fra K-Tech (http://www.k-tech.it/) e la Facoltà di Ingegneria dell’Università Roma TRE, nell’ambito delle attività della Consulta.
Il seminario presenta come risolvere problemi tipici dei sistemi distribuiti che avvengono in produzione. Insieme agli esempi pratici si presenta anche un metodo per il troubleshooting che assicura una maniera veloce ed efficace per la determinazione dei problemi ed in generale per la gestione delle performance applicative. Il metodo si basa sulle evidenze del monitoraggio e pone l'accento sulla qualità delle informazioni raccolte in produzione, il fattore più determinante, assieme al tempo, per tutto il processo di troubleshooting. Questo materiale è preso da un corso di più giorni offerto da K-Tech s.r.l. Il corso ha lo scopo di mostrare agli Application Server Administrator (ASA) cosa fare per rendere possibile la risoluzione dei problemi in breve tempo e cosa evitare attraverso il confronto dei risultati di queste azioni. Gli esempi pratici mostrano come applicare correttamente il metodo e selezionare gli strumenti più adatti in ogni singolo caso.
Per conoscere le iniziative di K-Tech seguiteci sul nostro sito: http://www.k-tech.it/
Silver Lake Analytics, soluzione Business Intelligence di Esox InformaticaMaurizio Anselmi
Soluzione a supporto delle decisioni strategiche aziendali: approcio preliminare e successiva illustrazione della soluzione software di Business Intelligence basata sulla piattaforma aperta Pentaho.
Introduzione ai Big Data e alla scienza dei dati - Big DataVincenzo Manzoni
Lezione 5 del corso di analisi dati tenuto al Palazzolo Digital Hub (Palazzolo sull'Oglio, Brescia) nel 2014. In questa quinta e ultima lezione si introducono le tecnologie dei Big Data.
Introduzione al Domain Driven Design (DDD)DotNetMarche
In questa sessione si approfondirà il concetto di Domain Driven Design, un principio di progettazione che può essere visto come una “forma-mentis” per aiutare a concepire e modellare applicazioni enterprise che fanno un forte uso del Domain Model. Questa metodologia, introdotta da Eric Evans, mette in risalto il dominio applicativo di un progetto, costituendo quindi il collante tra il modello analitico e il modello implementativo e trovando la sua naturale applicazione in ambienti di sviluppo agili come Extreme Programming. Come completamento della sessione verranno esaminate alcune tecniche di Layering e pattern architetturali che ben si sposano con questa tecnica.
Digital 1nn0vation saturday pn 2019 - ML.NETMarco Zamana
Alla scoperta del framework ML.NET e dei suoi concetti importanti. Scopriamo la sua malleabilità e Il come è integrabile all'interno di una applicazione .NET già esistente.
Pimcore è lo strumento con cui aiutiamo le organizzazioni nel processo di gestione delle informazioni di prodotto. Ma non parleremo di PIM. Guarderemo invece sotto il cofano, quali strumenti pronti all'uso offre. In particolare Pimcore offre CRUD, API GraphQL, Face Detection, Real-time image processing sono a disposizione senza dover reinventare la ruota.
Product Information Management. È l’insieme di processi (e tecnologie) volti alla gestione delle informazioni di prodotto che lo descrivono dal punto di vista del cliente.
Dove ci aiuta Pimcore.
- Creazione di strutture informative ad oggetti
- Creazione di strutture relazionali articolate
- Definizione di attributi di prodotto complessi
- Supporto alla traduzione/localizzazione dei contenuti
- Gestione dei flussi di lavoro e approvazione (workflow)
- Integrazione con sistemi informativi aziendali
- Pubblicazione multicanale
Vantaggi di Pimcore
- Unica fonte di verità
- Eliminazione dei silos aziendali
- Consolidamento dei dati
- Qualità del dato
- Gestione unica, distribuzione multipla
- Riduzione del time-to-market
Business Intelligence e Business Analytics sono termini che ricorrono ormai quotidianemente. Cosa significano? Che valore portano in una azienda? Come si crea una soluzione di Business Intelligece e di Business Analytics? Che strumenti mette a disposizione la piattaforma Microsoft? In questa sessione andremo ad introdurre tutti gli attori, gli strumenti e le tecnologie che concorrono a realizzare tali soluzioni, vendendone alcune "dal vivo" per capire come si usano ed il grande valore aggiunto che, in una società sempre più affamata di informazioni, ma ricca solo di dati, possono portare.
Come funzionano i Retrieval-Augmented Generators (RAG) e quanto i database vettoriali sono fondamentali per poter memorizzare e utilizzare le sorgenti dati aziendali e personali?
Introduzione ai Big Data e alla scienza dei dati - Exploratory Data AnalysisVincenzo Manzoni
Lezione 2 del corso di analisi dati tenuto al Palazzolo Digital Hub (Palazzolo sull'Oglio, Brescia) nel 2014. Seconda lezione dedicata all'Exploratory Data Analysis.
Processo EVO: http://www.sketchin.ch/it/blog/design/evo-evolutive-experience-design.html
Presentazione di lancio del nuovo processo di evolutive user experience design effettuata al Method Camp 2011 di Lugano.
La risposta di Fondazione Aldini Valeriani per mixare proposte tecniche con le più avanzate tecnologie. Un laboratorio per progettare, creare e sviluppare. Un'officina per prototipare e collaudare. Una rete di esperienze, di eccellenze e abilità territoriali fanno di LabTECH un polo di connessione tra i più importanti istituti di ricerca e gli enti di certificazione.
Classificazione di documenti con Spark ML
L’avvento dei Big Data ha introdotto dei framework in grado di gestire l’elaborazione di grandi quantità di dati attraverso il calcolo distribuito. Parallelizzare l’elaborazione attraverso l’architettura Hadoop migliora le prestazioni dei modelli. Con il linguaggio Scala, utilizzato con il framework Apache Spark, si ottengono risultati molto performanti. La libreria Spark ML mette a disposizione molti modelli di Machine Learning (supervised e unsupervised). Grazie a questa libreria è possibile applicare delle tecniche di Ensemble per la classificazione di documenti.
Silver Lake Analytics, soluzione Business Intelligence di Esox InformaticaMaurizio Anselmi
Soluzione a supporto delle decisioni strategiche aziendali: approcio preliminare e successiva illustrazione della soluzione software di Business Intelligence basata sulla piattaforma aperta Pentaho.
Introduzione ai Big Data e alla scienza dei dati - Big DataVincenzo Manzoni
Lezione 5 del corso di analisi dati tenuto al Palazzolo Digital Hub (Palazzolo sull'Oglio, Brescia) nel 2014. In questa quinta e ultima lezione si introducono le tecnologie dei Big Data.
Introduzione al Domain Driven Design (DDD)DotNetMarche
In questa sessione si approfondirà il concetto di Domain Driven Design, un principio di progettazione che può essere visto come una “forma-mentis” per aiutare a concepire e modellare applicazioni enterprise che fanno un forte uso del Domain Model. Questa metodologia, introdotta da Eric Evans, mette in risalto il dominio applicativo di un progetto, costituendo quindi il collante tra il modello analitico e il modello implementativo e trovando la sua naturale applicazione in ambienti di sviluppo agili come Extreme Programming. Come completamento della sessione verranno esaminate alcune tecniche di Layering e pattern architetturali che ben si sposano con questa tecnica.
Digital 1nn0vation saturday pn 2019 - ML.NETMarco Zamana
Alla scoperta del framework ML.NET e dei suoi concetti importanti. Scopriamo la sua malleabilità e Il come è integrabile all'interno di una applicazione .NET già esistente.
Pimcore è lo strumento con cui aiutiamo le organizzazioni nel processo di gestione delle informazioni di prodotto. Ma non parleremo di PIM. Guarderemo invece sotto il cofano, quali strumenti pronti all'uso offre. In particolare Pimcore offre CRUD, API GraphQL, Face Detection, Real-time image processing sono a disposizione senza dover reinventare la ruota.
Product Information Management. È l’insieme di processi (e tecnologie) volti alla gestione delle informazioni di prodotto che lo descrivono dal punto di vista del cliente.
Dove ci aiuta Pimcore.
- Creazione di strutture informative ad oggetti
- Creazione di strutture relazionali articolate
- Definizione di attributi di prodotto complessi
- Supporto alla traduzione/localizzazione dei contenuti
- Gestione dei flussi di lavoro e approvazione (workflow)
- Integrazione con sistemi informativi aziendali
- Pubblicazione multicanale
Vantaggi di Pimcore
- Unica fonte di verità
- Eliminazione dei silos aziendali
- Consolidamento dei dati
- Qualità del dato
- Gestione unica, distribuzione multipla
- Riduzione del time-to-market
Business Intelligence e Business Analytics sono termini che ricorrono ormai quotidianemente. Cosa significano? Che valore portano in una azienda? Come si crea una soluzione di Business Intelligece e di Business Analytics? Che strumenti mette a disposizione la piattaforma Microsoft? In questa sessione andremo ad introdurre tutti gli attori, gli strumenti e le tecnologie che concorrono a realizzare tali soluzioni, vendendone alcune "dal vivo" per capire come si usano ed il grande valore aggiunto che, in una società sempre più affamata di informazioni, ma ricca solo di dati, possono portare.
Come funzionano i Retrieval-Augmented Generators (RAG) e quanto i database vettoriali sono fondamentali per poter memorizzare e utilizzare le sorgenti dati aziendali e personali?
Introduzione ai Big Data e alla scienza dei dati - Exploratory Data AnalysisVincenzo Manzoni
Lezione 2 del corso di analisi dati tenuto al Palazzolo Digital Hub (Palazzolo sull'Oglio, Brescia) nel 2014. Seconda lezione dedicata all'Exploratory Data Analysis.
Processo EVO: http://www.sketchin.ch/it/blog/design/evo-evolutive-experience-design.html
Presentazione di lancio del nuovo processo di evolutive user experience design effettuata al Method Camp 2011 di Lugano.
La risposta di Fondazione Aldini Valeriani per mixare proposte tecniche con le più avanzate tecnologie. Un laboratorio per progettare, creare e sviluppare. Un'officina per prototipare e collaudare. Una rete di esperienze, di eccellenze e abilità territoriali fanno di LabTECH un polo di connessione tra i più importanti istituti di ricerca e gli enti di certificazione.
Classificazione di documenti con Spark ML
L’avvento dei Big Data ha introdotto dei framework in grado di gestire l’elaborazione di grandi quantità di dati attraverso il calcolo distribuito. Parallelizzare l’elaborazione attraverso l’architettura Hadoop migliora le prestazioni dei modelli. Con il linguaggio Scala, utilizzato con il framework Apache Spark, si ottengono risultati molto performanti. La libreria Spark ML mette a disposizione molti modelli di Machine Learning (supervised e unsupervised). Grazie a questa libreria è possibile applicare delle tecniche di Ensemble per la classificazione di documenti.
2. YELP
Cos’ è?
Un social network
Una guida online dove le persone si scambiano consigli e pareri circa luoghi visitati o attività svolte.
La parola chiave inYelp è REVIEW.
✓ Yelp è interessato ad intrattenere rapporti con la comunità scientifica.
Mette a disposizione dati su cui si possono applicare algoritmi di data mining, pianificazione
economiche o urbanistiche, machine learning.
3. DATASET
Il dataset si presenta come file json distinti. Ognuno rappresenta una certa categoria
Utenti [1milione]
Business [144 mila] dislocati in 11 città
Recensioni [+4 milioni]
Ed altre informazioni…
Tips ed immagini
Non pertinenti al nostro studio.
4. UTENTI
{
" user_id" : "id crittografato dell’utente",
" name" : "nome utente",
" review_count" : numero di recensioni,
" yelping_since" : data nel formato AAAA -MM -DD,
" friends" : ["un array di id crittografati degli utenti amici all’utente corrente"],
" useful" : "numero di voti useful rilasciati dall’utente",
" funny" : "numero di voti funny rilasciati dall’utente",
" cool" : "numero di voti cool rilasciati dall’utente",
" fans" : "numero di fan dell'utente corrente",
" elite" : [" array di anni che l'utente corrente stato considerato elite"],
" average_stars" : votazione media rilasciata in floating point, ad esempio 4.31,
" compliment_... " : numero di complimenti … ricevuti dall’utente
}
5. BUSINESS
{
" business_id " : "id crittografato del business ",
" name " : " nome del business ",
" neighborhood " : " vicinato ",
" city " : " città ",
" state " : " stato ", //altre info relative alla localizzazione geografica
" stars " : voto sotto forma di stelline arrotondate a half -stars ,
" review_count " : numero di review ,
" is_open " : 0/1 ( chiuso / aperto ),
" attributes " : ["array di stringhe : ogni elemento e un attributo"],
" categories " : ["array di stringhe di categorie a cui il business corrente e associato"],
" hours " : ["array di stringhe che riportano gli orari di apertura"],
" type " : " business "
}
6. REVIEW
{
" review_id ": "id crittografato della review",
" user_id ": "id crittografato dell 'utente ",
" business_id ": "id crittografato del business ",
" stars ": voto sotto forma di stelline , arrotondate a half -stars ,
" date ": "data nel formato AAAA -MM -DD",
" text ": "testo della review",
" useful ": numero di voti che hanno ritenuto la review utile ,
" funny ": numero di voti che hanno ritenuto la review divertente ,
" cool ": numero di voti che hanno ritenuto la review cool ,
" type ": "review"
}
7. IL PROBLEMA
QUANDO e A CHI dare un coupon promozionale.
Fornire uno strumento per valutare
quando sia più propizio dare un coupon e
se esistono degli utenti interessati a sconti che farebbero fruttare l'investimento.
8. LE SFIDE AFFRONTATE
Dataset di Yelp
non è etichettato
File di gradi
dimensioni
Necessità
di individuare
un criterio di
etichettamento
9. 1. Filtrare e scomporre i business
Il filtro applicato ai business è relativo alla categoria (restaurant, pub, cafè, etc.)
Scomposizione in città
2. Scomporre le review in file di dimensioni minori
In funzione della città di appartenenza (inferita dal business associato)
3. Etichettare gli utenti
Criterio:
COUPON utenti che hanno scritto una review contenente le keyword coupon, voucher o koupon.
NON COUPON gli altri
PREPROCESSING ~ UTENTI
13. 1PREPROCESSING ~ BUSINESS
Dataset
business
etichettato
id_business {info business} january … december
Ex. jkqhwej-fwi {…} no … yes
× 12 valori di output
× classificazione multilabel non supportato da weka (necessità di meka)
id_business {info business} january
id_business {info business} …
id_business {info business} december
Ex. jkqhwej-fwi {…} january no
jkqhwej-fwi {…} …
jkqhwej-fwi {…} december yes
✓ 1 valori di output
✓ classificazione multivalue supportato da weka
14. 1PREPROCESSING ~ BUSINESS [PRIMO APPROCCIO]
Non
Coupon
Coupon
Etichettare i business.
Il dataset etichettato è costituito dalle
informazioni del business associate al
mese e alla classificazione.
✓ Dataset cresce di dimensione
✓ Unico valore di output da
produrre
Classi
18. PREPROCESSING ~ BUSINESS [SECONDO APPROCCIO]
Forse
Coupon
Non
Coupon
Coupon
Si passa da una classificazione
due valori ad una classificazione
a tre.
✓ Raffinamento della
classificazione
✓ Possibilità di estendere le
informazioni del business
21. PREPROCESSING ~ BUSINESS [SECONDO APPROCCIO]
Business COUPON:
business nei mesi con review
che contengono keyword
coupon, koupon o voucher
Business POSSIBILI coupon:
business nei mesi con review
con 1 o 5 stelle
Business NON coupon :
altri
22. id_business {info business} january
id_business {info business} …
id_business {info business} december
PREPROCESSING ~ BUSINESS [ULTERIORI TEST]
23. id_business {info business} january #review_per_month star_avg_per_month
id_business {info business} …
id_business {info business} december #review_per_month star_avg_per_month
YES business con review che contengono le keyword
MAYBE business nei mesi di picchi di minimo e massimo, in termini di affluenza
NO i rimanenti
YES business nei mesi di picchi di minimo e massimo, in termini di affluenza
NO i rimanenti
PREPROCESSING ~ BUSINESS [ULTERIORI TEST]
24. Per tutte le operazioni di preprocessing è stato impiegato il framework computazionale Fork/Join.
Task Reader
Gestione della lettura dalle delle review e il popolamento di due buffer in modo alternato.
Task Filter
Filtro delle review legate ad un singola città.
IMPLEMENTAZIONE
A B
26. DMACHINEYELPING ~ IL TOOL
Processo computazionale
1. Training
Apprendimento basato sul dataset generato
dalla fase di preprocessing.
2. Predizione
Classificazione di una nuova istanza fornita
dall’utente.
33. DWEKA
Waikato Environment for Knowledge Analysis, è un software per l'apprendimento automatico
sviluppato nell'università di Waikato in Nuova Zelanda.
Usa un formato particolare : ARFF
Descrive una lista di istanze che condividono un insieme di attributi.
Header
lista degli attributi con il relativo tipo
Dati
lista di istanze separate da a capo
@ relation <name>
@attribute x numeric
…
@data
34. DCLASSIFICATORI
“A computer program is said to learn from experience E with respect to some class of tasksT and performance
measure P, if its performance at tasks inT, as measured by P, improves with experience E. ”
Tom Mitchell. Machine Learning 1997
35. DSVM
Classe di macchine di apprendimento recentemente introdotte in letteratura.
Nella sua forma più semplice SVM è un iperpiano che separa un insieme di esempi positivi da un
insieme di esempi negativi con il massimo margine.
È un tipo di classificatore lineare.
Funzionano bene per problemi pratici, come la classificazione dei documenti e, più in generale, per i
problemi con molte variabili.
Migliore iperpiano? Quello che comporta la più grande separazione o margine tra le classi.
36. DSVM IN WEKA
Implementato tramite SMO (Sequential minimal optimization) di John Platt.
Problema di SVM: algoritmi lenti, specialmente per problemi molto grandi.
La risposta di Platt è stata SMO, che è
concettualmente semplice
facile da implementare
più veloce
scala meglio su problemi difficili.
37. DALBERI DI DECISIONE
Nodo interno Variabile
Arco Possibile valore per una proprietà
Foglia Il valore predetto per la variabile obiettivo a partire dai valori delle altre proprietà (classi)
✓ Robusti rispetto all'introduzione di feature irrilevanti
✓ Non variano a seguito di scaling
× Eccessiva crescita in profondità (overfitting)
38. DRANDOM FOREST
Metodo di ensemble learning
opera costruendo una foresta di alberi di decisione in fase di training e restituendo in output la classe che è moda
statistica delle classi dei singoli alberi.
Random forest mitiga il problema dell’eccessiva profondità.
Effettua training su parti diverse dello stesso dataset considerando ad ogni split nel processo di learning
un sottoinsieme random delle feature.
Costruisce piccoli insiemi di alberi poco correlati sulla base delle caratteristiche prese in considerazione.
39. DPARAMETRIVALUTATI
Percentuale di istanze correttamente classificate
Confronta il valore della classe specificato nel test set quello fornito in output dalla predizione.
Confusion matrix
Permette la visualizzazione delle performance di un algoritmo.
Predicted A Predicted B
118 12 Actual A
47 15 Actual B
#istanze = 192
#istanze classificate correttamente = 69%
40. DRISULTATI ~ A CHI?
Feature considerate: Review count, Friends, Useful, Fans, Èlite.
Classificatore: SMO
Training set: sia casi negativi che positivi [50K istanze].
Test set:
Yes No
50 21 Yes
0 111 No
Yes No
0 0 Yes
0 111 No
Solo casi negativiSia casi negativi che positivi
#istanze = 184
#istanze classificate correttamente = 89%
#istanze = 111
#istanze classificate correttamente = 100%
41. DRISULTATI ~ QUANDO? [PRIMO APPROCCIO]
Approccio a target: Ragazzi e Famiglie.
Feature [Ragazzi] HasTv, GoodForGroups e Music.
Feature [Famiglie] GoodForKids, BusinessParking e TableService.
Classificatori: SMO e Random Forest, con split del 80%
Training set: sia casi negativi che positivi [13K istanze].
44. DRISULTATI ~ QUANDO? [PRIMO APPROCCIO]
Yes No
885 363 Yes
338 860 No
Yes No
915 333 Yes
411 787 No
SMORandom Forest
#istanze = 2466
#istanze classificate correttamente = 71%
#istanze = 2466
#istanze classificate correttamente = 70%
FEATURES SELECTION
Feature BusinessParking,Ambience, GoodForMeal,WheelchairAccesible e #Review.
45. DRISULTATI ~ QUANDO? [SECONDO APPROCCIO]
Le classi diventano da {yes, no} a {yes, no, maybe}
Feature Feature Selection
Classificatori Random Forest e SMO, con split del 80%
Training set: sia casi negativi che positivi.
Yes No Maybe
832 129 278 Yes
99 521 98 No
269 168 233 Maybe
Yes No Maybe
977 262 0 Yes
112 606 0 No
384 286 0 Maybe
SMORandom Forest
#istanze = 2627
#istanze classificate correttamente = 60%
#istanze = 2627
#istanze classificate correttamente = 60%
46. Idea!
Introdurre la logica fuzzy per valutare
grado con cui dare un coupon a un utente
grado con cui è consigliato distribuire un coupon in un certo mese.
Dataset business – Alternativa
Testare la classificazione con approccio multi-label.
NLP
Condurre analisi di altra natura (ex. Sentiment Analysis)
SVILUPPI FUTURI
47. Assegnare coupon significa valutare diverse scelte di marketing e considerare le caratteristiche di un
locale.
Lo studio condotto ha portato a risultati
ottimi per la selezione di consumatori interessati ai coupon
positivi per la scelta del momento propizio in cui rilasciarli.
Limitazioni
dataset non etichettato
assenza di attributi discriminanti relativi ai business
CONCLUSIONI