• 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
  • 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
Data Science, machine-learning

DBSCAN: Density-based spatial clustering of applications with noise

DBSCAN: Density-based spatial clustering of applications with noise

DBSCAN è l’acronimo inglese di Density-based spatial clustering of applications with noise, un sofisticato algoritmo di clustering comunemente usato per il Data Mining e Machine Learning.

Un passo alla volta.

Sai cos’è il clustering?

Benissimo, se avessi qualche dubbio, un post di approfondimento su tutto quello che devi sapere sul clustering è sempre lì a disposizione per te.

Negli ultimi giorni abbiamo analizzato dei noiosi strumenti di visualizzazione dati, conoscenze fondamentali nel portoflio di ogni data scientist.

Delle particolari librerie usate, Folium è senz’altro una delle più curiose: torna particolarmente utile per la visualizzazione di dati geo-spaziali (geospatial data).

È proprio questo il punto legame con l’argomento odierno: devi sapere che DBSCAN è un algoritmo di clustering density-based particolarmente appropriato per i dati spaziali.

Ok, ora sappiamo esattamente quanto prima.

Non va bene, dobbiamo scavare più a fondo.

Per procedere sono necessarie alcune conoscenze pregresse:

  • Principio di funzionamento degli algoritmi di clustering
  • Termini tecnici: centroidi

DBSCAN: Density-based spatial clustering

Gli algoritmi di clustering sono un esempio di unsupervised learning, dal momento che il loro funzionamento non richiede la presenza di una label nel dataset.

Ora, tra i nomi di clustering algorithm più comuni figurano certo il K-Means e l’Hierarchical Clustering.

Quando i dati richiedono lo sviluppo di cluster dalle forme arbitrarie o gruppi di cluster limitrofi e sovrapposti, le tecniche tradizionali faticano a ottenere buoni risultati:

  • Gli elementi all’interno del cluster potrebbero non condividere similarità sufficienti
  • Povere performance

Le difficoltà non terminano qui.

Gli algoritmi tradizionali sono privi della nozione di outliers, il DBSCAN è invece in grado di riconoscerli evitando che questi finiscano assegnati a un cluster pur non appartenendo ad alcuno di essi: un’operazione fondamentale nel campo della anomaly detection.

Le osservazioni aberranti avvicinano a sé i centroidi dei cluster, rendendo più complessa la loro gestione.

In contrasto, altri sistemi di clustering come il DBSCAN separano regioni ad alta e bassa densità.

Evidentemente per densità ci riferiamo al numero di osservazioni entro uno specifico raggio.

Ancora una volta, ora per questioni stilistiche, il DBSCAN è un popolare sistema di clustering density-based.

Uno dei meravigliosi vantaggi del DBSCAN è la capacità d’individuare cluster dalle forme arbitrarie senza rimanere influenzato dal rumore di fondo (noise).

How DBSCAN works

Il funzionamento del DBSCAN si basa sul presupposto che se una particolare osservazione appartenesse a uno specifico cluster, dovrebbe essere vicina alla maggior parte dei samples appartenenti al medesimo cluster.

Due parametri giocano un ruolo chiave:

  • radius
  • minimum points

Definiamo poi dense area quella regione di spazio delimitata dalla circonferenza di raggio epsilon contenete un sufficiente numero di datapoints.

Chi definisce questo sufficiente numero ?

INFN, Istituto Nazionale di Fisica Nucleare.

Scherzi a parte, lo decidiamo attraverso minimumSamples il parametro per il minum number of datapoints.

Ecco visivamente come opera:

Codice

Questo articolo ha una valenza prettamente teorica.

Ho comunque deciso di riportare giusto un minimo di codice.

Qui sotto trovi lo snippet di importazione con sklearn, invece a qui il codice del DBSCAN in Python.

from sklearn.cluster import DBSCAN 
epsilon = 0.3
minimumSamples = 7
db = DBSCAN(eps=epsilon, min_samples=minimumSamples).fit(X)

Conclusione

DBSCAN è un sofisticato strumento di clustering density-based che:

  • Identifica cluster dalle forme arbitrarie
  • Determina cluster circondati, o sovrapposti, da altri cluster.
  • Ha un senso di rumore
  • E’ robusto agli outliers
  • Non richiede la specificazione del numero totale di cluster.

Per approfondire.

Per il momento è tutto.

Per aspera, ad astra.

Un caldo abbraccio, Andrea

Written by Andrea Provino - Novembre 13, 2019
Tags | data science, data scientist, teoria

You Might Also Like

data-science-for-finance-machine-learning-deep-learning-data-science-use-cases-use-cases

Data Science for Finance | Use Cases per il Data Scientist

Febbraio 13, 2021
come-diventare-data-scientist-machine-leanring-data-science-italia-guida

Come diventare Data Scientist: errori da evitare

Ottobre 29, 2020
google-colab-cos'è-machine-learning-data-science-jupyter-notebooks-online-guida.

Cos’è Google Colab: jupyter notebooks online

Ottobre 25, 2019
Next Post
Previous Post

Una pubblicità che non vedi se usi AdBlock

EXPAND YOUR KNOWLEDGE

  • Blockchain Developer

    Circuito aritmetico

    Novembre 1, 2022
  • machine-learning

    Un nuovo inizio

    Settembre 4, 2021
  • Zero Knwoledge Proof Article Privacy Preserving

    Zero Knowledge Proof: zk-SNARK e zk-STARK | Prova a conoscenza zero

    Luglio 8, 2021
  • oblivious-transfer-spiegazione-italiano-ot-explanation Privacy Preserving

    Oblivious Transfer (OT)

    Luglio 6, 2021
  • Aleo Studio Website Preview machine-learning

    Aleo Studio: un IDE per Zero-Knowledge Proofs Applications

    Luglio 1, 2021
  • privacy-enhancing-technologies-data-machine-learning-data-science Privacy Preserving

    Perché il Privacy Tech è un vantaggio competitivo micidiale

    Giugno 17, 2021
  • bloom-filter-spiegazione-italian Privacy Preserving

    Bloom Filter

    Giugno 3, 2021
  • trusted-execution-environment-tee-data-science-come-fuziona Data Science, Privacy Preserving

    Trusted Execution Environment | Cos’è un TEE?

    Giugno 2, 2021
  • Crypto Custody services machine-learning

    Crypto Custody: Guida alla custodia delle criptomonete

    Maggio 26, 2021
  • deep-q-learning-q-learning-reinforcement-learning machine-learning

    Deep Q-Learning

    Aprile 27, 2021

Quello che Google pensa ti possa piacere

Prodotti che i Cookie dicono potresti trovare interessanti

AI Blog - © 2019-2021 Andrea Provino