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

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

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

 

quentin   2018-11-27 10:45



   1个回答 
2

可能你需要用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面经 问答 实战

木子周   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的用法   1回答

sklearn classification_report里的support是什么意思   1回答

sklearn GridSearchCV中的refit是什么意思   1回答

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

sklearn计算MAPE   1回答

sklearn cross_val_score中的参数pre_dispatch   1回答

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

sklearn里LogisticRegressionCV中的参量Cs什么意思   1回答

sklearn里learning_rate什么意思?   2回答

sklearn实现adaboost算法了吗?   1回答

sklearn.linear_model.SGDClassifier能做小批量学习(mini-batch)吗?   2回答

GradientBoostingClassifier的每次输出结果不同   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!