36 using RetType = std::conditional_t<
37 std::is_same_v<T,Reg>, ArrayXf,
38 std::conditional_t<std::is_same_v<T,Cls>,
ArrayXb,
39 std::conditional_t<std::is_same_v<T,MCls>,
ArrayXi, ArrayXXf>>>;
41 py::class_<T> engine(m, name.data() );
42 engine.def(py::init<>())
44 T e(p, s);
return e; })
46 .def_property(
"params", &T::get_params, &T::set_params)
47 .def_property(
"search_space", &T::get_search_space, &T::set_search_space)
48 .def_property_readonly(
"is_fitted", &T::get_is_fitted)
49 .def_property_readonly(
"best_ind", &T::get_best_ind)
51 static_cast<T &(T::*)(
Dataset &d)
>(&T::fit),
52 py::call_guard<py::gil_scoped_release>(),
53 "fit from Dataset object")
55 static_cast<T &(T::*)(
const Ref<const ArrayXXf> &X,
const Ref<const ArrayXf> &y)
>(&T::fit),
56 py::call_guard<py::gil_scoped_release>(),
59 static_cast<RetType (T::*)(
const Dataset &d)
>(&T::predict),
60 "predict from Dataset object")
62 static_cast<RetType (T::*)(
const Ref<const ArrayXXf> &X)
>(&T::predict),
63 "predict from X data")
64 .def(
"get_archive", &T::get_archive)
65 .def(
"get_population", &T::get_population)
66 .def(
"set_population", &T::set_population)
67 .def(
"get_archive_as_json", &T::get_archive_as_json)
68 .def(
"get_population_as_json", &T::get_population_as_json)
69 .def(
"set_population_from_json", &T::set_population_from_json)
72 py::arg(
"end_depth") = 0,
73 py::arg(
"keep_leaves_unlocked") =
true,
74 py::arg(
"keep_current_weights") =
false,
92 if constexpr (std::is_same_v<T,Cls>)
94 engine.def(
"predict_proba",
95 static_cast<ArrayXf (T::*)(
const Dataset &d)
>(&T::predict_proba),
96 "predict from Dataset object")
98 static_cast<ArrayXf (T::*)(
const Ref<const ArrayXXf> &X)
>(&T::predict_proba),
99 "predict from X data")