def b(self, digital_levels = 250):
minX, maxX = np.min(self.X), np.max(self.X)
digital = np.floor((self.X - minX) / (maxX - minX) * (digital_levels - 1)).astype('uint16')
assert np.max(digital) < digital_levels
counts = np.ndarray(shape=(self.X.shape[0], digital_levels), dtype='uint8')
ndcount(digital.T, counts)
print 'counts done'
result = one_class_em(counts)
auc = roc_auc_score(self.cats, result[:, 1])
predictions = np.argmax(result, axis=1)
acc = accuracy(predictions, self.cats)
return acc, auc
评论列表
文章目录