10 domande sul Data Mining a Roberto Bello

Ho il piacere di iniziare questa nuova sezione dedicata alle interviste ad esperti, dei settori che tratto, facendo un pò di domande che riguardano il Data Mining a Roberto Bello.

Chi  è Roberto Bello ?

Roberto Bello - esperto di Data Mining
Laureato in Economia e Commercio con specializzazione in Ricerca Operativa – Esperto in Knowledge Mining e in linguaggi di programmazione Open Source

ICT Strategist del ClubTI di Milano (www.clubtimilano.net) – Ricercatore dell’Accademia Internazionale di Scienze Forensi (www.accademiascienzeforensi.it) – Perito (CTP) ed ex CTU (Consulente Tecnico di Ufficio) del Tribunale di Milano – Autore di pubblicazioni professionali disponibili in www.lulu.com/spotlight/robertobb – Socio fondatore dell’AIPI (Associazione Italiana Professionale di Informatica) – In passato CIO della Plasmon, della Wrangler in Italia e consulente delle più importanti aziende alimentari italiane – Profilo LinkedIn 

L’intervista sul Data Mining

Qual’e’ lo scopo del datamining ?

Il datamining ha l’obiettivo principale di scoprire l’informazione nascosta nei dati. 
Ricordo i requisiti che, negli anni ’70, erano richiesti ad un’informazione per essere considerata tale.
L’informazione doveva essere:

  • specifica (definita, non equivoca, comprensibile, misurabile, ecc.)
  • imprevista (se oggi è lunedì e mi dicono che domani sarà martedì non mi danno un’informazione)
  • possibilmente predittiva (nel senso che deve aiutarmi per agire in un mondo futuro che potrebbe essere diverso da quello attuale)

Il datamining deve realizzare i requisiti appena descritti. 
In particolare consente di evidenziare categorie di aggregazione di variabili del tutto inattese ed impreviste superando la visione storica e soggettiva dell’utente della BI abituato alle solite e scontate tabelle a doppia entrata che si rifanno alla statistica del pollo di Trilussa.
Per la BI, se avessi un archivio di animali mammiferi nel quale fossero compresi anche uomini e primati, potrei ottenere come risultato che i mammiferi hanno mediamente circa tre zampe. Dove trovo un mammifero che abbia mediamente tre zampe? Per fare della vera statistica occorre conservare il più possibile intatto il patrimonio informativo dei dati di partenza del soggetto o della situazione sotto esame.
Il datamining è alle volte anche predittivo quando segnala in categorie separate i segnali deboli provenienti dal mercato, segnali deboli non catturabili dalla BI strettamente pilotata dall’utente.
Il datamining dovrebbe essere anche in grado di segnalare se negli archivi sottoposti ad elaborazione esista o meno della conoscenza ripartita in gruppi con caratteristiche diverse.
Se nell’archivio sottoposto ad elaborazione non esistesse conoscenza il datamining lo potrebbe segnalare mentre la BI procederebbe comunque a sfornare tabelle.

 Per l’efficienza di una azienda è più importante la business intelligence classica o il datamining ?

I possibili destinatari sono diversi: la BI ha come naturale destinatario il Controllo di Gestione mentre il datamining è più adatto al Marketing e alla Ricerca & Sviluppo.
La BI può controllare il “già avvenuto” secondo schemi prefissati, ripetibili nel tempo e cristallizzabili in tableaux de bord.
Il datamining cerca di “annusare il futuro” individuando i segnali deboli che fornisce il presente.

 Perchè finora il datamining non ha preso piede sul mercato ?

La BI è strettamente governata e pilotata dall’utente: quindi è naturalmente più gradita.
Il datamining è più indipendente e misterioso: molti strumenti di datamining non “spiegano” le caratteristiche delle catalogazioni effettuate.
Il datamining è percepito come uno strumento arcano adatto a matematici ermetici e non a semplici utenti consumatori abituali di tabelle xls.

Come si può spiegare un qualcosa come il datamining a degli utenti poco legati al mondo IT e più legati al mondo business ?

Facendo degli esempi tratti dalla vita reale.

Ad esempio:

