Data Mining
Il data mining individua schemi, associazioni, cluster e anomalie in grandi set di dati con la statistica e l'apprendimento automatico: è la fase di analisi del KDD.
Il data mining è il processo di individuazione di pattern utili in grandi dataset, come elementi che ricorrono insieme, gruppi naturali, regole predittive e record insoliti, usando statistica, machine learning e tecniche di database. Formalmente, il data mining è la fase di analisi della scoperta della conoscenza nei database (KDD), che Usama Fayyad, Gregory Piatetsky-Shapiro e Padhraic Smyth descrissero nel 1996 come una sequenza di selezione dei dati, preelaborazione dei dati, trasformazione, mining e interpretazione dei risultati.
Il processo di data mining#
Un modello di processo molto usato è CRISP-DM, il processo standard intersettoriale per il data mining, presentato per la prima volta nel 1999 da un consorzio che comprendeva Teradata, Daimler e NCR. Le sue sei fasi si ripetono quando una fase successiva mette in luce una lacuna in una fase precedente:
La preparazione dei dati, che comprende la pulizia dei dati, l'unione delle fonti e la progettazione delle feature, è in genere la fase più lunga; la modellazione rimanda il team a questa fase ogni volta che un pattern si rivela un effetto collaterale di record mancanti o duplicati.
Tecniche principali#
- Apprendimento di regole di associazione: individua elementi o eventi che si verificano insieme, come nell'analisi del carrello della spesa. L'algoritmo Apriori di Rakesh Agrawal e Ramakrishnan Srikant, del 1994, ha reso pratico l'uso di questa tecnica su grandi database di transazioni.
- Clustering con k-means o DBSCAN: raggruppa record simili senza etichette, ad esempio segmenti di clienti o immagini simili, come forma di apprendimento non supervisionato.
- Classificazione con alberi decisionali: apprende regole che assegnano i record a categorie note, ad esempio approvare o segnalare una richiesta di prestito, sulla base di dati storici etichettati.
- Rilevamento delle anomalie: segnala i record che differiscono nettamente dagli altri, come transazioni fraudolente con carta o una macchina i cui valori dei sensori si discostano dalla norma.
- Estrazione di pattern sequenziali: individua pattern ordinati, come i percorsi tra le pagine che più spesso portano a un acquisto.
Le regole di associazione vengono valutate con tre numeri. Il supporto è la quota di transazioni che contiene entrambi gli elementi, la confidenza è la quota di transazioni con l'elemento A che contiene anche l'elemento B, mentre il lift si ottiene dividendo la confidenza per la frequenza di B considerato da solo: un lift superiore a 1 significa che A e B si verificano insieme più spesso di quanto previsto dal caso. Questo esempio calcola il punteggio di ogni coppia di prodotti in otto panieri della spesa con pandas:
from itertools import permutations
import pandas as pd
# Eight shopping baskets, one column per product
baskets = pd.DataFrame(
[[1, 1, 0, 1], [1, 1, 0, 0], [0, 1, 1, 0], [1, 1, 1, 1], [1, 0, 0, 1], [0, 0, 1, 0], [1, 1, 0, 1], [0, 1, 1, 0]],
columns=["bread", "butter", "milk", "jam"],
).astype(bool)
# Score every rule "A -> B" and keep frequent rules that beat chance
for a, b in permutations(baskets.columns, 2):
support = (baskets[a] & baskets[b]).mean() # share of baskets with both items
confidence = support / baskets[a].mean() # share of A baskets that also hold B
lift = confidence / baskets[b].mean() # confidence relative to B's base rate
if support >= 0.25 and lift > 1:
print(f"{a} -> {b}: support {support:.2f}, confidence {confidence:.2f}, lift {lift:.2f}")Stampa quattro regole. La regola pane → burro ha una confidenza elevata, pari a 0,80, ma un lift di appena 1,07, perché il burro è comunque presente in tre panieri su quattro; la regola pane → marmellata ha la stessa confidenza e un lift di 1,60. La regola latte → burro ha una confidenza di 0,75 e un lift esattamente pari a 1,00, quindi il filtro la esclude.
Data mining nella computer vision#
Le raccolte di immagini e video vengono analizzate per trovare gli esempi più importanti per un modello. Il mining di hard negative seleziona le aree di sfondo che un detector classifica erroneamente come oggetti e le riutilizza per l'addestramento; l'apprendimento attivo analizza i pool non etichettati per trovare le immagini su cui il modello è meno sicuro. L'analisi dei log di rilevamento di un sistema distribuito rivela tipologie ricorrenti di difetti in una linea di produzione o gli orari di punta di un negozio, mentre gli embedding permettono ai team di raggruppare milioni di immagini per contenuto e individuare duplicati e lacune.
Ultralytics Platform analizza i dataset in questo modo con il pannello Clustering, che calcola un embedding per ogni immagine e proietta il dataset in un grafico a dispersione interattivo 2D, in cui le immagini visivamente simili sono vicine tra loro; gli utenti possono così colorare i punti in base alla suddivisione, alla classe o al cluster, individuare duplicati e valori anomali e selezionare un'area con il lazo per esaminare, rietichettare o spostare le immagini.
Data mining e termini correlati#
- Machine learning: crea modelli capaci di generalizzare a nuovi dati. Il data mining applica molti degli stessi algoritmi per descrivere i pattern nei dati esistenti.
- Analisi dei dati: la pratica più ampia di rispondere a domande con i dati, che comprende il data mining, la reportistica e l'interpretazione.
- Visualizzazione dei dati: rappresenta graficamente i dati e i pattern individuati tramite il mining, così che le persone possano interpretarli.
- Web scraping: raccoglie dati dai siti web. Nell'uso comune a volte ci si riferisce a questa attività come data mining, ma in senso tecnico il mining è l'analisi che segue la raccolta.










