use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MarketplaceMLConfig {
pub enable_ml: bool,
pub recommendation_models: Vec<MLRecommendationModel>,
pub performance_models: Vec<PerformancePredictionModel>,
pub optimization_models: Vec<MLOptimizationModel>,
pub analysis_models: Vec<AnalysisModel>,
pub training_config: MLTrainingConfig,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MLTrainingConfig {
pub training_enabled: bool,
pub training_datasets: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub enum MLRecommendationModel {
GraphNeuralNetworks,
TransformerModels,
EnsembleMethods,
CollaborativeFiltering,
ContentBasedFiltering,
HybridModels,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub enum PerformancePredictionModel {
NeuralNetworks,
EnsemblePredictors,
PhysicsInformedModels,
TimeSeriesModels,
RegressiveModels,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub enum MLOptimizationModel {
BayesianOptimization,
GeneticAlgorithms,
ReinforcementLearning,
NeuralNetworks,
RandomForest,
SupportVectorMachine,
ParticleSwarmOptimization,
SimulatedAnnealing,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub enum AnalysisModel {
SemanticAnalysis,
PerformanceAnalysis,
ComplexityAnalysis,
SecurityAnalysis,
UsagePatternAnalysis,
}