Ipotizziamo di aver di fronte una persona che non abbia mai visto dei contenitori di uso comune come bicchieri, bottiglie, barattoli, tazze, vasi, scatole, fiaschi, boccali, calici, tetrapack e via dicendo. Senza alcun commento mostro in successione esempi reali di oggetti appartenenti alle categorie sopra descritte. La persona può guardare, odorare, toccare e soppesare gli oggetti mostrati. Dopo aver esaminato un sufficiente numero di oggetti, la persona facilmente sarà in grado di raggruppare gli oggetti in categorie contenenti gli oggetti fra di loro globalmente simili, privilegiando alcune caratteristiche rispetto ad altre ritenute ininfluenti perché non discriminanti. Ad apprendimento avvenuto, io potrei presentare un altro oggetto a forma di bicchiere di altro colore, di altro materiale e di altro peso ottenendo comunque la collocazione dell’oggetto nella categoria dei bicchieri. Sempre per induzione la persona in addestramento potrebbe fare due categorie dei bicchieri: quelli senza manico e quelli con manico (boccali). L’apprendimento ha consentito alla persona di riconoscere gli aspetti dell’oggetto utili per passare dal particolare all’universale trascurandone gli aspetti non influenti. 

Quali sono i migliori ambienti di sviluppo per il datamining (linguaggi, pacchetti di database etc ) ?

Come linguaggi di sviluppo mi sono trovato bene prima con Ruby e poi con Python.

La versione in cloud è quella scritta in Python adattata all’ambiente ospite di GAE (Google App Engine)

Come potrebbero cambiare rispetto al passato gli algoritmi di datamining grazie all’avvento dell’enorme potenza di calcolo attuale ? è pensabile ad algoritmi meno raffinati e più di “forza bruta” ?

Sono convinto che per fare un buon datamining sia meglio sottoporre ad elaborazione un campione casuale di poche centinaia di record e non un archivio contenente decine di migliaia di registrazioni: quindi l’attuale potenza di calcolo (anche dei portatili) è più che sufficiente.

Troppe registrazioni possono portare ad una situazione di overfitting: il modello di addestramento ottenuto è una “fotografia” dell’input e non è più in grato di “generalizzare” quando si applica il modello a nuove registrazioni.

Qual’e’ l’algoritmo o tecnica di datamining che preferisci ?

Preferisco l’algoritmo di Kohonen (SOM Self-Organizing Map) da me modificato e migliorato.

Qual’e’ il metodo migliore per rendere fruibili agli utenti il risultato del datamining ?

Penso che il metodo migliore sia rendere fruibile il datamining in ambiente cloud; per quelli che ancora temono per la sicurezza dei dati e dei risultati, resta l’alternativa tradizionale del programma ceduto in licenza di uso.

Quali sono i prodotti che ritieni migliori sul mercato odierno ?

Quelli (open source) che ho esaminato hanno diversi difetti:

  • sono complicati nella definizione dei parametri di elaborazione
  • spesso sono carenti nelle funzioni  di normalizzazione e di standardizzazione dei dati
  • producono grafici difficilmente utilizzabili a fini pratici
  • non spiegano le caratteristiche dei gruppi trovati
  • non evidenziano le variabili più importanti e quelle meno importanti nella catalogazione di ogni gruppo
  • non segnalano in un solo indice quanta conoscenza sia compresa nell’archivio elaborato

Esprimi un desiderio “tecnico” in merito al datamining … cosa vorresti vedere in un futuro prossimo ?

Non un desiderio “tecnico” ma un desiderio “formativo”: spiegare in modo semplice i vantaggi del datamining agli utenti che ancora oggi si fidano solo dei loro fogli xls. 

Ringrazio Roberto per la disponibilità e ricordo che è autore di un algoritmo basato sulle mappe di Kohonen chiamato Know4Business, di cui spero presto di proporre una recensione su questo blog

 

Il data mining per tutti

Non voglio essere noioso ma vorrei entrare nel dettaglio di quanto scritto a proposito della mia differente visione rispetto ai big vendor in merito al data mining (vedi questo articolo )

Cosa è il Data Mining ?

Piccola premessa su cosa è il data mining ( clicca per la definizione su Wikipedia ) :

Per data mining si intende una serie di algoritmi che permettono di estrarre, in maniera automatica e autonoma, dai propri dati informazioni che non sono state inserite nei database ma che si possono derivare imparando dagli stessi dati, ad esempio :

  • Suddividere i clienti in gruppi (cluster ) in base alle loro abitudini di spesa (valore, tipo articoli, frequenza )
  • Trovare relazione tra articoli che vengono spesso venduti assieme
  • Capire qual’e’ la promozione migliore per un cliente
  • etc

Il data mining per tutti

Mi aggancio ad una famosa frase di Henry Ford :

“C’è vero progresso solo quando i vantaggi di una nuova tecnologia diventano per tutti” 

attualmente mi sembra che i Big Vendor abbiano i mente che il data mining sia un qualcosa che possa essere di interesse e di beneficio per tutte le aziende, non solo le grandi multinazionali, e infatti spingono i loro prodotti e parlano di analisi predittiva etc … ma mi sembra che il modello di proposizione sia ancora vecchio del tipo : costo software “importante”, consulenza specializzata o pesanti corsi di formazione, approccio con creazione di modelli statistici, dove possibile hardware dedicata ( i famosi BI appliance ) etc …

