#[allow(unused_imports)]
use pyo3::prelude::*;
mod clustering;
mod datasets;
mod ensemble;
mod linear;
mod model_selection;
mod naive_bayes;
mod neural_network;
mod tree;
mod utils;
pub use clustering::*;
pub use ensemble::*;
pub use linear::*;
pub use model_selection::*;
pub use naive_bayes::*;
pub use neural_network::*;
pub use tree::*;
pub use utils::*;
#[pymodule]
fn _sklears(m: &Bound<'_, PyModule>) -> PyResult<()> {
m.add("__version__", "0.1.0")?;
m.add(
"__doc__",
"High-performance machine learning library with scikit-learn compatibility",
)?;
m.add_class::<linear::PyLinearRegression>()?;
m.add_class::<linear::PyRidge>()?;
m.add_class::<linear::PyLasso>()?;
m.add_class::<linear::PyElasticNet>()?;
m.add_class::<linear::PyBayesianRidge>()?;
m.add_class::<linear::PyARDRegression>()?;
m.add_class::<linear::PyLogisticRegression>()?;
m.add_class::<ensemble::PyGradientBoostingClassifier>()?;
m.add_class::<ensemble::PyGradientBoostingRegressor>()?;
m.add_class::<ensemble::PyAdaBoostClassifier>()?;
m.add_class::<ensemble::PyVotingClassifier>()?;
m.add_class::<ensemble::PyBaggingClassifier>()?;
m.add_class::<neural_network::PyMLPClassifier>()?;
m.add_class::<neural_network::PyMLPRegressor>()?;
m.add_class::<naive_bayes::PyGaussianNB>()?;
m.add_class::<naive_bayes::PyMultinomialNB>()?;
m.add_class::<naive_bayes::PyBernoulliNB>()?;
m.add_class::<naive_bayes::PyComplementNB>()?;
m.add_class::<clustering::PyKMeans>()?;
m.add_class::<clustering::PyDBSCAN>()?;
m.add_function(wrap_pyfunction!(model_selection::train_test_split, m)?)?;
m.add_class::<model_selection::PyKFold>()?;
datasets::register_dataset_functions(m)?;
m.add_function(wrap_pyfunction!(utils::get_version, m)?)?;
m.add_function(wrap_pyfunction!(utils::get_build_info, m)?)?;
Ok(())
}