Python numpy.true_divide() Examples
The following are 30
code examples of numpy.true_divide().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
numpy
, or try the search function
.

Example #1
Source File: linear_svm.py From discomll with Apache License 2.0 | 6 votes |
def reduce_fit(interface, state, label, inp): """ Function joins all partially calculated matrices ETE and ETDe, aggregates them and it calculates final parameters. """ import numpy as np out = interface.output(0) sum_etde = 0 sum_ete = [0 for _ in range(len(state["X_indices"]) + 1)] for key, value in inp: if key == "etde": sum_etde += value else: sum_ete[key] += value sum_ete += np.true_divide(np.eye(len(sum_ete)), state["nu"]) out.add("params", np.linalg.lstsq(sum_ete, sum_etde)[0])
Example #2
Source File: test_ufunc.py From recruit with Apache License 2.0 | 6 votes |
def test_NotImplemented_not_returned(self): # See gh-5964 and gh-2091. Some of these functions are not operator # related and were fixed for other reasons in the past. binary_funcs = [ np.power, np.add, np.subtract, np.multiply, np.divide, np.true_divide, np.floor_divide, np.bitwise_and, np.bitwise_or, np.bitwise_xor, np.left_shift, np.right_shift, np.fmax, np.fmin, np.fmod, np.hypot, np.logaddexp, np.logaddexp2, np.logical_and, np.logical_or, np.logical_xor, np.maximum, np.minimum, np.mod, np.greater, np.greater_equal, np.less, np.less_equal, np.equal, np.not_equal] a = np.array('1') b = 1 c = np.array([1., 2.]) for f in binary_funcs: assert_raises(TypeError, f, a, b) assert_raises(TypeError, f, c, a)
Example #3
Source File: test_ufunc.py From auto-alt-text-lambda-api with MIT License | 6 votes |
def test_NotImplemented_not_returned(self): # See gh-5964 and gh-2091. Some of these functions are not operator # related and were fixed for other reasons in the past. binary_funcs = [ np.power, np.add, np.subtract, np.multiply, np.divide, np.true_divide, np.floor_divide, np.bitwise_and, np.bitwise_or, np.bitwise_xor, np.left_shift, np.right_shift, np.fmax, np.fmin, np.fmod, np.hypot, np.logaddexp, np.logaddexp2, np.logical_and, np.logical_or, np.logical_xor, np.maximum, np.minimum, np.mod ] # These functions still return NotImplemented. Will be fixed in # future. # bad = [np.greater, np.greater_equal, np.less, np.less_equal, np.not_equal] a = np.array('1') b = 1 for f in binary_funcs: assert_raises(TypeError, f, a, b)
Example #4
Source File: eval_mars.py From person-reid-lib with MIT License | 6 votes |
def confusion_matrix(ap, r1, cam_p, nCam): ap_mat = np.zeros((nCam, nCam), np.float32) r1_mat = np.zeros((nCam, nCam), np.float32) count1 = np.zeros((nCam, nCam), np.float32) + 1e-5 count2 = np.zeros((nCam, nCam), np.float32) + 1e-5 for i_p, p_i in enumerate(cam_p): for cam_i in range(nCam): ap_mat[p_i, cam_i] += ap[i_p, cam_i] if ap[i_p, cam_i] != 0: count1[p_i, cam_i] += 1 if r1[i_p, cam_i] >= 0: r1_mat[p_i, cam_i] += r1[i_p, cam_i] count2[p_i, cam_i] += 1 ap_mat = np.true_divide(ap_mat, count1) r1_mat = np.true_divide(r1_mat, count2) return r1_mat, ap_mat
Example #5
Source File: test_ufunc.py From vnpy_crypto with MIT License | 6 votes |
def test_NotImplemented_not_returned(self): # See gh-5964 and gh-2091. Some of these functions are not operator # related and were fixed for other reasons in the past. binary_funcs = [ np.power, np.add, np.subtract, np.multiply, np.divide, np.true_divide, np.floor_divide, np.bitwise_and, np.bitwise_or, np.bitwise_xor, np.left_shift, np.right_shift, np.fmax, np.fmin, np.fmod, np.hypot, np.logaddexp, np.logaddexp2, np.logical_and, np.logical_or, np.logical_xor, np.maximum, np.minimum, np.mod ] # These functions still return NotImplemented. Will be fixed in # future. # bad = [np.greater, np.greater_equal, np.less, np.less_equal, np.not_equal] a = np.array('1') b = 1 for f in binary_funcs: assert_raises(TypeError, f, a, b)
Example #6
Source File: utils.py From Brats2019 with MIT License | 6 votes |
def fit_cube_param(vol_dim, cube_size, ita): dim = np.asarray(vol_dim) fold = dim / cube_size + ita ovlap = np.ceil( np.true_divide( (fold * cube_size - dim), (fold - 1))) # dim+ita*cubesize-dim ovlap = ovlap.astype('int') # print( "ovlap:", str( ovlap ) )#[62 62 86] fold = np.ceil(np.true_divide((dim + (fold - 1) * ovlap), cube_size)) fold = fold.astype('int') # print( "fold:", str( fold) ) fold: [8 8 6] return fold, ovlap # decompose volume into list of cubes
Example #7
Source File: test_ufunc.py From Mastering-Elasticsearch-7.0 with MIT License | 6 votes |
def test_NotImplemented_not_returned(self): # See gh-5964 and gh-2091. Some of these functions are not operator # related and were fixed for other reasons in the past. binary_funcs = [ np.power, np.add, np.subtract, np.multiply, np.divide, np.true_divide, np.floor_divide, np.bitwise_and, np.bitwise_or, np.bitwise_xor, np.left_shift, np.right_shift, np.fmax, np.fmin, np.fmod, np.hypot, np.logaddexp, np.logaddexp2, np.logical_and, np.logical_or, np.logical_xor, np.maximum, np.minimum, np.mod, np.greater, np.greater_equal, np.less, np.less_equal, np.equal, np.not_equal] a = np.array('1') b = 1 c = np.array([1., 2.]) for f in binary_funcs: assert_raises(TypeError, f, a, b) assert_raises(TypeError, f, c, a)
Example #8
Source File: math_ops.py From trax with Apache License 2.0 | 6 votes |
def true_divide(x1, x2): def _avoid_float64(x1, x2): if x1.dtype == x2.dtype and x1.dtype in (tf.int32, tf.int64): x1 = tf.cast(x1, dtype=tf.float32) x2 = tf.cast(x2, dtype=tf.float32) return x1, x2 def f(x1, x2): if x1.dtype == tf.bool: assert x2.dtype == tf.bool float_ = dtypes.default_float_type() x1 = tf.cast(x1, float_) x2 = tf.cast(x2, float_) if not dtypes.is_allow_float64(): # tf.math.truediv in Python3 produces float64 when both inputs are int32 # or int64. We want to avoid that when is_allow_float64() is False. x1, x2 = _avoid_float64(x1, x2) return tf.math.truediv(x1, x2) return _bin_op(f, x1, x2)
Example #9
Source File: test_ufunc.py From GraphicDesignPatternByPython with MIT License | 6 votes |
def test_NotImplemented_not_returned(self): # See gh-5964 and gh-2091. Some of these functions are not operator # related and were fixed for other reasons in the past. binary_funcs = [ np.power, np.add, np.subtract, np.multiply, np.divide, np.true_divide, np.floor_divide, np.bitwise_and, np.bitwise_or, np.bitwise_xor, np.left_shift, np.right_shift, np.fmax, np.fmin, np.fmod, np.hypot, np.logaddexp, np.logaddexp2, np.logical_and, np.logical_or, np.logical_xor, np.maximum, np.minimum, np.mod ] # These functions still return NotImplemented. Will be fixed in # future. # bad = [np.greater, np.greater_equal, np.less, np.less_equal, np.not_equal] a = np.array('1') b = 1 for f in binary_funcs: assert_raises(TypeError, f, a, b)
Example #10
Source File: evals.py From LaMP with MIT License | 6 votes |
def f1_score_from_stats(tp, fp, fn, average='micro'): assert len(tp) == len(fp) assert len(fp) == len(fn) if average not in set(['micro', 'macro']): raise ValueError("Specify micro or macro") if average == 'micro': f1 = 2*numpy.sum(tp) / \ float(2*numpy.sum(tp) + numpy.sum(fp) + numpy.sum(fn)) elif average == 'macro': def safe_div(a, b): """ ignore / 0, div0( [-1, 0, 1], 0 ) -> [0, 0, 0] """ with numpy.errstate(divide='ignore', invalid='ignore'): c = numpy.true_divide(a, b) return c[numpy.isfinite(c)] f1 = numpy.mean(safe_div(2*tp, 2*tp + fp + fn)) return f1
Example #11
Source File: cwise_ops_test.py From deep_image_model with Apache License 2.0 | 6 votes |
def testFloatBasic(self): x = np.linspace(-5, 20, 15).reshape(1, 3, 5).astype(np.float32) y = np.linspace(20, -5, 15).reshape(1, 3, 5).astype(np.float32) self._compareBoth(x, y, np.add, tf.add, also_compare_variables=True) self._compareBoth(x, y, np.subtract, tf.sub) self._compareBoth(x, y, np.multiply, tf.mul) self._compareBoth(x, y + 0.1, np.true_divide, tf.truediv) self._compareBoth(x, y + 0.1, np.floor_divide, tf.floordiv) self._compareBoth(x, y, np.add, _ADD) self._compareBoth(x, y, np.subtract, _SUB) self._compareBoth(x, y, np.multiply, _MUL) self._compareBoth(x, y + 0.1, np.true_divide, _TRUEDIV) self._compareBoth(x, y + 0.1, np.floor_divide, _FLOORDIV) try: from scipy import special # pylint: disable=g-import-not-at-top a_pos_small = np.linspace(0.1, 2, 15).reshape(1, 3, 5).astype(np.float32) x_pos_small = np.linspace(0.1, 10, 15).reshape(1, 3, 5).astype(np.float32) self._compareBoth(a_pos_small, x_pos_small, special.gammainc, tf.igamma) self._compareBoth(a_pos_small, x_pos_small, special.gammaincc, tf.igammac) # Need x > 1 self._compareBoth(x_pos_small + 1, a_pos_small, special.zeta, tf.zeta) n_small = np.arange(0, 15).reshape(1, 3, 5).astype(np.float32) self._compareBoth(n_small, x_pos_small, special.polygamma, tf.polygamma) except ImportError as e: tf.logging.warn("Cannot test special functions: %s" % str(e))
Example #12
Source File: cwise_ops_test.py From deep_image_model with Apache License 2.0 | 6 votes |
def testDoubleBasic(self): x = np.linspace(-5, 20, 15).reshape(1, 3, 5).astype(np.float64) y = np.linspace(20, -5, 15).reshape(1, 3, 5).astype(np.float64) self._compareBoth(x, y, np.add, tf.add) self._compareBoth(x, y, np.subtract, tf.sub) self._compareBoth(x, y, np.multiply, tf.mul) self._compareBoth(x, y + 0.1, np.true_divide, tf.truediv) self._compareBoth(x, y + 0.1, np.floor_divide, tf.floordiv) self._compareBoth(x, y, np.add, _ADD) self._compareBoth(x, y, np.subtract, _SUB) self._compareBoth(x, y, np.multiply, _MUL) self._compareBoth(x, y + 0.1, np.true_divide, _TRUEDIV) self._compareBoth(x, y + 0.1, np.floor_divide, _FLOORDIV) try: from scipy import special # pylint: disable=g-import-not-at-top a_pos_small = np.linspace(0.1, 2, 15).reshape(1, 3, 5).astype(np.float32) x_pos_small = np.linspace(0.1, 10, 15).reshape(1, 3, 5).astype(np.float32) self._compareBoth(a_pos_small, x_pos_small, special.gammainc, tf.igamma) self._compareBoth(a_pos_small, x_pos_small, special.gammaincc, tf.igammac) except ImportError as e: tf.logging.warn("Cannot test special functions: %s" % str(e))
Example #13
Source File: cwise_ops_test.py From deep_image_model with Apache License 2.0 | 6 votes |
def testInt32Basic(self): x = np.arange(1, 13, 2).reshape(1, 3, 2).astype(np.int32) y = np.arange(1, 7, 1).reshape(1, 3, 2).astype(np.int32) self._compareBoth(x, y, np.add, tf.add) self._compareBoth(x, y, np.subtract, tf.sub) self._compareBoth(x, y, np.multiply, tf.mul) self._compareBoth(x, y, np.true_divide, tf.truediv) self._compareBoth(x, y, np.floor_divide, tf.floordiv) self._compareBoth(x, y, np.mod, tf.mod) self._compareBoth(x, y, np.add, _ADD) self._compareBoth(x, y, np.subtract, _SUB) self._compareBoth(x, y, np.multiply, _MUL) self._compareBoth(x, y, np.true_divide, _TRUEDIV) self._compareBoth(x, y, np.floor_divide, _FLOORDIV) self._compareBoth(x, y, np.mod, _MOD) # _compareBoth tests on GPU only for floating point types, so test # _MOD for int32 on GPU by calling _compareGpu self._compareGpu(x, y, np.mod, _MOD)
Example #14
Source File: measures.py From discomll with Apache License 2.0 | 5 votes |
def h(values): """ Function calculates entropy. values: list of integers """ ent = np.true_divide(values, np.sum(values)) return -np.sum(np.multiply(ent, np.log2(ent)))
Example #15
Source File: measures.py From discomll with Apache License 2.0 | 5 votes |
def info_gain_numeric(x, y, accuracy): x_unique = list(np.unique(x)) if len(x_unique) == 1: return None indices = x.argsort() # sort numeric attribute x, y = x[indices], y[indices] # save sorted features with sorted labels right_dist = np.bincount(y) dummy_class = np.array([len(right_dist)]) class_indices = right_dist.nonzero()[0] right_dist = right_dist[class_indices] left_dist = np.zeros(len(class_indices)) diffs = np.nonzero(y[:-1] != y[1:])[0] + 1 # different neighbor classes have value True if accuracy > 0: diffs = np.array([diffs[i] for i in range(1, len(diffs)) if diffs[i] - diffs[i - 1] > accuracy], dtype=np.int32) if len(diffs) > 15 else diffs intervals = np.array((np.concatenate(([0], diffs[:-1])), diffs)).T if len(diffs) < 2: return None max_ig, max_i, max_j = 0, 0, 0 prior_h = h(right_dist) # calculate prior entropy for i, j in intervals: dist = np.bincount(np.concatenate((dummy_class, y[i:j])))[class_indices] left_dist += dist right_dist -= dist coef = np.true_divide((np.sum(left_dist), np.sum(right_dist)), len(y)) ig = prior_h - np.dot(coef, [h(left_dist[left_dist.nonzero()]), h(right_dist[right_dist.nonzero()])]) if ig > max_ig: max_ig, max_i, max_j = ig, i, j if x[max_i] == x[max_j]: ind = x_unique.index(x[max_i]) mean = np.float32(np.mean((x_unique[1 if ind == 0 else ind - 1], x_unique[ind]))) else: mean = np.float32(np.mean((x[max_i], x[max_j]))) return float(max_ig), [mean, mean]
Example #16
Source File: string.py From recordlinkage with BSD 3-Clause "New" or "Revised" License | 5 votes |
def qgram_similarity(s1, s2, include_wb=True, ngram=(2, 2)): if len(s1) != len(s2): raise ValueError('Arrays or Series have to be same length.') if len(s1) == len(s2) == 0: return [] # include word boundaries or not analyzer = 'char_wb' if include_wb is True else 'char' # prepare data data = s1.append(s2).fillna('') # The vectorizer vectorizer = CountVectorizer( analyzer=analyzer, strip_accents='unicode', ngram_range=ngram) vec_fit = vectorizer.fit_transform(data) def _metric_sparse_euclidean(u, v): match_ngrams = u.minimum(v).sum(axis=1) total_ngrams = np.maximum(u.sum(axis=1), v.sum(axis=1)) # division by zero is not possible in our case, but 0/0 is possible. # Numpy raises a warning in that case. with warnings.catch_warnings(): warnings.simplefilter("ignore") m = np.true_divide(match_ngrams, total_ngrams).A1 return m return _metric_sparse_euclidean(vec_fit[:len(s1)], vec_fit[len(s1):])
Example #17
Source File: dataset.py From rcan-tensorflow with MIT License | 5 votes |
def img_scaling(img, scale='0,1'): if scale == '0,1': try: img /= 255. except TypeError: # ufunc 'true divide' output ~ img = np.true_divide(img, 255.0, casting='unsafe') elif scale == '-1,1': try: img = (img / 127.5) - 1. except TypeError: img = np.true_divide(img, 127.5, casting='unsafe') - 1. else: raise ValueError("[-] Only '0,1' or '-1,1' please - (%s)" % scale) return img
Example #18
Source File: histograms.py From recruit with Apache License 2.0 | 5 votes |
def _hist_bin_doane(x, range): """ Doane's histogram bin estimator. Improved version of Sturges' formula which works better for non-normal data. See stats.stackexchange.com/questions/55134/doanes-formula-for-histogram-binning Parameters ---------- x : array_like Input data that is to be histogrammed, trimmed to range. May not be empty. Returns ------- h : An estimate of the optimal bin width for the given data. """ del range # unused if x.size > 2: sg1 = np.sqrt(6.0 * (x.size - 2) / ((x.size + 1.0) * (x.size + 3))) sigma = np.std(x) if sigma > 0.0: # These three operations add up to # g1 = np.mean(((x - np.mean(x)) / sigma)**3) # but use only one temp array instead of three temp = x - np.mean(x) np.true_divide(temp, sigma, temp) np.power(temp, 3, temp) g1 = np.mean(temp) return x.ptp() / (1.0 + np.log2(x.size) + np.log2(1.0 + np.absolute(g1) / sg1)) return 0.0
Example #19
Source File: test_core.py From recruit with Apache License 2.0 | 5 votes |
def test_ufunc_nomask(self): # check the case ufuncs should set the mask to false m = np.ma.array([1]) # check we don't get array([False], dtype=bool) assert_equal(np.true_divide(m, 5).mask.shape, ())
Example #20
Source File: test_core.py From recruit with Apache License 2.0 | 5 votes |
def test_testUfuncRegression(self): # Tests new ufuncs on MaskedArrays. for f in ['sqrt', 'log', 'log10', 'exp', 'conjugate', 'sin', 'cos', 'tan', 'arcsin', 'arccos', 'arctan', 'sinh', 'cosh', 'tanh', 'arcsinh', 'arccosh', 'arctanh', 'absolute', 'fabs', 'negative', 'floor', 'ceil', 'logical_not', 'add', 'subtract', 'multiply', 'divide', 'true_divide', 'floor_divide', 'remainder', 'fmod', 'hypot', 'arctan2', 'equal', 'not_equal', 'less_equal', 'greater_equal', 'less', 'greater', 'logical_and', 'logical_or', 'logical_xor', ]: try: uf = getattr(umath, f) except AttributeError: uf = getattr(fromnumeric, f) mf = getattr(numpy.ma.core, f) args = self.d[:uf.nin] ur = uf(*args) mr = mf(*args) assert_equal(ur.filled(0), mr.filled(0), f) assert_mask_equal(ur.mask, mr.mask, err_msg=f)
Example #21
Source File: __init__.py From deepchem with MIT License | 5 votes |
def kappa_score(y_true, y_pred): """Calculate Cohen's kappa for classification tasks. See https://en.wikipedia.org/wiki/Cohen%27s_kappa Note that this implementation of Cohen's kappa expects binary labels. Parameters ---------- y_true: np.ndarray Numpy array containing true values. y_pred: np.ndarray Numpy array containing predicted values. Returns ------- kappa: np.ndarray Numpy array containing kappa for each classification task. Raises ------ AssertionError: If y_true and y_pred are not the same size, or if class labels are not in [0, 1]. """ assert len(y_true) == len(y_pred), 'Number of examples does not match.' yt = np.asarray(y_true, dtype=int) yp = np.asarray(y_pred, dtype=int) assert np.array_equal( np.unique(yt), [0, 1]), ('Class labels must be binary: %s' % np.unique(yt)) observed_agreement = np.true_divide( np.count_nonzero(np.equal(yt, yp)), len(yt)) expected_agreement = np.true_divide( np.count_nonzero(yt == 1) * np.count_nonzero(yp == 1) + np.count_nonzero(yt == 0) * np.count_nonzero(yp == 0), len(yt)**2) kappa = np.true_divide(observed_agreement - expected_agreement, 1.0 - expected_agreement) return kappa
Example #22
Source File: metrics_test.py From deepchem with MIT License | 5 votes |
def test_kappa_score(self): y_true = [1, 0, 1, 0] y_pred = [0.8, 0.2, 0.3, 0.4] # [1, 0, 0, 0] with 0.5 threshold kappa = dc.metrics.kappa_score(y_true, np.greater(y_pred, 0.5)) observed_agreement = 3.0 / 4.0 expected_agreement = ((2 * 1) + (2 * 3)) / 4.0**2 expected_kappa = np.true_divide(observed_agreement - expected_agreement, 1.0 - expected_agreement) self.assertAlmostEqual(kappa, expected_kappa)
Example #23
Source File: strat_plot.py From Recycler with BSD 3-Clause "New" or "Revised" License | 5 votes |
def ref_counts_plot(ref, prop, prop_ind, ranges): x_vals = get_x_mids(ranges[prop_ind]) row = ref.get_prop(prop) instances = np.array([a[1] for a in row]) instances = np.true_divide(instances, sum(instances)) axarr[1][prop_ind].scatter(x_vals, instances, c=ref.color, marker=ref.marker, s=100) axarr[1][prop_ind].plot(x_vals, instances, c=ref.color)
Example #24
Source File: normalization.py From RoBO with BSD 3-Clause "New" or "Revised" License | 5 votes |
def zero_one_normalization(X, lower=None, upper=None): if lower is None: lower = np.min(X, axis=0) if upper is None: upper = np.max(X, axis=0) X_normalized = np.true_divide((X - lower), (upper - lower)) return X_normalized, lower, upper
Example #25
Source File: histograms.py From lambda-packs with MIT License | 5 votes |
def _hist_bin_doane(x): """ Doane's histogram bin estimator. Improved version of Sturges' formula which works better for non-normal data. See stats.stackexchange.com/questions/55134/doanes-formula-for-histogram-binning Parameters ---------- x : array_like Input data that is to be histogrammed, trimmed to range. May not be empty. Returns ------- h : An estimate of the optimal bin width for the given data. """ if x.size > 2: sg1 = np.sqrt(6.0 * (x.size - 2) / ((x.size + 1.0) * (x.size + 3))) sigma = np.std(x) if sigma > 0.0: # These three operations add up to # g1 = np.mean(((x - np.mean(x)) / sigma)**3) # but use only one temp array instead of three temp = x - np.mean(x) np.true_divide(temp, sigma, temp) np.power(temp, 3, temp) g1 = np.mean(temp) return x.ptp() / (1.0 + np.log2(x.size) + np.log2(1.0 + np.absolute(g1) / sg1)) return 0.0
Example #26
Source File: base.py From lambda-packs with MIT License | 5 votes |
def __truediv__(self, other): return self._divide(other, true_divide=True)
Example #27
Source File: base.py From lambda-packs with MIT License | 5 votes |
def __div__(self, other): # Always do true division return self._divide(other, true_divide=True)
Example #28
Source File: function_base.py From lambda-packs with MIT License | 5 votes |
def _hist_bin_doane(x): """ Doane's histogram bin estimator. Improved version of Sturges' formula which works better for non-normal data. See http://stats.stackexchange.com/questions/55134/doanes-formula-for-histogram-binning Parameters ---------- x : array_like Input data that is to be histogrammed, trimmed to range. May not be empty. Returns ------- h : An estimate of the optimal bin width for the given data. """ if x.size > 2: sg1 = np.sqrt(6.0 * (x.size - 2) / ((x.size + 1.0) * (x.size + 3))) sigma = np.std(x) if sigma > 0.0: # These three operations add up to # g1 = np.mean(((x - np.mean(x)) / sigma)**3) # but use only one temp array instead of three temp = x - np.mean(x) np.true_divide(temp, sigma, temp) np.power(temp, 3, temp) g1 = np.mean(temp) return x.ptp() / (1.0 + np.log2(x.size) + np.log2(1.0 + np.absolute(g1) / sg1)) return 0.0
Example #29
Source File: test_core.py From lambda-packs with MIT License | 5 votes |
def test_testUfuncRegression(self): # Tests new ufuncs on MaskedArrays. for f in ['sqrt', 'log', 'log10', 'exp', 'conjugate', 'sin', 'cos', 'tan', 'arcsin', 'arccos', 'arctan', 'sinh', 'cosh', 'tanh', 'arcsinh', 'arccosh', 'arctanh', 'absolute', 'fabs', 'negative', 'floor', 'ceil', 'logical_not', 'add', 'subtract', 'multiply', 'divide', 'true_divide', 'floor_divide', 'remainder', 'fmod', 'hypot', 'arctan2', 'equal', 'not_equal', 'less_equal', 'greater_equal', 'less', 'greater', 'logical_and', 'logical_or', 'logical_xor', ]: try: uf = getattr(umath, f) except AttributeError: uf = getattr(fromnumeric, f) mf = getattr(numpy.ma.core, f) args = self.d[:uf.nin] ur = uf(*args) mr = mf(*args) assert_equal(ur.filled(0), mr.filled(0), f) assert_mask_equal(ur.mask, mr.mask, err_msg=f)
Example #30
Source File: __init__.py From PADME with MIT License | 5 votes |
def kappa_score(y_true, y_pred): """Calculate Cohen's kappa for classification tasks. See https://en.wikipedia.org/wiki/Cohen%27s_kappa Note that this implementation of Cohen's kappa expects binary labels. Args: y_true: Numpy array containing true values. y_pred: Numpy array containing predicted values. Returns: kappa: Numpy array containing kappa for each classification task. Raises: AssertionError: If y_true and y_pred are not the same size, or if class labels are not in [0, 1]. """ assert len(y_true) == len(y_pred), 'Number of examples does not match.' yt = np.asarray(y_true, dtype=int) yp = np.asarray(y_pred, dtype=int) assert np.array_equal( np.unique(yt), [0, 1]), ('Class labels must be binary: %s' % np.unique(yt)) observed_agreement = np.true_divide( np.count_nonzero(np.equal(yt, yp)), len(yt)) expected_agreement = np.true_divide( np.count_nonzero(yt == 1) * np.count_nonzero(yp == 1) + np.count_nonzero(yt == 0) * np.count_nonzero(yp == 0), len(yt)**2) kappa = np.true_divide(observed_agreement - expected_agreement, 1.0 - expected_agreement) return kappa