sklearn.metrics.make_scorer详解

官方说明文档:点这里
从性能指标或损失函数中创建一个记分标准。
这个函数封装了用于GridSearchCV和cross_val_score的评分函数,它接受一个评分函数,如accuracy_score、mean_squared_error、adjusted_rand_index或average_precision,并返回一个可调用的值,该值对学习器的输出进行评分。
它的使用形式如下:

sklearn.metrics.make_scorer(score_func, greater_is_better=True, needs_proba=False, needs_threshold=False, **kwargs)

它的参数如下:

score_func一个可调用的记分函数,如sklearn.metrics.accuracy_score等,也可以是一个损失函数,如sklearn.metrics.mean_squared_error等
greater_is_better输入的score_func为记分函数时,该值为True(默认值);输入函数为损失函数时,该值为False;在后面这种情况中,得到的对象会对结果进行翻转,因为损失函数意味着函数值越小,拟合情况越好
needs_probascore_func是否需要获得一个predict_proba来得到分类器的概率估计,
如果是True,对于二元的标签值,score_function需要接受的y_pred是一个一维的
needs_thresholdscore_func是否具有连续的决策确定性。这只适用于使用具有decision_function或predict_proba方法的分类器的二元分类。如果为真,对于二进制y_true, score函数应该接受一维的y_pred(即,正类或决策函数的概率)。例如,平均精度或roc曲线下的面积不能使用离散预测来计算

这个函数返回的是一个可调用的记分对象。
实例如下:

model = LGBMRegressor(max_depth=5,num_leaves=10,objective="regression")
score_ = cross_val_score(model,X = X_train,y=Y_train,verbose=0,scoring=make_scorer(mean_squared_error))
print(score_)

输出结果:[0.46157155 0.47102463 0.47506401 0.44817591 0.46550807]

  • 4
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
可以使用sklearn.metrics中的precision_recall_curve函数来计算precision-recall曲线。该函数的参数包括y_true(真实标签)、probas_pred(预测概率值)、pos_label(正类标签,默认为None)和sample_weight(样本权重,默认为None)\[1\]。该函数会返回precision(精确率)、recall(召回率)和thresholds(阈值)三个数组\[3\]。你可以通过导入precision_recall_curve函数并传入相应的参数来计算PR曲线\[3\]。例如,你可以使用以下代码计算PR曲线: ```python from sklearn.metrics import precision_recall_curve y_true = \[0, 0, 1, 1\] y_score = \[0.1, 0.4, 0.35, 0.8\] precision, recall, thresholds = precision_recall_curve(y_true, y_score) print(precision) print(recall) print(thresholds) ``` 运行以上代码会输出precision、recall和thresholds的值\[3\]。 #### 引用[.reference_title] - *1* *2* [python画PR曲线(precision-recall曲线)](https://blog.csdn.net/weixin_38314865/article/details/104512608)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [python计算PR曲线sklearn.metrics.precision_recall_curve](https://blog.csdn.net/weixin_38314865/article/details/107793043)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值