Vai al contenuto

Applicazioni pratiche di machine learning/Clustering del fiore iris

Wikibooks, manuali e libri di testo liberi.

Il dataset Iris è uno dei più famosi e usati nel machine learning e nelle statistiche, introdotto da Ronald A. Fisher nel 1936. È un dataset molto semplice ma utile per sperimentare algoritmi di classificazione e clustering.

  • Caratteristiche del dataset Iris
    • Numero di osservazioni: 150 fiori
    • Numero di variabili: 4 variabili numeriche + 1 variabile categorica (la specie)
  • Variabili numeriche
    • Sepal.Length → lunghezza del sepalo (in cm)
    • Sepal.Width → larghezza del sepalo (in cm)
    • Petal.Length → lunghezza del petalo (in cm)
    • Petal.Width → larghezza del petalo (in cm)
  • Variabile target (categorica)
    • Species → specie del fiore (setosa, versicolor, virginica)

Tramite l'algoritmo kmeans dividiamo i dati in 3 cluster (come le 3 specie di iris) e utilizziamo ggplot2 per rappresentare i cluster trovati:

# Dataset di esempio: iris
# Usiamo solo le variabili numeriche
data(iris)
dati <- iris[, 1:4]

# Applichiamo k-means con 3 cluster
set.seed(123)  # per rendere i risultati riproducibili
risultato <- kmeans(dati, centers = 3, nstart = 20)

# Mostriamo i risultati
print(risultato)

# Aggiungiamo l’etichetta del cluster al dataset
iris$cluster <- as.factor(risultato$cluster)

# Visualizziamo i cluster con ggplot2
library(ggplot2)
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = cluster)) +
  geom_point(size = 3, alpha = 0.7) +
  labs(title = "Clustering con K-Means (iris dataset)") +
  theme_minimal()