#![forbid(unsafe_code)]
pub mod input;
pub mod models;
pub mod preprocess;
pub mod utils;
pub use input::{InputError, ModelInput};
pub use preprocess::{
OutcomeDiagnostics, column_has_variation, drop_constant_columns, outcome_diagnostics,
};
pub mod comparison {
pub use crate::models::comparison::*;
}
pub mod matrix_ops {
pub use crate::models::matrix_ops::*;
}
pub use models::two_part::{
BootstrapOptions, BootstrapResult, BootstrapSummary, ConfidenceInterval, FitOptions,
Regularization, TwoPartError, TwoPartModel, TwoPartPrediction, TwoPartReport,
bootstrap as bootstrap_two_part, bootstrap_percentile_ci, bootstrap_summary,
coefficient_confidence_intervals, fit_two_part_clustered_input, fit_two_part_input,
fit_two_part_weighted_input, log_likelihood as two_part_log_likelihood,
};
pub use models::tweedie::{
TweedieError, TweedieModel, TweedieOptions, TweediePrediction, TweedieReport,
deviance as tweedie_deviance, fit_tweedie_input,
quasi_log_likelihood as tweedie_quasi_log_likelihood,
};
pub use models::lognormal::{
LogNormalError, LogNormalModel, LogNormalOptions, LogNormalPrediction, LogNormalReport,
fit_lognormal_smearing_input, log_likelihood as lognormal_log_likelihood,
};
pub use models::selection::{
CrossValidationError, CrossValidationOptions, CrossValidationResult, InformationCriteria,
LogNormalCandidate, ModelFitMetrics, ParkTestResult, SelectionResult, TweedieCandidate,
TweedieCvCandidate, compute_information_criteria, compute_model_fit_metrics,
cross_validate_models_input, park_test, recommend_from_cv, select_models_input,
};
pub use models::comparison::{
ComparisonTables, ModelComparison, ModelComparisonError, ModelComparisonOptions,
ModelInformationCriteria, ModelScore, TweedieRankingRow, compare_models_input,
render_comparison_tables,
};