Home:ALL Converter>Using sklearn internal function

Using sklearn internal function

Ask Time:2015-09-15T23:03:49         Author:Philipp

Json Formatter

I'm using the scikit-learn library for my daily MVA business. One of the functions I use is the roc_curve() method to get my ROC curves. The function returns the false-positive and true-positive rates. In my field (HEP), we prefer working with efficiencies, i.e. I want to normalise the number of true positives to the total number of positives.

To get what I need, I want to re-use the _binary_clf_curve() function in sklearn.metric.rankings, i.e.

def roc_curve_eff(y_true, y_score, pos_label=None, sample_weight=None) :
    fps, tps, _ = _binary_clf_curve(
        y_true, y_score, pos_label=pos_label, sample_weight=sample_weight)

    teff = tps / (tps[-1] - tps)
    feff = fps / (fps[-1] - fps)

    return feff, teff, _

and to load it into the local namespace I call from sklearn.metrics.rankings import _binary_clf_curve .

Doing so his gives me the following error:

ImportError                               
Traceback (most recent call last)
<ipython-input-10-d1d6b7292e7f> in <module>()
 11 from root_numpy import root2array, rec2array
 12 from sklearn.metrics import roc_curve, auc
---> 13 from sklearn.metrics.rankings import _binary_clf_curve
 14 
 15 #import sklearn as sklearn_

/Users/pigard/ROOT/install/lib/ROOT.pyc in _importhook(name, *args, **kwds)
299       except Exception:
300          pass
--> 301    return _orig_ihook( name, *args, **kwds )
302 
303 __builtin__.__import__ = _importhook

ImportError: No module named rankings

I think the issue here is the distinction between module and file: the _binary_clf_curve helper function is not added to the module (because it need not be exposed to the user) so I need to load it not from the module, but from the file?

Author:Philipp,eproduced under the CC 4.0 BY-SA copyright license with a link to the original source and this disclaimer.
Link to original article:https://stackoverflow.com/questions/32589447/using-sklearn-internal-function
yy