# EM  Algoritmo esperanza-maximimación
# Divide los datos en clases que previamente no existen
# Selecciona el modelo más simple y que más explica usando BIC
 
library(mclust)
data(iris)
datos <- iris[,-5]  # Eliminanos los nombres de las especies
 
modelo <- Mclust(datos)
 
# La tabla nos muestra la división realizada (2 clases)
table(modelo$classification, iris$Species)
 
# Hay 3 tipos más de gráficos
plot(modelo, what="classification")
 
# Predicción de un valor
nuevo <- data.frame(Petal.Width=1, Petal.Length=1,Sepal.Length=1,Sepal.Width=1)
predict(model,new=nuevo)
Probar este programa
> # EM  Algoritmo esperanza-maximimación
> # Divide los datos en clases
> # Selecciona el modelo más simple y que más explica usando BIC
>
> library(mclust)
> data(iris)
> datos <- iris[,-5]  # Eliminanos los nombres de las especies
>
> modelo <- Mclust(datos)
>
> # La tabla nos muestra la división realizada (2 clases)
> table(modelo$classification, iris$Species)
 
    setosa versicolor virginica
  1     50          0         0
  2      0         50        50
>
> # Hay 3 tipos más de gráficos
> plot(modelo, what="classification")
>
> # Predicción de un valor
> nuevo <- data.frame(Petal.Width=1, Petal.Length=1,Sepal.Length=1,Sepal.Width=1)
> predict(modelo,new=nuevo)
$classification
[1] 2
 
$z
            [,1] [,2]
[1,] 3.87763e-36    1
attr(,"logarithm")
[1] FALSE
attr(,"modelName")
[1] "VEV"
attr(,"returnCode")
[1] 0
EM.png