将Keras / sklearn与来自sklearn.calibration的CalibratedClassifierCV一起使用

roh*_*gar 8 scikit-learn keras

是否可以将sklearn.calibration中的CalirasatedClassifierCV与Keras模型对象一起使用?还是有另一种方法可以在sklearn /其他python包中执行等渗回归,而不必将其传递给模型对象。

我尝试为Keras使用sklearn包装器,但是没有用。 这是CalibratedClassifierCV类的文档

小智 2

您可以在预测后事后训练等渗回归。让'file1'是一个 csv,其中包含您对数据子集的预测pred和实际观察到的事件。obs理想情况下,这个子集以前从未使用过(甚至在 Keras 训练中也没有使用过)。让file2包含您想要校准的预测(测试集的 Keras 预测)。

    import pandas as pd
    from sklearn.isotonic import IsotonicRegression
    never_seen=pd.read_csv('file1') 
    uncalibrated=pd.read_csv('file2')   
    
    ir = IsotonicRegression( out_of_bounds = 'clip' )   
    ir.fit( never_seen.pred,never_seen.obs )
    p_calibrated = ir.transform( uncalibrated.pred )
Run Code Online (Sandbox Code Playgroud)