精华内容
下载资源
问答
  • metrics

    2018-04-03 10:52:01
    1. sklearn.metrics.roc_curve(true_y. pred_proba_score, pos_labal)计算roc曲线,roc曲线有三个属性:fpr, tpr,和阈值,因此该函数返回这三个变量,l例如import numpy as np from sklearn.metrics import roc_curve...

    1. sklearn.metrics.roc_curve(true_y. pred_proba_score, pos_labal)

    计算roc曲线,roc曲线有三个属性:fpr, tpr,和阈值,因此该函数返回这三个变量,l例如

    import numpy as np
    from sklearn.metrics import roc_curve
    y = np.array([1,1,2,2])
    pred = np.array([0.1, 0.4, 0.35, 0.8])
    fpr, tpr, thresholds = roc_curve(y, pred, pos_label=2)
    fpr      # array([ 0. ,  0.5,  0.5,  1. ])
    tpr      # array([ 0.5,  0.5,  1. ,  1. ])
    thresholds      #array([ 0.8 ,  0.4 ,  0.35,  0.1 ])
    from sklearn.metrics import auc
    metrics.auc(fpr, tpr)
    0.75

    2. sklearn.metrics.auc(x, y, reorder=False):

    计算AUC值,其中x,y分别为数组形式,根据(xi, yi)在坐标上的点,生成的曲线,然后计算AUC值;

    3. sklearn.metrics.roc_auc_score(true_y, pred_proba_y)

    直接根据真实值(必须是二值)、预测值(可以是0/1, 也可以是proba值)计算出auc值,中间过程的roc计算省略

    4.accuracy_score

    分类准确率分数是指所有分类正确的百分比。分类准确率这一衡量分类器的标准比较容易理解,但是它不能告诉你响应值的潜在分布,并且它也不能告诉你分类器犯错的类型。

    • 形式

    sklearn.metrics.accuracy_score(y_true, y_pred, normalize=True, sample_weight=None)

    normalize:默认值为True,返回正确分类的比例;如果为False,返回正确分类的样本数

    • 示例
    >>>import numpy as np
    >>>from sklearn.metrics import accuracy_score
    >>>y_pred = [0, 2, 1, 3]
    >>>y_true = [0, 1, 2, 3]
    >>>accuracy_score(y_true, y_pred)
    0.5
    >>>accuracy_score(y_true, y_pred, normalize=False)
    2



    展开全文
  • metrics-源码

    2021-03-17 08:18:41
    metrics
  • HIS Metrics

    2020-11-23 14:46:38
    QAC warning discription. HIS Metrics = Hersteller Initiative Software (HIS) [德国几大汽车OEM所倡议的软件] 按照一定的规则编写代码,例如MISRA-C++:2008 + HIS Metrics 软件静态测试)
  • sklearn.metrics.roc_curve解析

    万次阅读 多人点赞 2018-05-28 21:52:20
    官方网址:http://scikit-learn.org/stable/modules/classes.html#module-sklearn.metrics首先认识单词:metrics:['mɛtrɪks] : 度量‘指标 curve :[kɝv] : 曲线这个方法主要用来计算...sklearn.metrics.roc_cur...

    官方网址:http://scikit-learn.org/stable/modules/classes.html#module-sklearn.metrics

    首先认识单词:metrics:  ['mɛtrɪks] : 度量‘指标

                            curve : [kɝv]  :  曲线

    这个方法主要用来计算ROC曲线面积的;

    sklearn.metrics.roc_curve(y_truey_scorepos_label=Nonesample_weight=Nonedrop_intermediate=True)

    Parameters

    y_true : 数组,shape = [样本数]           

    在范围{0,1}或{-1,1}中真正的二进制标签。如果标签不是二进制的,则应该显式地给出pos_label

    y_score : 数组, shape = [样本数]            

    目标得分,可以是积极类的概率估计,信心值,或者是决定的非阈值度量(在某些分类器上由“decision_function”返回)。

    pos_label:int or str, 标签被认为是积极的,其他的被认为是消极的。

    sample_weight: 顾名思义,样本的权重,可选择的

    drop_intermediate:  boolean, optional (default=True)                

     是否放弃一些不出现在绘制的ROC曲线上的次优阈值。这有助于创建更轻的ROC曲线

    Returns : 

    fpr : array, shape = [>2]                增加假阳性率,例如,i是预测的假阳性率,得分>=临界值[i]

    tpr : array, shape = [>2]                增加真阳性率,例如,i是预测的真阳性率,得分>=临界值[i]。  

    thresholds : array, shape = [n_thresholds]            

    减少了用于计算fpr和tpr的决策函数的阈值。阈值[0]表示没有被预测的实例,并且被任意设置为max(y_score) + 1

    要弄明白ROC的概念可以参考 :https://www.deeplearn.me/1522.html

     

    介绍ROC曲线的两个重要指标:

    真阳性率 = true positive rate = TPR = TP/ (TP + FN)

    可以这样理解:真阳性率就是在标准的阳性(标准的阳性就等于真阳性加假阴性=TP + FN)中,同时被检测为阳性的概率,有点绕,自行理解。

    假阳性率 = false positive rate = FPR = FP / (FP+TN)

    可以这样理解:假阳性就是在标准的阴性(标准的阴性就等于假阳性真阴性=FP + TN)中,被检测为阳性的概率。很好理解的,本来是阴性,检测成了阳性的概率就是假阳性率呗。

     

    ROC曲线就由这两个值绘制而成。接下来进入sklearn.metrics.roc_curve实战,找遍了网络也没找到像我一样解释这么清楚的。

    import numpy as np
    from sklearn import metrics
    y = np.array([1, 1, 2, 2])
    scores = np.array([0.1, 0.4, 0.35, 0.8])
    fpr, tpr, thresholds = metrics.roc_curve(y, scores, pos_label=2)

    y 就是标准值,scores 是每个预测值对应的阳性概率,比如0.1就是指第一个数预测为阳性的概率为0.1,很显然,y 和 socres应该有相同多的元素,都等于样本数。pos_label=2 是指在y中标签为2的是标准阳性标签,其余值是阴性。

    所以在标准值y中,阳性有2个,后两个;阴性有2个,前两个。

    接下来选取一个阈值计算TPR/FPR,阈值的选取规则是在scores值中从大到小的以此选取,于是第一个选取的阈值是0.8

    scores中大于阈值的就是预测为阳性,小于的预测为阴性。所以预测的值设为y_=(0,0,0,1),0代表预测为阴性,1代表预测为阳性。可以看出,真阴性都被预测为阴性,真阳性有一个预测为假阴性了。

    FPR = FP / (FP+TN) = 0 / 0 + 2 = 0

    TPR = TP/ (TP + FN) = 1 / 1 + 1 = 0.5

    thresholds = 0.8

    我们验证一下结果

    print(fpr[0],tpr[0],thresholds[0])

     

    同代码结果一致,其余的就不演示了,剩下的阈值一次等于 0.4  0.35  0.1  自行验证。

     

    最后结果等于

    print(fpr,'\n',tpr,'\n',thresholds)

     

    全部代码

     

    import numpy as np
    from sklearn import metrics
    y = np.array([1, 1, 2, 2])
    scores = np.array([0.1, 0.4, 0.35, 0.8])
    fpr, tpr, thresholds = metrics.roc_curve(y, scores, pos_label=2)
    print(fpr,'\n',tpr,'\n',thresholds)

    坚持已实践为主,手把手带你做项目,打比赛,写论文。凡原创文章皆提供理论讲解,实验代码,实验数据。只有实践才能成长的更快,关注我们,一起成长进步~

     

    展开全文
  • telemetry_metrics_prometheus_core:用于Telemetry_metrics_prometheus的核心Prometheus Telemetry.Metrics报告程序包
  • PiggyMetrics 是springcloud的demo
  • Metrics开发经典

    2018-10-19 14:44:16
    Metrics比较权威的英文书籍,详细的说明了metrics的各种点
  • 该存储库包含所有基于Java的Metrics类的代码。 代码生成 推荐的包含Metrics类的方法是使用诸如Gradle或Maven之类的构建管理工具,然后对所需的类进行阴影处理并重新放置。 但是,为了使bStats更适合初学者使用,在...
  • 圈复杂度metrics

    2018-02-25 18:55:02
    圈复杂度metrics
  • Keizer Metrics SDK 项目 该SDK促进了客户端系统(即电话应用,网站,服务器)和之间的通信。 该SDK用编写,同时支持和平台。 有关此SDK的更多信息,请访问。 要尝试使用SDK,请尝试使用 。 要查看完整的SDK API...
  • Class Metrics.md

    2021-07-05 17:20:13
    Module metrics
  • Yammer metrics

    2013-01-22 14:37:24
    this is about yammar metrics
  • 用于Swift的Metrics API程序包。 几乎所有生产服务器软件都需要发出度量信息以提高可观察性。 由于各方不太可能就一个特定的指标后端实现达成共识,因此该API旨在建立一种可由各种指标库实现的标准,然后该标准库...
  • Metrics视频

    2019-11-23 10:41:19
    Metrics快速介绍以及课程思维导图.mp4 Metrics之Meter详细讲解,快.mp4 Metrics之Simple Gaug.mp4 Metrics之JMXAttribut.mp4 Metrics之RatioGauge详.mp4 Metrics之CachedGauge.mp4 Metrics之DerivativeG.mp4 ...

     

    Metrics快速介绍以及课程思维导图.mp4

    Metrics之Meter详细讲解,快.mp4

    Metrics之Simple Gaug.mp4

    Metrics之JMXAttribut.mp4

    Metrics之RatioGauge详.mp4

    Metrics之CachedGauge.mp4

    Metrics之DerivativeG.mp4

    Metrics之Counter详细讲解.mp4

    Metrics之Histograms详.mp4

    Metrics之Histograms.mp4

    Metrics之Timer详细讲解.mp4

    Metrics之JmxReporte.mp4

    Metrics之CsvReporte.mp4

    Metrics之SLF4JRepor.mp4

    展开全文
  • mp-metrics-examples 使用MicroProfile Metrics API的示例
  • Metrics.NET.RabbitMQ RabbitMQ记者 程序包。 支持以下交换类型: 话题 扇出 直接的 例子: Metric . Config . WithAllCounters () . WithInternalMetrics () . WithReporting ( config => config . ...
  • finagle-metrics:将Finagle指标发送到Codahale Metrics库的简便方法
  • Kafka Configs Metrics Exporter Prometheus的“ Kafka Configs Metrics Exporter”允许您将一些Kafka配置导出为度量。 动机 与某些其他系统不同,Kafka不会将其配置公开为指标。 收集有用的一些配置参数可能会有所...
  • Metrics介绍

    2020-10-27 11:29:34
    Metrics作为一款监控指标的度量类库,提供了许多工具帮助开发者来完成自定义的监控工作。 使用Metrics 通过构建一个Spring Boot的基本应用来演示Metrics的工作方式。 在Maven的pom.xml中引入Metrics: <...

    系统开发到一定的阶段,线上的机器越来越多,就需要一些监控了,除了服务器的监控,业务方面也需要一些监控服务。Metrics作为一款监控指标的度量类库,提供了许多工具帮助开发者来完成自定义的监控工作。

    使用Metrics

    通过构建一个Spring Boot的基本应用来演示Metrics的工作方式。

    在Maven的pom.xml中引入Metrics

     

    <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-core</artifactId>
        <version>${metrics.version}</version>
    </dependency>
    

    Metrics的基本工具

    Metrics提供了五个基本的度量类型:

    1. Gauges(度量)
    2. Counters(计数器)
    3. Histograms(直方图数据)
    4. Meters(TPS计算器)
    5. Timers(计时器)

    MetricsMetricRegistry是中心容器,它是程序中所有度量的容器,所有新的度量工具都要注册到一个MetricRegistry实例中才可以使用,尽量在一个应用中保持让这个MetricRegistry实例保持单例。

    MetricRegistry 容器

    在代码中配置好这个MetricRegistry容器:

     

    @Bean
    public MetricRegistry metrics() {
        return new MetricRegistry();
    }
    

    Meters TPS计算器

    TPS计算器这个名称并不准确,Meters工具会帮助我们统计系统中某一个事件的速率。比如每秒请求数(TPS),每秒查询数(QPS)等等。这个指标能反应系统当前的处理能力,帮助我们判断资源是否已经不足。Meters本身是一个自增计数器。

    通过MetricRegistry可以获得一个Meter

     

    @Bean
    public Meter requestMeter(MetricRegistry metrics) {
        return metrics.meter("request");
    }
    

    在请求中调用mark()方法,来增加计数,我们可以在不同的请求中添加不同的Meter,针对自己的系统完成定制的监控需求。

     

    @RequestMapping("/hello")
    @ResponseBody
    public String helloWorld() {
        requestMeter.mark();
        return "Hello World";
    }
    

    应用运行的过程中,在console中反馈的信息:

     

    -- Meters ----------------------------------------------------------------------
    request
                 count = 21055
             mean rate = 133.35 events/second
         1-minute rate = 121.66 events/second
         5-minute rate = 36.99 events/second
        15-minute rate = 13.33 events/second
    

    从以上信息中可以看出Meter可以为我们提供平均速率,以及采样后的1分钟,5分钟,15分钟的速率。

    Histogram 直方图数据

    直方图是一种非常常见的统计图表,Metrics通过这个Histogram这个度量类型提供了一些方便实时绘制直方图的数据

    和之前的Meter相同,我们可以通过MetricRegistry来获得一个Histogram

     

    @Bean
    public Histogram responseSizes(MetricRegistry metrics) {
        return metrics.histogram("response-sizes");
    }
    

    在应用中,需要统计的位置调用Histogramupdate()方法。

     

    responseSizes.update(new Random().nextInt(10));
    

    比如我们需要统计某个方法的网络流量,通过Histogram就非常的方便。

    在console中Histogram反馈的信息:

     

    -- Histograms ------------------------------------------------------------------
    response-sizes
                 count = 21051
                   min = 0
                   max = 9
                  mean = 4.55
                stddev = 2.88
                median = 4.00
                  75% <= 7.00
                  95% <= 9.00
                  98% <= 9.00
                  99% <= 9.00
                99.9% <= 9.00
    

    Histogram为我们提供了最大值,最小值和平均值等数据,利用这些数据,我们就可以开始绘制自定义的直方图了。

    Counter 计数器

    Counter的本质就是一个AtomicLong实例,可以增加或者减少值,可以用它来统计队列中Job的总数。

    通过MetricRegistry也可以获得一个Counter实例。

     

    @Bean
    public Counter pendingJobs(MetricRegistry metrics) {
        return metrics.counter("requestCount");
    }
    

    在需要统计数据的位置调用inc()dec()方法。

     

    // 增加计数
    pendingJobs.inc();
    // 减去计数
    pendingJobs.dec();
    

    console的输出非常简单:

     

    -- Counters --------------------------------------------------------------------
    requestCount
                 count = 21051
    

    只是输出了当前度量的值。

    Timer 计时器

    Timer是一个MeterHistogram的组合。这个度量单位可以比较方便地统计请求的速率和处理时间。对于接口中调用的延迟等信息的统计就比较方便了。如果发现一个方法的RPS(请求速率)很低,而且平均的处理时间很长,那么这个方法八成出问题了。

    同样,通过MetricRegistry获取一个Timer的实例:

     

    @Bean
    public Timer responses(MetricRegistry metrics) {
        return metrics.timer("executeTime");
    }
    

    在需要统计信息的位置使用这样的代码:

     

    final Timer.Context context = responses.time();
    try {
        // handle request
    } finally {
        context.stop();
    }
    

    console中就会实时返回这个Timer的信息:

     

    -- Timers ----------------------------------------------------------------------
    executeTime
                 count = 21061
             mean rate = 133.39 calls/second
         1-minute rate = 122.22 calls/second
         5-minute rate = 37.11 calls/second
        15-minute rate = 13.37 calls/second
                   min = 0.00 milliseconds
                   max = 0.01 milliseconds
                  mean = 0.00 milliseconds
                stddev = 0.00 milliseconds
                median = 0.00 milliseconds
                  75% <= 0.00 milliseconds
                  95% <= 0.00 milliseconds
                  98% <= 0.00 milliseconds
                  99% <= 0.00 milliseconds
                99.9% <= 0.01 milliseconds
    

    Gauges 度量

    除了Metrics提供的几个度量类型,我们可以通过Gauges完成自定义的度量类型。比方说很简单的,我们想看我们缓存里面的数据大小,就可以自己定义一个Gauges

     

    metrics.register(
                    MetricRegistry.name(ListManager.class, "cache", "size"),
                    (Gauge<Integer>) () -> cache.size()
            );
    

    这样Metrics就会一直监控Cache的大小。

    除此之外有时候,我们需要计算自己定义的一直单位,比如消息队列里面消费者(consumers)消费的速率生产者(producers)的生产速率的比例,这也是一个度量。

     

    public class CompareRatio extends RatioGauge {
    
        private final Meter consumers;
        private final Meter producers;
    
        public CacheHitRatio(Meter consumers, Meter producers) {
            this.consumers = consumers;
            this.producers = producers;
        }
    
        @Override
        protected Ratio getRatio() {
            return Ratio.of(consumers.getOneMinuteRate(),
                    producers.getOneMinuteRate());
        }
    }
    

    把这个类也注册到Metrics容器里面:

     

    @Bean
    public CompareRatio cacheHitRatio(MetricRegistry metrics, Meter requestMeter, Meter producers) {
    
        CompareRatio compareRatio = new CompareRatio(consumers, producers);
    
        metrics.register("生产者消费者比率", compareRatio);
    
        return cacheHitRatio;
    }
    

    Reporter 报表

    Metrics通过报表,将采集的数据展现到不同的位置,这里比如我们注册一个ConsoleReporterMetricRegistry中,那么console中就会打印出对应的信息。

     

    @Bean
    public ConsoleReporter consoleReporter(MetricRegistry metrics) {
        return ConsoleReporter.forRegistry(metrics)
                .convertRatesTo(TimeUnit.SECONDS)
                .convertDurationsTo(TimeUnit.MILLISECONDS)
                .build();
    }
    

    除此之外Metrics还支持JMXHTTPSlf4j等等,可以访问 http://metrics.dropwizard.io/3.1.0/manual/core/#reporters 来查看Metrics提供的报表,如果还是不能满足自己的业务,也可以自己继承Metrics提供的ScheduledReporter类完成自定义的报表类。

    完整的代码

    这个demo是在一个很简单的spring boot下运行的,关键的几个类完整代码如下。

    配置类MetricConfig.java

     

    package demo.metrics.config;
    
    import com.codahale.metrics.*;
    import org.slf4j.LoggerFactory;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    import java.util.concurrent.TimeUnit;
    
    @Configuration
    public class MetricConfig {
    
        @Bean
        public MetricRegistry metrics() {
            return new MetricRegistry();
        }
    
        /**
         * Reporter 数据的展现位置
         *
         * @param metrics
         * @return
         */
        @Bean
        public ConsoleReporter consoleReporter(MetricRegistry metrics) {
            return ConsoleReporter.forRegistry(metrics)
                    .convertRatesTo(TimeUnit.SECONDS)
                    .convertDurationsTo(TimeUnit.MILLISECONDS)
                    .build();
        }
    
        @Bean
        public Slf4jReporter slf4jReporter(MetricRegistry metrics) {
            return Slf4jReporter.forRegistry(metrics)
                    .outputTo(LoggerFactory.getLogger("demo.metrics"))
                    .convertRatesTo(TimeUnit.SECONDS)
                    .convertDurationsTo(TimeUnit.MILLISECONDS)
                    .build();
        }
    
        @Bean
        public JmxReporter jmxReporter(MetricRegistry metrics) {
            return JmxReporter.forRegistry(metrics).build();
        }
    
        /**
         * 自定义单位
         *
         * @param metrics
         * @return
         */
        @Bean
        public ListManager listManager(MetricRegistry metrics) {
            return new ListManager(metrics);
        }
    
        /**
         * TPS 计算器
         *
         * @param metrics
         * @return
         */
        @Bean
        public Meter requestMeter(MetricRegistry metrics) {
            return metrics.meter("request");
        }
    
        /**
         * 直方图
         *
         * @param metrics
         * @return
         */
        @Bean
        public Histogram responseSizes(MetricRegistry metrics) {
            return metrics.histogram("response-sizes");
        }
    
        /**
         * 计数器
         *
         * @param metrics
         * @return
         */
        @Bean
        public Counter pendingJobs(MetricRegistry metrics) {
            return metrics.counter("requestCount");
        }
    
        /**
         * 计时器
         *
         * @param metrics
         * @return
         */
        @Bean
        public Timer responses(MetricRegistry metrics) {
            return metrics.timer("executeTime");
        }
    
    }
    

    接收请求的类MainController.java

     

    package demo.metrics.action;
    
    import com.codahale.metrics.Counter;
    import com.codahale.metrics.Histogram;
    import com.codahale.metrics.Meter;
    import com.codahale.metrics.Timer;
    import demo.metrics.config.ListManager;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    import java.util.Random;
    
    @Controller
    @RequestMapping("/")
    public class MainController {
    
        @Autowired
        private Meter requestMeter;
    
        @Autowired
        private Histogram responseSizes;
    
        @Autowired
        private Counter pendingJobs;
    
        @Autowired
        private Timer responses;
    
        @Autowired
        private ListManager listManager;
    
        @RequestMapping("/hello")
        @ResponseBody
        public String helloWorld() {
    
            requestMeter.mark();
    
            pendingJobs.inc();
    
            responseSizes.update(new Random().nextInt(10));
    
            listManager.getList().add(1);
    
            final Timer.Context context = responses.time();
            try {
                return "Hello World";
            } finally {
                context.stop();
            }
        }
    }
    

    项目启动类DemoApplication.java

     

    package demo.metrics;
    
    import com.codahale.metrics.ConsoleReporter;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.context.ApplicationContext;
    
    import java.util.concurrent.TimeUnit;
    
    @SpringBootApplication
    public class DemoApplication {
    
        public static void main(String[] args) {
            ApplicationContext ctx = SpringApplication.run(DemoApplication.class, args);
    
            // 启动Reporter
            ConsoleReporter reporter = ctx.getBean(ConsoleReporter.class);
            reporter.start(1, TimeUnit.SECONDS);
            
        }
    }
    

     

    展开全文
  • Performance Metrics API是Performance Metrics应用程序的一层 演示版 现场演示在这里-> 安装 节点 使用npm install安装软件包 创建.env文件来定义环境变量以存储我们的MongoDB URI。 MONGODB_URI=mongodb://...
  • codemetrics-reporter-console CodeMetrics的简单控制台输出
  • Metrics.NET.Prometheus 分支 传送带 特拉维斯 掌握 开发者 Metrics.NET.Prometheus -一个普罗米修斯报告端点扩展 更多。 执照 该库将始终与原始保持相同的许可证(只要它是开源的许可许可证即可)。 该端口也...
  • Ember-metrics-pendo允许使用在您的ember项目中配置服务。 什么是Pendo? 是一种产品云,可将产品分析,用户反馈和指导的用户参与作为一个集成平台的一部分。 什么是余烬指标? 是一个Ember插件,提供捆绑的分析...
  • telemetry_metrics_prometheus:适用于Prometheus的完整Telemetry.Metrics Reporter解决方案
  • Source Code Metrics

    2018-12-17 17:07:59
    Source Code Metrics 代码检测工具 好用且很方便使用
  • Enabling Metrics

    2018-08-18 17:31:58
    Enabling Metrics Druid nodes periodically emit metrics and different metrics monitors can be included. Each node can overwrite the default list of monitors. Property Description Default drui...
  • Network Security Metrics

    2018-06-02 15:33:11
    Lingyu Wang · Sushil Jajodia Anoop Singhal Network Security Metrics
  • mule performance metrics

    2018-10-29 19:06:43
    mule performance metrics, 相关性能的一些指标,具有一定的参考价值

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 171,795
精华内容 68,718
关键字:

Metrics