zoukankan      html  css  js  c++  java
  • 分段覆盖率TPR

     

    黑产监控中,需要尽可能做到尽可能少的误伤和尽可能准确地探测,可以选择“在FPR较低时的TPR加权平均值”作为平均指标。

    根据混淆矩阵计算TPR(覆盖率)和FPR(打扰率):

    覆盖率:TPR = TP /(TP + FN)

    打扰率:FPR = FP /(FP + TN)

    TP、FN、FP、TN分别为真正例、假反例、假正例、真反例

    通过设定不同的阈值,会有一系列TPR和FPR,就可以绘制出ROC曲线:

    这里的评分指标,首先计算3个覆盖率TPR:

    TPR1:FPR=0.001时的TPR

    TPR2:FPR=0.005时的TPR

    TPR3:FPR=0.01  时的TPR

    最终成绩= 0.4 * TPR1 + 0.3 * TPR2 + 0.3 * TPR3 

    def tpr_weight_funtion(y_true,y_predict):
      """
      y_true:真实的类别
      y_predict:预测的类别
      """ d
    = pd.DataFrame() d['prob'] = list(y_predict) d['y'] = list(y_true) d = d.sort_values(['prob'], ascending=[0]) y = d.y PosAll = pd.Series(y).value_counts()[1] NegAll = pd.Series(y).value_counts()[0] pCumsum = d['y'].cumsum() nCumsum = np.arange(len(y)) - pCumsum + 1 pCumsumPer = pCumsum / PosAll nCumsumPer = nCumsum / NegAll TR1 = pCumsumPer[abs(nCumsumPer-0.001).idxmin()] TR2 = pCumsumPer[abs(nCumsumPer-0.005).idxmin()] TR3 = pCumsumPer[abs(nCumsumPer-0.01).idxmin()] return 0.4 * TR1 + 0.3 * TR2 + 0.3 * TR3
  • 相关阅读:
    Hibernate连接mysql数据库的配置
    opendaynight(karaf) 和 mininet测试openflow
    电信新势力,TIP/CORD能颠覆电信设备商吗?
    minnet sample
    ONIE
    升级Mininet自带的OpenvSwitch & 编译OpenvSwitch
    mininet test
    dpctl 命令实践
    白盒交换机
    Wedge 100-32X 100GbE Data Center Switch
  • 原文地址:https://www.cnblogs.com/wzdLY/p/9987921.html
Copyright © 2011-2022 走看看