| Title: | The Eigenvalues Entropy as a Classifier Evaluation Measure |
|---|---|
| Description: | The confusion matrix (CM) is used to get a classifier's evaluation measure in order to select a method among many. A stochastic matrix and its transformation are computed from the CM. The eigenvalues of the transformed symmetric matrix are used to get an entropy which appears to be a good evaluation measure. Many other measures, commonly used, are provided for comparison purpose. |
| Authors: | Doulaye Dembele [aut, cre] (ORCID: <https://orcid.org/0000-0003-3879-6940>) |
| Maintainer: | Doulaye Dembele <[email protected]> |
| License: | GPL (>= 2) |
| Version: | 1.0 |
| Built: | 2026-06-10 09:04:16 UTC |
| Source: | https://github.com/cran/eve |
eve allows to compute the eigenvalues entropy and many other commonly used classifier evaluation measures. For comparison purpose, all measures computed are adjusted to vary in [0,1].
| Package: | eve |
| Type: | Package |
| Version: | 0.1-0 |
| Date: | 2025-10-20 |
| License: | GPL (>=2.0) |
This package has the following functions:
| eve(): | The function allowing to compute the eigenvalues entropy measure. |
| eve.mmatt(): | This function allows to compute a modified confusion matrix |
| which is useful for imbalanced problem. | |
| eve.bounds(): | This function allows to compute lower and upper bound values for the eigenvalues |
| used to get the EVE evaluation measure. | |
| eve.eigens(): | This function gives access to the eigenvalues used to get the EVE evaluation measure. |
| eve.bival(): | This function allows to compute the sensitivity, the specificity, the precision, the |
| Fowlkes and Mallows index, the F1-score and the area under the ROC curve, for a binary problem. | |
| eve.acc(): | The function computes the accuracy. |
| eve.nmi(): | This function computes the normalized mutual information value. |
| eve.mcc(): | This function computes the Matthews correlation coefficient, a shifted value is returned. |
| eve.kappa(): | This function computes the Cohen's Kappa measure value. |
| eve.cen(): | This function computes the confusion entropy of the misclassification. |
| A shifted value is returned. | |
| eve.mcen(): | This function compute the modified confusion entropy of the misclassification. |
| A shifted value is returned. | |
| m2two(): | This function converts a multiclass confusion matrix into a binary confusion matrix. |
| m2two.k(): | This function allows to get a confusion matrix of the comparison of one class |
| (k) versus the others. |
Doulaye Dembele Maintainer: Doulaye Dembele <[email protected]>
Dembele D. (2025), The Eigenvalues Entropy as a Classifier Evaluation Measure. arXiv:2511.01904
mmat <- matrix(c(50,0,0,0,35,15,0,7,43),ncol=3) eve(mmat) eve.acc(mmat) eve.kappa(mmat) eve.mcc(mmat) eve.nmi(mmat) eve.cen(mmat) eve.mcen(mmat) eve.mmatt(mmat) res <- m2two(mmat) eve.bival(res) eve.kappa(res) eve(res) res <- m2two.k(mmat,2) eve.bival(res) eve.mcc(res) eve.acc(res) mmat <- matrix(c(9,1,80,210),ncol=2) eve.bival(mmat) eve.bival(eve.mmatt(mmat)) eve(mmat) eve(eve.mmatt(mmat))mmat <- matrix(c(50,0,0,0,35,15,0,7,43),ncol=3) eve(mmat) eve.acc(mmat) eve.kappa(mmat) eve.mcc(mmat) eve.nmi(mmat) eve.cen(mmat) eve.mcen(mmat) eve.mmatt(mmat) res <- m2two(mmat) eve.bival(res) eve.kappa(res) eve(res) res <- m2two.k(mmat,2) eve.bival(res) eve.mcc(res) eve.acc(res) mmat <- matrix(c(9,1,80,210),ncol=2) eve.bival(mmat) eve.bival(eve.mmatt(mmat)) eve(mmat) eve(eve.mmatt(mmat))
This function computes the eigenvalues entropy for a binary or a multiclass confusion matrix.
eve(mmat)eve(mmat)
mmat |
a square numerical-valued confusion matrix. |
This function returns the eigenvalue entropy, a numerical value for evaluating a classifier.
Doulaye Dembele
Dembele D. (2025), The Eigenvalues Entropy as a Classifier Evaluation Measure. arXiv:2511.01904
mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) eve(mmat)mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) eve(mmat)
This function computes the accuracy for a binary or amulticlass confusion matrix.
eve.acc(mmat)eve.acc(mmat)
mmat |
a square numerical-valued confusion matrix. |
This function returns a numerical value, the accuracy associated with the confusion matrix.
Doulaye Dembele
E.B. Fowlkes and C.L. Mallows. A method for
Comparing Two Hierarchical Clusterings.
J Am Stat Assoc, 1983, v78, n383, pp553-569
A.K. Jain and R. Dubes. Algorithms for Clustering Data.
Prentice Hall, Englewood, New Jersey, 1988.
mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) eve.acc(mmat)mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) eve.acc(mmat)
This function computes the sensitivity, the specificity, the precision, the Fowlkes & Mallows index, the F1-score and the area under the ROC curve for a binary problem confusion matrix.
eve.bival(mmat)eve.bival(mmat)
mmat |
a 2 x 2 numerical-valued confusion matrix. |
This function returns the sensitivity, the specificity, the precision, the Fowlkes & Mallows index, the F1-score and the area under the ROC curve measure values.
Doulaye Dembele
H. Cramer. Mathematical Methods of Statistics.
Princeton Univ Press, 1946.
E.B. Fowlkes and C.L. Mallows. A method for
Comparing Two Hierarchical Clusterings.
J Am Stat Assoc, 1983, v78, n383, pp553-569
A.K. Jain and R. Dubes. Algorithms for Clustering Data.
Prentice Hall, Englewood, New Jersey, 1988.
J. Furnkranz and P.A. Flach. ROC'n' Rule Learning - Towards a
Better Understanding of Covering Algorithms.
Mach Learn, 2005, v58, pp39-77.
D.J. Hand. Measuring Classifier Performance: a Coherent
Alternative to the Area Under the ROC Curve.
Mach Learn, 2009, v77, pp367-374.
D.M.W. Powers. Evaluation from Precision, Recall and F-measure
to ROC, Informmedness, Markedness and Correlation.
arXiv, 2020, 2010.16061.
mmat <- matrix(c(434,10,7,232), ncol=2) eve.bival(mmat)mmat <- matrix(c(434,10,7,232), ncol=2) eve.bival(mmat)
This function computes a lower and an upper bound values for the eigenvalues associated with a confusion matrix transformation.
eve.bounds(mmat)eve.bounds(mmat)
mmat |
a square numerical-valued confusion matrix. |
This function returns a vector which entries are a lower and an upper bound for the eigenvalues associated with a confusion matrix transformation. The range of these bounds is small (<2) for a good classifier.
Doulaye Dembele
Dembele D. (2025), The Eigenvalues Entropy as a Classifier Evaluation Measure. arXiv:2511.01904
mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) eve.bounds(mmat)mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) eve.bounds(mmat)
This function computes the confusion entropy for a binary or a multiclass confusion matrix. A shifted value is returned
eve.cen(mmat)eve.cen(mmat)
mmat |
a square numerical-valued confusion matrix. |
This function returns a numerical value, a shifted confusion entropy (1-CEN).
Doulaye Dembele
J.M. Wei, X.J. Yuan, Q.H. Hu and S.Q. Wang.
A Novel Measure for Evaluating Classifiers.
Expert Syst Appl, 2010, v15 pp4969-4992.
mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) eve.cen(mmat)mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) eve.cen(mmat)
This function give access to the eigenvalues associated with a confusion matrix transformation.
eve.eigens(mmat)eve.eigens(mmat)
mmat |
a square numerical-valued confusion matrix. |
This function returns the eigenvalues of the confusion matrix transformation. These eigenvalues are used to obtain the EVE evaluation measure. For a binary problem, they can be used to obtain the AUC or the Gini index (coefficient).
Doulaye Dembele
Dembele D. (2025), The Eigenvalues Entropy as a Classifier Evaluation Measure. arXiv:2511.01904
mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) eve.eigens(mmat)mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) eve.eigens(mmat)
This function computes the Cohen's kappa measure for a binary or a multiclass confusion matrix.
eve.kappa(mmat)eve.kappa(mmat)
mmat |
a square numerical-valued confusion matrix. |
This function returns a numerical value, the Cohen kappa evaluation measure.
Doulaye Dembele
J. Cohen. A Coefficient of Agreement for Nominal
Scales.
Educ Psychol Meas, 1960, v20 n1 pp37-46
mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) eve.kappa(mmat)mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) eve.kappa(mmat)
This function computes the Matthews' correlation cooefficient for a binary of a multiclass confusion matrix.
eve.mcc(mmat)eve.mcc(mmat)
mmat |
a square numerical-valued confusion matrix. |
This function returns a numerical value, a shifted Matthews correlation coefficient which varies in [0,1].
Doulaye Dembele
B.W. Matthews. Comparison of the Predicted and
observed Secondary Structures of T4 Phage Lysozome.
Biochem Biophys Acta, 1975, v405 pp442-451.
J. Gorodkin. Comparing Two K-Category Assignments by a
K-Category Correlation Coefficient.
Comput Biol Chem, 2004, v28 pp367-374.
mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) eve.mcc(mmat)mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) eve.mcc(mmat)
This function computes the modified confusion entropy for a binary or a multiclass confusion matrix. A shifted value is returned
eve.mcen(mmat)eve.mcen(mmat)
mmat |
a square numerical-valued confusion matrix. |
This function returns a numerical value, a shifted modified confusion entropy (1-MCEN).
Doulaye Dembele
R. Delgado and J.D. Nunez-Gonzalez. Enhancing Confusion
Entropy CEN for Binary and Multiclass Classification.
PLoS One, 2019, v14, n1, e0210264.
mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) eve.mcen(mmat)mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) eve.mcen(mmat)
This function computes a modified confusion matrix for a binary or a multiclass problem.
eve.mmatt(mmat)eve.mmatt(mmat)
mmat |
a square numerical-valued confusion matrix. |
This function returns a modified confusion matrix which can be used to improve a measure sensitive to imbalanced ratio.
Doulaye Dembele
Dembele D. (2025), The Eigenvalues Entropy as a Classifier Evaluation Measure. arXiv:2511.01904
mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) eve.mmatt(mmat)mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) eve.mmatt(mmat)
This function computes the normalized mutual information for a binary or a multiclass confusion matrix.
eve.nmi(mmat)eve.nmi(mmat)
mmat |
a square numerical-valued confusion matrix. |
This function returns a numerical value, the normalized mutual information.
Doulaye Dembele
T.M. Cover and J.A. Thomas. Elements of Information
Theory.
Wiley, 2006, 2nd edition, Hoboken, New Jersey.
I. Kononenko and I Bratko. Information-Based Evaluation Criterion
of Classifiers Performance.
Mach Learn, 1991, v6, pp67-80.
N.X. Vinh, J. Epps and J. Bailey. Information Theoretic Measures
for Clusterings Comparison: Variants, Properties, Normalization
and Correction for Chance.
J Mach Learn Res, 2010, v11 pp2837-2854.
mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) eve.nmi(mmat)mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) eve.nmi(mmat)
This function converts a multiclass confusion into a single binary confusion matrix.
m2two(mmat)m2two(mmat)
mmat |
a square numerical-valued confusion matrix. |
This function returns a 2 x 2 confusion matrix which can be used for evaluating a classifier.
Doulaye Dembele
A.K. Jain and R. Dubes. Algorithms for Clustering Data.
Prentice Hall, Englewood, New Jersey, 1988.
N.X. Vinh, J. Epps and J. Bailey. Information Theoretic Measures
for Clusterings Comparison: Variants, Properties, Normalization
and Correction for Chance.
J Mach Learn Res, 2010, v11 pp2837-2854.
Dembele D. (2025), The Eigenvalues Entropy as a Classifier Evaluation Measure. arXiv:2511.01904
mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) m2two(mmat)mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) m2two(mmat)
This function allows to compare the class k versus the others for a multiclass problem.
m2two.k(mmat,k=1)m2two.k(mmat,k=1)
mmat |
a square numerical-valued confusion matrix. |
k |
the index of the class to compare to the others. |
This function returns a 2 x 2 confusion matrix which can be used for evaluating a classifier. The class k is compared to the others.
Doulaye Dembele
H. Cramer. Mathematical Methods of Statistics.
Princeton Univ Press, 1946.
E.B. Fowlkes and C.L. Mallows. A method for
Comparing Two Hierarchical Clusterings.
J Am Stat Assoc, 1983, v78, n383, pp553-569
A.K. Jain and R. Dubes. Algorithms for Clustering Data.
Prentice Hall, Englewood, New Jersey, 1988.
Dembele D. (2025), The Eigenvalues Entropy as a Classifier Evaluation Measure. arXiv:2511.01904
mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) m2two.k(mmat,2)mmat <- matrix(c(50,0,0,0,35,15,0,7,34), ncol=3) m2two.k(mmat,2)