怎么自定义sklearn GridSearchCV中评估函数的阈值

  统计/机器学习 监督式学习 模型验证 Python    浏览次数:8620        分享
0

怎么自定义sklearn GridSearchCV中评估函数的阈值,比如说我想把precision定义为大于0.7才算是true

 

quentin   2018-11-27 10:45



   1个回答 
4

可能你需要用make_scorer自己定义一个scoring了,然后在GridSearchCV把scoring=你的scoring函数名


-----二更-----

也可以不用make_scorer,自己定义一个,在自己定义的scoring里面调用predict_proba得到概率

下面是一个例子

def my_scorer(clf, X, y_true):
    class_labels = clf.classes_
    y_pred_proba = clf.predict_proba(X)
    error = ...
    return error

gs = GridSearchCV(estimator=KNeighborsClassifier(),
                  param_grid=[{'n_neighbors': [6]}],
                  cv=5,
                  scoring=my_scorer)


SofaSofa数据科学社区DS面试题库 DS面经

木子周   2018-11-27 16:27

但是传入到自定义scoring里面的参数是预测结果0或1,我怎么把这个预测值变成概率? - quentin   2018-11-28 15:59
我更新了我的回答,可以看看 - 木子周   2018-11-28 16:23
成立,十分感谢 - quentin   2018-12-05 13:31


  相关讨论

关于sklearn.model_selection.PredefinedSplit的用法

sklearn classification_report里的support是什么意思

sklearn GridSearchCV中的refit是什么意思

sklearn.model_selection.cross_val_predict怎么固定random_state?

sklearn无法加载kfold

sklearn cross_val_score怎么同时对多个scoring进行验证

调用sklearn中的classification_report,ValueError: Mix type of y not allowed, got types set(['binary', 'continuous'])

sklearn计算MAPE

sklearn cross_val_score中的参数pre_dispatch

python里怎么安装CatBoostClassifier?

  随便看看

kNN算法有哪些缺点?

柯西分布没有数学期望

pytorch里view(-1, 1)什么意思?

牛顿法到底是一阶优化算法还是二阶优化算法?

模型调参时常用到的Grid Search是什么意思?