Discriminant.h 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #ifndef _Discriminant_h_
  2. #define _Discriminant_h_
  3. /* Discriminant.h
  4. *
  5. * Copyright (C) 1993-2017 David Weenink
  6. *
  7. * This code is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License as published by
  9. * the Free Software Foundation; either version 2 of the License, or (at
  10. * your option) any later version.
  11. *
  12. * This code is distributed in the hope that it will be useful, but
  13. * WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  15. * General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License
  18. * along with this work. If not, see <http://www.gnu.org/licenses/>.
  19. */
  20. #include "Graphics.h"
  21. #include "Configuration.h"
  22. #include "ClassificationTable.h"
  23. #include "Eigen.h"
  24. #include "SSCP.h"
  25. #include "Discriminant_def.h"
  26. autoDiscriminant Discriminant_create (integer numberOfGroups, integer numberOfEigenvalues, integer dimension);
  27. integer Discriminant_groupLabelToIndex (Discriminant me, conststring32 label);
  28. void Discriminant_setAprioriProbability (Discriminant me, integer group, double p);
  29. integer Discriminant_getNumberOfGroups (Discriminant me);
  30. integer Discriminant_getNumberOfObservations (Discriminant me, integer group);
  31. integer Discriminant_getNumberOfFunctions (Discriminant me);
  32. double Discriminant_getWilksLambda (Discriminant me, integer numberOfDimensions);
  33. void Discriminant_getPartialDiscriminationProbability (Discriminant me,
  34. integer numberOfDimensions, double *out_probability, double *out_chisq, double *out_df);
  35. double Discriminant_getConcentrationEllipseArea (Discriminant me, integer group,
  36. double scale, bool confidence, bool discriminantDirections, integer d1, integer d2);
  37. double Discriminant_getLnDeterminant_group (Discriminant me, integer group);
  38. double Discriminant_getLnDeterminant_total (Discriminant me);
  39. void Discriminant_drawTerritorialMap (Discriminant me, Graphics g, bool discriminantDirections,
  40. integer d1, integer d2, double xmin, double xmax, double ymin, double ymax, int fontSize,
  41. bool poolCovarianceMatrices, bool garnish);
  42. void Discriminant_drawConcentrationEllipses (Discriminant me, Graphics g,
  43. double scale, bool confidence, conststring32 label, bool discriminantDirections,
  44. integer d1, integer d2, double xmin, double xmax, double ymin, double ymax,
  45. int fontSize, bool garnish);
  46. autoTableOfReal Discriminant_extractCoefficients (Discriminant me, int choice);
  47. autoTableOfReal Discriminant_extractGroupCentroids (Discriminant me);
  48. autoTableOfReal Discriminant_extractGroupStandardDeviations (Discriminant me);
  49. autoSSCP Discriminant_extractPooledWithinGroupsSSCP (Discriminant me);
  50. autoSSCP Discriminant_extractWithinGroupSSCP (Discriminant me, integer index);
  51. autoSSCP Discriminant_extractBetweenGroupsSSCP (Discriminant me);
  52. autoStrings Discriminant_extractGroupLabels (Discriminant me);
  53. void Discriminant_setGroupLabels (Discriminant me, Strings thee);
  54. autoConfiguration Discriminant_TableOfReal_to_Configuration (Discriminant me, TableOfReal thee, integer numberOfDimensions);
  55. autoClassificationTable Discriminant_TableOfReal_to_ClassificationTable
  56. (Discriminant me, TableOfReal thee, bool poolCovarianceMatrices, bool useAprioriProbabilities);
  57. autoClassificationTable Discriminant_TableOfReal_to_ClassificationTable_dw
  58. (Discriminant me, TableOfReal thee, bool poolCovarianceMatrices, bool useAprioriProbabilities, double alpha, double minProb, autoTableOfReal *displacements);
  59. autoTableOfReal Discriminant_TableOfReal_mahalanobis (Discriminant me, TableOfReal thee, integer group, bool poolCovarianceMatrices);
  60. /* Mahalanobis distance with respect to group mean */
  61. autoDiscriminant TableOfReal_to_Discriminant (TableOfReal me);
  62. autoConfiguration TableOfReal_to_Configuration_lda (TableOfReal me, integer numberOfDimensions);
  63. #endif /* _Discriminant_h_ */