sklears_mixture/
lib.rs

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)]
8//! Gaussian mixture models
9//!
10//! This module provides Gaussian mixture models for clustering and density estimation,
11//! including standard EM-based GMM and Bayesian variants that can automatically
12//! determine the number of components.
13
14// #![warn(missing_docs)]
15
16// Core modules
17pub mod adaptive_streaming;
18pub mod advi;
19pub mod approximation;
20pub mod bayesian;
21pub mod common;
22pub mod empirical_bayes;
23pub mod exponential_family;
24pub mod gaussian;
25pub mod large_scale;
26pub mod mean_field_variational;
27pub mod multi_modal;
28pub mod nonparametric;
29pub mod nuts;
30pub mod online;
31pub mod optimization_enhancements;
32pub mod prior_elicitation;
33pub mod prior_sensitivity;
34pub mod regularization;
35pub mod robust;
36pub mod robust_methods;
37pub mod spatial;
38pub mod stochastic_variational;
39pub mod structured_variational;
40pub mod student_t;
41pub mod time_series;
42pub mod variational;
43pub mod von_mises_fisher;
44
45// Re-export main types from common
46pub use common::{CovarianceMatrices, CovarianceType, InitMethod, ModelSelection};
47
48// Re-export main types from gaussian
49pub use gaussian::{GaussianMixture, GaussianMixtureTrained};
50
51// Re-export main types from variational
52pub use variational::{VariationalBayesianGMM, VariationalBayesianGMMTrained};
53
54// Re-export main types from mean_field_variational
55pub use mean_field_variational::{MeanFieldVariationalGMM, MeanFieldVariationalGMMTrained};
56
57// Re-export main types from stochastic_variational
58pub use stochastic_variational::{
59    OptimizerType, StochasticVariationalGMM, StochasticVariationalGMMTrained,
60};
61
62// Re-export main types from structured_variational
63pub use structured_variational::{
64    StructuredFamily, StructuredVariationalGMM, StructuredVariationalGMMTrained,
65};
66
67// Re-export main types from advi
68pub use advi::{ADBackend, ADVIGaussianMixture, ADVIGaussianMixtureTrained, ADVIOptimizer, Dual};
69
70// Re-export main types from empirical_bayes
71pub use empirical_bayes::{
72    EmpiricalBayesGMM, EmpiricalBayesGMMTrained, EmpiricalBayesMethod, HyperparameterState,
73};
74
75// Re-export main types from prior_sensitivity
76pub use prior_sensitivity::{
77    GridSearchResult, InfluenceScore, ParameterVariances, PerturbationResult,
78    PriorSensitivityAnalyzer, SensitivityAnalysisResult, SensitivitySummary,
79};
80
81// Re-export main types from prior_elicitation
82pub use prior_elicitation::{
83    ConstraintType, DomainConstraint, ElicitationAnswer, ElicitationMethod, ElicitationQuestion,
84    ElicitationResult, PriorElicitationEngine, PriorQualityMetrics, PriorSpecification,
85    QuestionType,
86};
87
88// Re-export main types from nuts
89pub use nuts::{NUTSResult, NUTSSampler};
90
91// Re-export main types from bayesian
92pub use bayesian::{BayesianGaussianMixture, BayesianGaussianMixtureTrained};
93
94// Re-export main types from robust
95pub use robust::{RobustGaussianMixture, RobustGaussianMixtureTrained};
96
97// Re-export main types from online
98pub use online::{OnlineGaussianMixture, OnlineGaussianMixtureTrained};
99
100// Re-export main types from student_t
101pub use student_t::{StudentTMixture, StudentTMixtureTrained};
102
103// Re-export main types from exponential_family
104pub use exponential_family::{
105    ExponentialFamilyMixture, ExponentialFamilyMixtureTrained, ExponentialFamilyType,
106};
107
108// Re-export main types from von_mises_fisher
109pub use von_mises_fisher::{VonMisesFisher, VonMisesFisherMixture, VonMisesFisherMixtureFitted};
110
111// Re-export main types from time_series
112pub use time_series::{
113    DynamicMixture, DynamicMixtureBuilder, DynamicMixtureTrained, HMMConfig, HMMError,
114    HiddenMarkovModel, HiddenMarkovModelBuilder, HiddenMarkovModelTrained, ParameterEvolution,
115    RSMConfig, RegimeParameters, RegimeSwitchingModel, RegimeSwitchingModelBuilder,
116    RegimeSwitchingModelTrained, RegimeType, SSMConfig, SwitchingStateSpaceModel,
117    SwitchingStateSpaceModelBuilder, SwitchingStateSpaceModelTrained, TemporalGaussianMixture,
118    TemporalGaussianMixtureBuilder, TemporalGaussianMixtureTrained,
119};
120
121// Re-export main types from nonparametric
122pub use nonparametric::{
123    ChineseRestaurantProcess, ChineseRestaurantProcessTrained, DirichletProcessGaussianMixture,
124    DirichletProcessGaussianMixtureTrained,
125};
126
127// Re-export main types from spatial
128pub use spatial::{
129    GearysC, GeographicMixture, GeographicMixtureBuilder, GeographicMixtureTrained,
130    LocalIndicators, MarkovRandomFieldMixture, MarkovRandomFieldMixtureBuilder,
131    MarkovRandomFieldMixtureTrained, MoransI, SpatialAutocorrelationAnalyzer,
132    SpatialClusteringQuality, SpatialConstraint, SpatiallyConstrainedGMM,
133    SpatiallyConstrainedGMMBuilder, SpatiallyConstrainedGMMTrained,
134};
135
136// Re-export main types from multi_modal
137pub use multi_modal::{
138    FusionStrategy, ModalitySpec, MultiModalConfig, MultiModalGaussianMixture,
139    MultiModalGaussianMixtureBuilder, MultiModalGaussianMixtureTrained,
140};
141
142// Re-export main types from robust_methods
143pub use robust_methods::{
144    BreakdownAnalysis, InfluenceDiagnostics, MEstimatorGMM, MEstimatorGMMBuilder,
145    MEstimatorGMMTrained, MEstimatorType, TrimmedLikelihoodConfig,
146};
147
148// Re-export main types from regularization
149pub use regularization::{
150    ElasticNetGMM, ElasticNetGMMBuilder, ElasticNetGMMTrained, GroupLassoGMM, GroupLassoGMMBuilder,
151    GroupLassoGMMTrained, L1RegularizedGMM, L1RegularizedGMMBuilder, L1RegularizedGMMTrained,
152    L2RegularizedGMM, L2RegularizedGMMBuilder, L2RegularizedGMMTrained, RegularizationType,
153};
154
155// Re-export main types from optimization_enhancements
156pub use optimization_enhancements::{
157    AcceleratedEM, AcceleratedEMBuilder, AcceleratedEMTrained, AccelerationType,
158    NaturalGradientGMM, NaturalGradientGMMBuilder, NaturalGradientGMMTrained, QuasiNewtonGMM,
159    QuasiNewtonGMMBuilder, QuasiNewtonGMMTrained, QuasiNewtonMethod,
160};
161
162// Re-export main types from adaptive_streaming
163pub use adaptive_streaming::{
164    AdaptiveStreamingConfig, AdaptiveStreamingGMM, AdaptiveStreamingGMMBuilder,
165    AdaptiveStreamingGMMTrained, CreationCriterion, DeletionCriterion, DriftDetectionMethod,
166};
167
168// Re-export main types from large_scale
169pub use large_scale::{
170    BatchStrategy, MiniBatchGMM, MiniBatchGMMBuilder, MiniBatchGMMTrained, ParallelGMM,
171    ParallelGMMBuilder, ParallelGMMTrained, ParallelStrategy,
172};
173
174// Re-export main types from approximation
175pub use approximation::{
176    ImportanceSamplingGMM, ImportanceSamplingGMMBuilder, ImportanceSamplingGMMTrained,
177    ImportanceSamplingStrategy, LaplaceGMM, LaplaceGMMBuilder, LaplaceGMMTrained, MonteCarloGMM,
178    MonteCarloGMMBuilder, MonteCarloGMMTrained, MonteCarloMethod,
179};
180
181// Module stubs for future implementation
182// TODO: Extract these from the original lib.rs
183// pub mod nonparametric;
184// pub mod constrained;
185// pub mod mcmc;
186// pub mod analysis;
187// pub mod algorithms;
188
189// TODO: Re-export additional mixture types as they are extracted:
190// pub use online::{OnlineGaussianMixture, OnlineGaussianMixtureTrained};
191// And so on...