Conxunto de datos das flores Iris

[miniatura|[Gráfica de dispersión|Diagrama de dispersión do conxunto de datos]]
O **conxunto de datos das flores Iris**, ou **conxunto de datos Iris de Fisher** (en inglés: *Iris flower data set*), é un conxunto de datos multivariante utilizado e popularizado polo estatístico e biólogo británico Ronald Fisher no seu artigo de 1936 *The use of multiple measurements in taxonomic problems*, como exemplo de análise discriminante lineal. Ás veces tamén se lle chama **conxunto de datos Iris de Anderson**, porque o botánico Edgar Anderson recolleu os datos para cuantificar a variación morfolóxica das flores de Iris de tres especies relacionadas. Dúas das tres especies foron recollidas na Península de Gaspé “todas do mesmo pasto, recollidas o mesmo día e medidas ao mesmo tempo pola mesma persoa co mesmo aparello”.

O conxunto de datos consta de 50 mostras de cada unha das tres especies de Iris (*Iris setosa*, *Iris virginica* e *Iris versicolor*). Para cada mostra medíronse catro características: o longo e o ancho dos sépalos e pétalos, en centímetros. Baseándose na combinación destas catro características, Fisher desenvolveu un modelo discriminante lineal para distinguir cada especie. O artigo de Fisher foi publicado en *Annals of Eugenics* (hoxe coñecido como *Annals of Human Genetics*). Só unha pequena fracción de *Iris-virginica* mestúrase con *Iris-versicolor*. Todas as demais mostras das diferentes especies de Iris pertencen a nodos distintos.]]
Originalmente utilizado como conxunto de datos de exemplo no que se aplicou a análise discriminante lineal de Fisher, converteuse nun caso típico de proba para moitas técnicas estatísticas de clasificación en aprendizaxe automática, como as máquinas de vector soporte.

O uso deste conxunto de datos en análise de agrupamentos non é habitual, xa que o conxunto só contén dous conglomerados con separación bastante evidente. Un dos conglomerados contén *Iris setosa*, mentres que o outro contén tanto *Iris virginica* como *Iris versicolor* e non é separable sen a información sobre a especie que utilizou Fisher. Isto fai que o conxunto de datos sexa un bo exemplo para explicar a diferenza entre técnicas supervisadas e non supervisadas na minaría de datos: o modelo discriminante lineal de Fisher só pode obterse cando se coñecen as especies dos obxectos; as etiquetas de clase e os conglomerados non son necesariamente iguais.

Non obstante, as tres especies de Iris son separables na proxección sobre a compoñente principal non lineal e ramificada. O conxunto de datos apróximase pola árbore máis próxima cunha certa penalización polo número excesivo de nós, as curvaturas e os estiramentos. A continuación constrúese o denominado «mapa do metro».

### Código en R que ilustra o seu uso 
O código de exemplo en R que se mostra a continuación reproduce o diagrama de dispersión que aparece na parte superior deste artigo:
```r
# Amosar o conxunto de datos
iris
# Amosar a páxina de axuda, con información sobre o conxunto de datos
?iris

# Crear diagramas de dispersión de todas as combinacións pareadas das 4 variables do conxunto de datos
pairs(iris[1:4], main="Iris Data (red=setosa,green=versicolor,blue=virginica)",
      pch=21, bg=c("red","green3","blue")[unclass(iris$Species)])
 

# Alternativamente usando ggplot e ggally.
install.packages(c("ggplot2","GGally")) # instalar paquetes se non os tes.

# Cargar as librarías.
library(ggplot2)
library(GGally)

# Debuxar a matriz de diagramas de dispersión para o conxunto de datos iris
ggpairs(data = iris, # os teus datos iris
        columns = 1:4, # columnas para o diagrama de dispersión
        mapping = aes(colour = Species,fill = Species),
        title = 'Matriz de Diagramas de Dispersión do Conxunto de Datos Iris',
        ) +
  theme(plot.title = element_text(hjust = 0.5,face = 'bold')) +
  scale_color_brewer(palette = 'Set1')
```

### Código en Python que ilustra o seu uso 
```python
from sklearn.datasets import load_iris

iris = load_iris()
print(iris)
```
Este código dá como resultado:
```python
{'data': array([[5.1, 3.5, 1.4, 0.2],
                [4.9, 3., 1.4, 0.2],
                [4.7, 3.2, 1.3, 0.2],
                [4.6, 3.1, 1.5, 0.2],...
'target': array([0, 0, 0, ... 1, 1, 1, ... 2, 2, 2, ...
'target_names': array(['setosa', 'versicolor', 'virginica'], dtype='<U10'),
...}
```

## Notas 
## Véxase tamén 
### Outros artigos
* Conxunto de datos clásicos

### Ligazóns externas 
*