| 325 | return self.predict_prob |
| 326 | |
| 327 | def _dense_predict(self, X): |
| 328 | |
| 329 | self.predict_label_ptr = (c_float * X.shape[0])() |
| 330 | X = np.asarray(X, dtype=np.float64, order='C') |
| 331 | samples = X.shape[0] |
| 332 | features = X.shape[1] |
| 333 | X_1d = X.ravel() |
| 334 | |
| 335 | data = (c_float * X_1d.size)() |
| 336 | data[:] = X_1d |
| 337 | thundersvm.dense_predict( |
| 338 | samples, features, data, |
| 339 | c_void_p(self.model), |
| 340 | self.predict_label_ptr, self.verbose) |
| 341 | |
| 342 | self.predict_label = np.frombuffer(self.predict_label_ptr, dtype=np.float32) |
| 343 | return self.predict_label |
| 344 | |
| 345 | def _sparse_predict(self, X): |
| 346 | self.predict_label_ptr = (c_float * X.shape[0])() |