JSON, JSONObject, JsonObject

文章探讨了JSON在Java中的两种实现——org.json包下的JSONObject和com.google.gson库的JsonObject。JSONObject利用HashMap来存储键值对,而JsonObject则采用LinkedTreeMap。这两种数据结构在性能和特性上存在不同,影响了它们在实际应用中的选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JSON是一个抽象类

JSONObject(类) 继承 JSON

import org.json.JSONObject;

JSONObject var = xxx;

import com.google.gson.JsonObject;

JsonObject var = xxx;

JSONObject 使用HashMap 存储key:value

JsonObject 使用 LinkedTreeMap 存储key:value

### ROC 曲线概述 ROC曲线(受试者工作特征曲线)是一种广泛应用于二值分类器性能评估的图形化表示方法[^1]。该曲线通过描绘真阳性率(True Positive Rate, TPR),也称为敏感度或召回率,与假阳性率(False Positive Rate, FPR)之间的关系来展示不同阈值下的模型表现。 #### 真阳性假阳性率计算方式 对于给定的一个概率预测模型,在不同的决策边界下可以得到一系列混淆矩阵。基于此,TPR FPR 的定义如下: - **真阳性率 (TPR)** 或 召回率 = TP / (TP + FN),其中 TP 表示真正例数,FN 是指假反例数。 - **假阳性率 (FPR)** = FP / (FP + TN),这里 FP 指的是假正例数量,TN 则代表真实负例的数量。 ```python from sklearn.metrics import roc_curve, auc import matplotlib.pyplot as plt def plot_roc(y_true, y_scores): fpr, tpr, _ = roc_curve(y_true, y_scores) roc_auc = auc(fpr, tpr) plt.figure() lw = 2 plt.plot(fpr, tpr, color='darkorange', lw=lw, label=f'ROC curve (area = {roc_auc:.2f})') plt.plot([0, 1], [0, 1], color='navy', lw=lw, linestyle='--') plt.xlim([0.0, 1.0]) plt.ylim([0.0, 1.05]) plt.xlabel('False Positive Rate') plt.ylabel('True Positive Rate') plt.title('Receiver Operating Characteristic Curve') plt.legend(loc="lower right") plt.show() # 假设我们有一个真实的标签列表对应的分数/概率估计 plot_roc([0, 1, 1, 0, 1], [0.1, 0.4, 0.35, 0.8, 0.7]) ``` #### AUC 度量标准 AUC即曲线下面积(Area Under the Curve), 它衡量了整个二维空间内的积分区域大小。理想情况下,当分类器完美区分两类数据时,其AUC等于1;而随机猜测的结果对应于一条斜率为1的直线,此时AUC=0.5。因此,较高的AUC意味着更好的分类能力[^2]。 #### 使用场景考量 尽管ROC曲线提供了全面的理解视角,但在某些特定条件下可能不如其他类型的图表实用。例如,在处理高度不平衡的数据集时,精确率-召回率(Precision-Recall)图可能会提供更直观的信息[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值