Risultato costi e modi inaccettabili per la PMI, proporre un qualcosa a tutti dimostrando che ne avrebbero dei benefici non vuol dire rendere la tecnologia disponibile a tutti , bisogna adattarsi alle possibilità del cliente per fare in modo che il miglioramento proposto sia compatibile con spesa e possibilità tecniche.

Se vogliamo tagliare i costi e guardiamo al mondo opensource attualmente (ma felice di essere smentito ) penso che le soluzioni siano abbastanza da specialisti e che richiedano delle conoscenze statistiche

Eppure il datamining forse ancor più della business intelligence classica potrebbe essere realmente un qualcosa che da una spinta anche alle piccole aziende, pensiamo all’analisi del carrello proposta ad un qualsiasi negozio di alimentari (un mini-market o come si chiamavano una volta cooperativa ) che abbia un database con le righe degli scontrini e magari anche il collegamento al cliente (carta fedeltà) … penso che questo tipo di negozio possa essere ben felice di sapere quali sono le associazioni dei prodotti acquistati, capire se chi compra una marca ne predilige anche un’altra o meno, stessa cosa nelle analisi degli scontrini legate ai clienti … basterebbe poco per capire se una promozione su un prodotto potrebbe dare dei benefici o meno,  creare delle promozioni personalizzate o per cluster di cliente, pensiamo magari a quale aiuto potrebbe esserci con il datamining quando si compongono i cesti di Natale etc

Perchè applicare algoritmi di datamining non può essere semplice come avere dei report dal proprio gestionale o avere una email ?

Perchè bisogna avere solo una via inaccessibile per i piccoli ? … liberiamo il potere delle informazioni !

Proposta per un data mining per tutti

Questa è la mia via per arrivare a fare in modo che tutta la PMI possa trarre benefici dal data mining.

1. Per prima cosa una serie di algoritmi di interesse ma configurabili per fare in modo che lo stesso codice possa essere riutilizzato per N progetti o per N modelli di calcolo … ovvero se devo fare un albero decisionale o un clustering al posto di creare un modello per ogni richiesta facciamo in modo che la richiesta sia solo una parametrizzazione del mio algoritmo

2. Conseguenza del punto 1, algoritmi e modelli non perfetti ma che comunque diano dei benefici (suvvia tra avere una analisi predittiva che mi dice i clienti interessati ad un prodotto o a rischio abbandono , corretta al 95% o all’75% cosa è meglio quando la prima costa tanto e la seconda poco ? proviamo a ragionare su un rapporto costi benefici quando parliamo con clienti il cui budget è “limitato” )

3. Dove manca la capacità di calcolo spostare il tutto su motori posti su soluzioni cloud ( Database as a service ) creando delle black box che ricevono in input dei dati ( meglio se anonimizzati 🙂 ) e sparano in output il risultato degli algoritmi, come se fosse un file excel che ti da i risultati e ti evidenzia cosa fare

4. Visto che ai clienti piccoli tutti questi discorsi potrebbero piacere ma avere un nuovo giocattolo in casa vorrebbe dire anche doverlo gestire, imparare etc … offriamo un servizio … mi prendo i tuoi dati (oppure ci collego la mia black-box ) e ti do il risultato una-tantum o quando ti serve

5. … e qui viene il bello : se il cliente è piccolo ( tipo < 1M€ di fatturato ) e gli va bene avere un servizio al posto di un qualcosa da installare etc … bene allora la prima volta è gratis ! così poi con i risultati in mano capisce se e quali benefici può avere e diventa più semplice definire anche quanto può/vuole spendere per avere quei risultati aggiornati o con nuovi tipi di analisi

FOLLIA ? NON E’ FOLLIA QUESTO E’ IL METODO ALBAREX !

Sono tutti bravi a vendere licenze, hardware, progetti e consulenti a chi ha i soldi da buttare, a volte non devi neanche preoccuparti della concorrenza, ci sono clienti che comprano tutto e non si fanno mancare nulla

Ma chi realmente ama quello che fa, farà in modo che tutti possano avere benefici dal suo lavoro …

Penso che ci sia più soddisfazione a vendere una 500 Abarth a qualcuno che non si può permettere la Ferrari ma che con la sua 500 saprà divertirsi piuttosto che vendere un TIR di Ferrari e Lamborghini a qualche sultano che le terrà nel garage come se fossero dei quadri.

%d blogger hanno fatto clic su Mi Piace per questo: