47 using RetType = std::conditional_t<
48 std::is_same_v<T,Reg>, ArrayXf,
49 std::conditional_t<std::is_same_v<T,Cls>,
ArrayXb,
50 std::conditional_t<std::is_same_v<T,MCls>,
ArrayXi, ArrayXXf>>>;
52 py::class_<T> engine(m, name.data() );
53 engine.def(py::init<>())
55 T e(p, s);
return e; })
57 .def_property(
"params", &T::get_params, &T::set_params)
58 .def_property(
"search_space", &T::get_search_space, &T::set_search_space)
59 .def_property_readonly(
"is_fitted", &T::get_is_fitted)
60 .def_property_readonly(
"best_ind", &T::get_best_ind)
62 static_cast<T &(T::*)(
Dataset &d)
>(&T::fit),
63 py::call_guard<py::gil_scoped_release>(),
64 "fit from Dataset object")
66 static_cast<T &(T::*)(
const Ref<const ArrayXXf> &X,
const Ref<const ArrayXf> &y)
>(&T::fit),
67 py::call_guard<py::gil_scoped_release>(),
70 static_cast<RetType (T::*)(
const Dataset &d)
>(&T::predict),
71 "predict from Dataset object")
73 static_cast<RetType (T::*)(
const Ref<const ArrayXXf> &X)
>(&T::predict),
74 "predict from X data")
75 .def(
"get_archive", &T::get_archive)
76 .def(
"get_population", &T::get_population)
77 .def(
"set_population", &T::set_population)
78 .def(
"get_archive_as_json", &T::get_archive_as_json)
79 .def(
"get_population_as_json", &T::get_population_as_json)
80 .def(
"set_population_from_json", &T::set_population_from_json)
83 py::arg(
"end_depth") = 0,
84 py::arg(
"keep_leaves_unlocked") =
true,
103 if constexpr (std::is_same_v<T,Cls>)
105 engine.def(
"predict_proba",
106 static_cast<ArrayXf (T::*)(
const Dataset &d)
>(&T::predict_proba),
107 "predict from Dataset object")
108 .def(
"predict_proba",
109 static_cast<ArrayXf (T::*)(
const Ref<const ArrayXXf> &X)
>(&T::predict_proba),
110 "predict from X data")