| 121 | // ---------------------------------------------------------------------------------------- |
| 122 | |
| 123 | void bind_svm_rank_trainer(py::module& m) |
| 124 | { |
| 125 | py::class_<ranking_pair<sample_type> >(m, "ranking_pair") |
| 126 | .def(py::init()) |
| 127 | .def_readwrite("relevant", &ranking_pair<sample_type>::relevant) |
| 128 | .def_readwrite("nonrelevant", &ranking_pair<sample_type>::nonrelevant) |
| 129 | .def(py::pickle(&getstate<ranking_pair<sample_type>>, &setstate<ranking_pair<sample_type>>)); |
| 130 | |
| 131 | py::class_<ranking_pair<sparse_vect> >(m, "sparse_ranking_pair") |
| 132 | .def(py::init()) |
| 133 | .def_readwrite("relevant", &ranking_pair<sparse_vect>::relevant) |
| 134 | .def_readwrite("nonrelevant", &ranking_pair<sparse_vect>::nonrelevant) |
| 135 | .def(py::pickle(&getstate<ranking_pair<sparse_vect>>, &setstate<ranking_pair<sparse_vect>>)); |
| 136 | |
| 137 | py::bind_vector<ranking_pairs>(m, "ranking_pairs") |
| 138 | .def("clear", &ranking_pairs::clear) |
| 139 | .def("resize", resize<ranking_pairs>) |
| 140 | .def("extend", extend_vector_with_python_list<ranking_pair<sample_type>>) |
| 141 | .def(py::pickle(&getstate<ranking_pairs>, &setstate<ranking_pairs>)); |
| 142 | |
| 143 | py::bind_vector<sparse_ranking_pairs>(m, "sparse_ranking_pairs") |
| 144 | .def("clear", &sparse_ranking_pairs::clear) |
| 145 | .def("resize", resize<sparse_ranking_pairs>) |
| 146 | .def("extend", extend_vector_with_python_list<ranking_pair<sparse_vect>>) |
| 147 | .def(py::pickle(&getstate<sparse_ranking_pairs>, &setstate<sparse_ranking_pairs>)); |
| 148 | |
| 149 | add_ranker<svm_rank_trainer<linear_kernel<sample_type> > >(m, "svm_rank_trainer"); |
| 150 | add_ranker<svm_rank_trainer<sparse_linear_kernel<sparse_vect> > >(m, "svm_rank_trainer_sparse"); |
| 151 | |
| 152 | m.def("cross_validate_ranking_trainer", &_cross_ranking_validate_trainer< |
| 153 | svm_rank_trainer<linear_kernel<sample_type> >,sample_type>, |
| 154 | py::arg("trainer"), py::arg("samples"), py::arg("folds") ); |
| 155 | m.def("cross_validate_ranking_trainer", &_cross_ranking_validate_trainer< |
| 156 | svm_rank_trainer<sparse_linear_kernel<sparse_vect> > ,sparse_vect>, |
| 157 | py::arg("trainer"), py::arg("samples"), py::arg("folds") ); |
| 158 | } |
| 159 | |
| 160 | |
| 161 |
no test coverage detected