MCPcopy Create free account
hub / github.com/Xtra-Computing/thundersvm / predict_proba

Method predict_proba

python/thundersvm/thundersvm.py:291–325  ·  view source on GitHub ↗
(self, X)

Source from the content-addressed store, hash-verified

289 return predict(X)
290
291 def predict_proba(self, X):
292 n_classes = (c_int * 1)()
293 thundersvm.get_n_classes(c_void_p(self.model), n_classes)
294 self.n_classes = n_classes[0]
295 if self.probability == 0:
296 print("Should fit with probability = 1")
297 return
298 else:
299 size = X.shape[0] * self.n_classes
300 samples = X.shape[0]
301 self.predict_pro_ptr = (c_float * size)()
302 X = self._validate_for_predict(X)
303 if self._sparse:
304 self._sparse_predict(X)
305 else:
306 self._dense_predict(X)
307 # size = X.shape[0] * self.n_classes
308 # self.predict_pro_ptr = (c_float * size)()
309 # X = np.asarray(X, dtype=np.float64, order='C')
310 #
311 # self.predict_label_ptr = (c_float * X.shape[0])()
312 # samples = X.shape[0]
313 # features = X.shape[1]
314 # X_1d = X.ravel()
315 #
316 # data = (c_float * X_1d.size)()
317 # data[:] = X_1d
318 # thundersvm.dense_predict(
319 # samples, features, data,
320 # c_void_p(self.model),
321 # self.predict_label_ptr)
322 thundersvm.get_pro(c_void_p(self.model), self.predict_pro_ptr)
323 self.predict_prob = np.frombuffer(self.predict_pro_ptr, dtype=np.float32)\
324 .reshape((samples, self.n_classes))
325 return self.predict_prob
326
327 def _dense_predict(self, X):
328

Callers

nothing calls this directly

Calls 4

_validate_for_predictMethod · 0.95
_sparse_predictMethod · 0.95
_dense_predictMethod · 0.95
get_n_classesMethod · 0.80

Tested by

no test coverage detected