Plots for semi-supervised classification based on Gaussian finite mixture models.

# S3 method for MclustSSC
plot(x, what = c("BIC", "classification", "uncertainty"), ...)

Arguments

x

An object of class 'MclustSSC' resulting from a call to MclustSSC.

what

A string specifying the type of graph requested. Available choices are:

"BIC" =

plot of BIC values used for model selection, i.e. for choosing the model class covariances.

"classification" =

a plot of data with points marked based on the known and the predicted classification.

"uncertainty" =

a plot of classification uncertainty.

If not specified, in interactive sessions a menu of choices is proposed.

...

further arguments passed to or from other methods. See plot.Mclust.

Author

Luca Scrucca

See also

Examples

X <- iris[,1:4] class <- iris$Species # randomly remove class labels set.seed(123) class[sample(1:length(class), size = 120)] <- NA table(class, useNA = "ifany")
#> class #> setosa versicolor virginica <NA> #> 10 15 5 120
clPairs(X, ifelse(is.na(class), 0, class), symbols = c(0, 16, 17, 18), colors = c("grey", 4, 2, 3), main = "Partially classified data")
# Fit semi-supervised classification model mod_SSC <- MclustSSC(X, class) summary(mod_SSC, parameters = TRUE)
#> ---------------------------------------------------------------- #> Gaussian finite mixture model for semi-supervised classification #> ---------------------------------------------------------------- #> #> log-likelihood n df BIC #> -193.521 150 38 -577.4461 #> #> Classes n % Model G #> setosa 10 6.67 VEV 1 #> versicolor 15 10.00 VEV 1 #> virginica 5 3.33 VEV 1 #> <NA> 120 80.00 #> #> Mixing probabilities: #> setosa versicolor virginica #> 0.3333333 0.3876695 0.2789972 #> #> Means: #> setosa versicolor virginica #> Sepal.Length 5.006 6.055272 6.549251 #> Sepal.Width 3.428 2.828321 2.932692 #> Petal.Length 1.462 4.453865 5.534246 #> Petal.Width 0.246 1.396544 2.064307 #> #> Variances: #> setosa #> Sepal.Length Sepal.Width Petal.Length Petal.Width #> Sepal.Length 0.15368111 0.13158310 0.021865057 0.013501154 #> Sepal.Width 0.13158310 0.17948985 0.015459683 0.012186709 #> Petal.Length 0.02186506 0.01545968 0.029128899 0.006498098 #> Petal.Width 0.01350115 0.01218671 0.006498098 0.009759900 #> versicolor #> Sepal.Length Sepal.Width Petal.Length Petal.Width #> Sepal.Length 0.29753053 0.10407744 0.2505462 0.07457733 #> Sepal.Width 0.10407744 0.10023478 0.1202666 0.05072488 #> Petal.Length 0.25054623 0.12026661 0.3560530 0.11652817 #> Petal.Width 0.07457733 0.05072488 0.1165282 0.06076865 #> virginica #> Sepal.Length Sepal.Width Petal.Length Petal.Width #> Sepal.Length 0.46326081 0.07787790 0.34315068 0.06944725 #> Sepal.Width 0.07787790 0.08041718 0.05955965 0.05271723 #> Petal.Length 0.34315068 0.05955965 0.35468725 0.06589333 #> Petal.Width 0.06944725 0.05271723 0.06589333 0.06694996 #> #> Classification summary: #> Predicted #> Class setosa versicolor virginica #> setosa 10 0 0 #> versicolor 0 15 0 #> virginica 0 0 5 #> <NA> 40 45 35
pred_SSC <- predict(mod_SSC) table(Predicted = pred_SSC$classification, Actual = class, useNA = "ifany")
#> Actual #> Predicted setosa versicolor virginica <NA> #> setosa 10 0 0 40 #> versicolor 0 15 0 45 #> virginica 0 0 5 35
plot(mod_SSC, what = "BIC")
plot(mod_SSC, what = "classification")
plot(mod_SSC, what = "uncertainty")