1#![allow(dead_code)]
2#![allow(non_snake_case)]
3#![allow(missing_docs)]
4#![allow(deprecated)]
5#![allow(clippy::all)]
6#![allow(clippy::pedantic)]
7#![allow(clippy::nursery)]
8pub mod adaptive_discriminant;
16pub mod bayesian_discriminant;
18pub mod canonical_discriminant;
21pub mod cost_sensitive_discriminant_analysis;
22pub mod cross_modal_discriminant;
23pub mod cross_validation;
24pub mod deep_discriminant;
25pub mod diagonal_lda;
26pub mod discriminant_locality_alignment;
27pub mod distributed_discriminant;
28pub mod ensemble_imbalanced;
29pub mod error_correcting_output_codes;
30pub mod feature_ranking;
31pub mod heteroscedastic;
33pub mod hierarchical;
34pub mod information_theoretic;
35pub mod kernel_discriminant;
36pub mod lda;
37pub mod locality_preserving;
38pub mod locally_linear_discriminant;
39pub mod manifold_discriminant;
40pub mod marginal_fisher;
41pub mod minimum_volume_ellipsoid;
42pub mod mixture;
43pub mod mixture_experts;
44pub mod multi_task;
45pub mod multi_view_discriminant;
46pub mod nearest_shrunken_centroids;
47pub mod neural_discriminant;
48pub mod numerical_stability; pub mod one_vs_one;
50pub mod one_vs_rest;
51pub mod online_discriminant;
52pub mod out_of_core;
53pub mod parallel_eigen;
54pub mod penalized_discriminant_analysis;
55pub mod qda;
57pub mod random_projection_discriminant_analysis;
58pub mod recursive_feature_elimination;
59pub mod robust_adaptive;
60pub mod sequential_feature_selection;
61pub mod simd_optimizations;
62pub mod stability_selection;
63pub mod stochastic_discriminant;
64pub mod sure_independence_screening;
65pub mod temporal_discriminant;
66
67pub use adaptive_discriminant::{
69 AdaptationEvent, AdaptationStrategy, AdaptiveDiscriminantLearning,
70 AdaptiveDiscriminantLearningConfig, BaseDiscriminant, TrainedAdaptiveDiscriminantLearning,
71};
72pub use bayesian_discriminant::{
77 BayesianDiscriminantAnalysis, BayesianDiscriminantAnalysisConfig, InferenceMethod,
78 PosteriorParameters, PriorType, TrainedBayesianDiscriminantAnalysis,
79};
80pub use canonical_discriminant::{
87 CanonicalDiscriminantAnalysis, CanonicalDiscriminantAnalysisConfig,
88 TrainedCanonicalDiscriminantAnalysis,
89};
90pub use cost_sensitive_discriminant_analysis::{
91 CostMatrix, CostSensitiveDiscriminantAnalysis, CostSensitiveDiscriminantAnalysisConfig,
92 CostSensitiveMethod, SimpleDiscriminantModel, TrainedCostSensitiveDiscriminantAnalysis,
93};
94pub use cross_modal_discriminant::{
95 CrossModalDiscriminantLearningConfig, DomainAdaptationStrategy, DomainInfo, ModalityInfo,
96};
97pub use cross_validation::{
98 BootstrapConfig, BootstrapResults, BootstrapValidator, CrossValidationConfig,
99 CrossValidationResults, GridSearchLDA, GridSearchQDA, NestedCVConfig, NestedCVResults,
100 NestedCrossValidator, ParameterGrid, TemporalValidationConfig, TemporalValidator,
101 ValidationMetrics,
102};
103pub use deep_discriminant::{
104 AttentionConfig, DeepArchitecture, DeepDiscriminantLearning, DeepDiscriminantLearningConfig,
105 DeepLayer, DeepTrainingConfig, LayerType, NormalizationType, TrainedDeepDiscriminantLearning,
106};
107pub use diagonal_lda::{
108 DiagonalLinearDiscriminantAnalysis, DiagonalLinearDiscriminantAnalysisConfig,
109 TrainedDiagonalLinearDiscriminantAnalysis,
110};
111pub use discriminant_locality_alignment::{
112 DiscriminantLocalityAlignment, DiscriminantLocalityAlignmentConfig,
113};
114pub use distributed_discriminant::{
115 DistributedDiscriminantConfig, DistributedLinearDiscriminantAnalysis,
116 DistributedQuadraticDiscriminantAnalysis, MergeStrategy,
117};
118pub use ensemble_imbalanced::{
119 BaseClassifier, EnsembleImbalancedConfig, EnsembleImbalancedDiscriminantAnalysis,
120 EnsembleMethod, SamplingStrategy, TrainedEnsembleImbalancedDiscriminantAnalysis, VotingMethod,
121};
122pub use error_correcting_output_codes::{
123 ErrorCorrectingOutputCodes, ErrorCorrectingOutputCodesConfig, TrainedErrorCorrectingOutputCodes,
124};
125pub use feature_ranking::{
126 DiscriminantFeatureRanking, DiscriminantFeatureRankingConfig, FeatureRank,
127};
128pub use heteroscedastic::{
133 HeteroscedasticDiscriminantAnalysis, HeteroscedasticDiscriminantAnalysisConfig,
134};
135pub use hierarchical::{
136 HierarchicalDiscriminantAnalysis, HierarchicalDiscriminantAnalysisConfig, HierarchyTree,
137 TrainedHierarchicalDiscriminantAnalysis,
138};
139pub use information_theoretic::{
140 DiscretizationMethod, InformationCriterion, InformationTheoreticDiscriminantAnalysis,
141 InformationTheoreticDiscriminantAnalysisConfig,
142};
143pub use kernel_discriminant::{
144 KernelCVConfig, KernelDiscriminantAnalysis, KernelDiscriminantAnalysisConfig,
145 KernelOptimizationResults, KernelParameterGrid, KernelParameterOptimizer, KernelType,
146 TrainedKernelDiscriminantAnalysis,
147};
148pub use lda::{LinearDiscriminantAnalysis, LinearDiscriminantAnalysisConfig};
149pub use locality_preserving::{
150 LocalityPreservingDiscriminantAnalysis, LocalityPreservingDiscriminantAnalysisConfig,
151};
152pub use locally_linear_discriminant::{
153 LocallyLinearDiscriminantAnalysis, LocallyLinearDiscriminantAnalysisConfig,
154 TrainedLocallyLinearDiscriminantAnalysis,
155};
156pub use manifold_discriminant::{
157 ManifoldDiscriminantAnalysis, ManifoldDiscriminantAnalysisConfig,
158 TrainedManifoldDiscriminantAnalysis,
159};
160pub use marginal_fisher::{MarginalFisherAnalysis, MarginalFisherAnalysisConfig};
161pub use minimum_volume_ellipsoid::{
162 MinimumVolumeEllipsoidConfig, MinimumVolumeEllipsoidDiscriminantAnalysis,
163 TrainedMinimumVolumeEllipsoidDiscriminantAnalysis,
164};
165pub use mixture::{MixtureDiscriminantAnalysis, MixtureDiscriminantAnalysisConfig};
166pub use mixture_experts::{
167 ExpertType, GatingNetworkType, MixtureOfExpertsConfig, MixtureOfExpertsDiscriminantAnalysis,
168 TrainedMixtureOfExpertsDiscriminantAnalysis,
169};
170pub use multi_task::{
171 MultiTaskDiscriminantLearning, MultiTaskDiscriminantLearningConfig, Task, TaskClassifier,
172 TrainedMultiTaskDiscriminantLearning,
173};
174pub use multi_view_discriminant::{
175 FusionStrategy, MultiViewDiscriminantAnalysis, MultiViewDiscriminantAnalysisConfig, ViewInfo,
176};
177pub use nearest_shrunken_centroids::{
178 NearestShrunkenCentroids, NearestShrunkenCentroidsConfig, TrainedNearestShrunkenCentroids,
179};
180pub use neural_discriminant::{
181 ActivationFunction, NetworkArchitecture, NeuralDiscriminantAnalysis,
182 NeuralDiscriminantAnalysisConfig, NeuralLayer, NeuralTrainingConfig,
183 TrainedNeuralDiscriminantAnalysis,
184};
185pub use numerical_stability::{
186 ConditionMonitor, ConditionStatistics, MatrixAnalysis, NumericalConfig, NumericalStability,
187};
188pub use one_vs_one::{
189 OneVsOneDiscriminantAnalysis, OneVsOneDiscriminantAnalysisConfig, PairwiseClassifier,
190};
191pub use one_vs_rest::{
192 BinaryClassifier, OneVsRestDiscriminantAnalysis, OneVsRestDiscriminantAnalysisConfig,
193};
194pub use online_discriminant::{
195 OnlineDiscriminantAnalysis, OnlineDiscriminantAnalysisConfig,
196 TrainedOnlineDiscriminantAnalysis, UpdateStrategy,
197};
198pub use out_of_core::{
199 OutOfCoreConfig, OutOfCoreDataManager, OutOfCoreLDA, OutOfCoreQDA, StreamingDiscriminant,
200};
201pub use parallel_eigen::{ParallelEigen, ParallelEigenConfig, ParallelEigenDecomposition};
202pub use penalized_discriminant_analysis::{
203 PenalizedDiscriminantAnalysis, PenalizedDiscriminantAnalysisConfig, PenaltyType,
204 TrainedPenalizedDiscriminantAnalysis,
205};
206pub use qda::{QuadraticDiscriminantAnalysis, QuadraticDiscriminantAnalysisConfig};
214pub use random_projection_discriminant_analysis::{
215 DiscriminantModel, LDAModel, ProjectionType, QDAModel, RDAModel,
216 RandomProjectionDiscriminantAnalysis, RandomProjectionDiscriminantAnalysisConfig,
217 TrainedRandomProjectionDiscriminantAnalysis,
218};
219pub use recursive_feature_elimination::{
220 EliminationStep, RecursiveFeatureElimination, RecursiveFeatureEliminationConfig,
221 TrainedRecursiveFeatureElimination,
222};
223pub use robust_adaptive::{
224 MEstimatorType, RobustDiscriminantAnalysis, RobustDiscriminantAnalysisConfig,
225 TrainedRobustDiscriminantAnalysis,
226};
227pub use sequential_feature_selection::{
228 SelectionDirection, SelectionStep, SequentialFeatureSelection,
229 SequentialFeatureSelectionConfig, TrainedSequentialFeatureSelection,
230};
231pub use simd_optimizations::{
232 AdvancedSimdOps, SimdArrayOps, SimdBenchmarkResults, SimdConfig, SimdMatrixOps, SimdSupport,
233};
234
235#[cfg(target_arch = "aarch64")]
236pub use simd_optimizations::NeonSimdOps;
237pub use stability_selection::{
238 FeatureStability, StabilitySelection, StabilitySelectionConfig, TrainedStabilitySelection,
239};
240pub use stochastic_discriminant::{
241 LearningRateSchedule, LossFunction, Optimizer, StochasticDiscriminantAnalysis,
242 StochasticDiscriminantAnalysisConfig, TrainedStochasticDiscriminantAnalysis,
243};
244pub use sure_independence_screening::{
245 BaseDiscriminantModel, SimpleLDA, SureIndependenceScreening, SureIndependenceScreeningConfig,
246 TrainedSureIndependenceScreening,
247};
248pub use temporal_discriminant::{
249 AggregationMethod, TemporalDiscriminantAnalysis, TemporalDiscriminantAnalysisConfig,
250 TemporalMethod, TemporalPattern, TrendMethod,
251};
252
253#[allow(non_snake_case)]
254#[cfg(test)]
255mod tests;