kaggle上面的score以及ROC_AUC数值咋回事

TP:真的传染病患者被检测为传染病患者

FP:假的传染病患者被检测为传染病患者

 

假如现在10000人

其中9900正常,100人禽流感。

如果你的分类器全部设定为正常,那么精度就是9900,但是这个我们关心吗?我们不关心。

我们关心的是怎么把那100人找出来并且隔离,所以我们希望TP越高越高(正隔离),FP越低越好(错隔离)

所以ROC曲线啥意思呢?

宁可错杀一千(FP)也不放过一个(TP)

 

所以kaggle上面的Public LB采用的是ROC_AUC,并不是我们常见的分类器准确率。

ROC_AUC希望错杀的越少越好,正杀的越多越好,对健康人放置不管。

------------------------------------------下面举例-------------------------------------------

        (a)    (b)    <-classified as
      -----  -----
     569014    863    (a): class -
      10014  10649    (b): class +

这个例子来自IEEE-Fraud-detection 比赛。

这个结果提交到public LB以后,得分只有0.68,所以其实是使用了

 第二行中10014  10649中的数据。

### Kaggle竞赛评估标准与评分系统 在Kaggle竞赛中,评估模型性能的标准取决于具体比赛的目标和数据集特性。通常情况下,平台会采用多种度量方法来评价参赛者提交的结果。 对于回归问题,均方误差(Mean Squared Error, MSE)或其平方根形式RMSE被广泛应用于衡量预测值与真实值之间的差异程度[^1]: ```python import numpy as np def rmse(y_true, y_pred): return np.sqrt(np.mean((y_pred - y_true)**2)) ``` 分类任务则更多依赖于精确率(Precision),召回率(Recall), F1分数(F1 Score)以及AUC-ROC曲线下的面积等指标来进行评判。这些度量能够全面反映算法识别正负样本的能力: ```python from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, roc_auc_score def evaluate_classification(y_true, y_probabilities): predictions = (y_probabilities >= 0.5).astype(int) acc = accuracy_score(y_true, predictions) prec = precision_score(y_true, predictions) rec = recall_score(y_true, predictions) f1 = f1_score(y_true, predictions) auc_roc = roc_auc_score(y_true, y_probabilities) metrics = { 'Accuracy': acc, 'Precision': prec, 'Recall': rec, 'F1-Score': f1, 'AUC-ROC': auc_roc } return metrics ``` 此外,在某些特定领域内还存在其他类型的评估方式,比如NLP中的BLEU得分用于机器翻译质量评测;推荐系统的MAP@k用来考核个性化推荐效果等等。每种竞赛都会明确规定所使用的最终排名依据及其计算逻辑,确保公平公正透明的比赛环境。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值