From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 1DFB680198 for ; Mon, 10 Jul 2017 10:00:28 +0200 (CEST) Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=berenger@bioreg.kyushu-u.ac.jp; spf=None smtp.mailfrom=berenger@bioreg.kyushu-u.ac.jp; spf=None smtp.helo=postmaster@h4.hosting4.cc.kyushu-u.ac.jp Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of berenger@bioreg.kyushu-u.ac.jp) identity=pra; client-ip=133.5.13.5; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="berenger@bioreg.kyushu-u.ac.jp"; x-sender="berenger@bioreg.kyushu-u.ac.jp"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of berenger@bioreg.kyushu-u.ac.jp) identity=mailfrom; client-ip=133.5.13.5; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="berenger@bioreg.kyushu-u.ac.jp"; x-sender="berenger@bioreg.kyushu-u.ac.jp"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@h4.hosting4.cc.kyushu-u.ac.jp) identity=helo; client-ip=133.5.13.5; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="berenger@bioreg.kyushu-u.ac.jp"; x-sender="postmaster@h4.hosting4.cc.kyushu-u.ac.jp"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3AvL7VWRS2m9k/EEO3YK1HJYdopdpsv+yvbD5Q0YIu?= =?us-ascii?q?jvd0So/mwa6ybRON2/xhgRfzUJnB7Loc0qyN4v+mATRIyK3CmUhKSIZLWR4BhJ?= =?us-ascii?q?detC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+?= =?us-ascii?q?KPjrFY7OlcS30P2594HObwlSijewZbF/IA+qoQnNq8IbnZZsJqEtxxXTv3BGYf?= =?us-ascii?q?5WxWRmJVKSmxbz+MK994N9/ipTpvws6ddOXb31cKokQ7NYCi8mM30u683wqRbD?= =?us-ascii?q?VwqP6WACXWgQjxFFHhLK7BD+Xpf2ryv6qu9w0zSUMMHqUbw5Xymp4qF2QxHqlS?= =?us-ascii?q?gHLSY0/nzJhMx+jKxVoxyvqBJwzIHWfI6bO+Fzfr/fcN4AWWZNQshcWi5HD4ih?= =?us-ascii?q?b4UPFe0BPeNAoof9vVsBtx2+ChWrBOPu0T9Dm2L706Im3eouCQ/I3QMuEc4Tu3?= =?us-ascii?q?nTt9r6Kr0SXv6zzKnH0zrDdehb1iz86IjPaBAuv/6MUahzccvR1EkvDAPFjkiJ?= =?us-ascii?q?pYz4JT+azPgCv3KZ7+p4TO+ijXMspQ92ojiq3Mgsi4/Ji5oPxV/Y7iV12oE1Jc?= =?us-ascii?q?e3SEJjbt6kEYdQtyGHN4RtWM8tX2ZouCMixr0doZ67ZikKyJIoxxHBcfyHdJCI?= =?us-ascii?q?7QzlVOqLPTh4g3dldKq4hxav6Uis0PHzVs6x0FtMsyFLkcHMu2gQ2xHd5MWLUP?= =?us-ascii?q?tw8l281TuBzQze6vlILV06mKfVMZIswqQ8moQOvUnABCP6hUr7gayQe0454Oan?= =?us-ascii?q?8f7nba/jppKEN497lAX+MqM2l8y/Duk0KAgOX2+A+eSg1b3j+0L5TbpQgvIqjq?= =?us-ascii?q?bVqpPaJMQGpq6iAw9Vz58v6wulAzi8zNsUh3sHLEpddBKGiYjmJU3OLejlAfqx?= =?us-ascii?q?jVmgijdmy+rbMrDvGJnALmDPkLL7crZ8705cxhAzzdda559MEb4OPujzVVH3tN?= =?us-ascii?q?zXEBA5KRe5zP3mCNV6zIMRR22PDrWaMKLSrF+I/eIvI/SVaI8IojryMeQq6+Ts?= =?us-ascii?q?jX8hgVMdZ7Wm3YMLaHCkGfRrO1mWbmDpgtcFCGsKugs+TPf2iFCZSj5SZ3OyX7?= =?us-ascii?q?om6T0hCYKmC53DRoG3j7Cb0ie7BM4eWmcTAVmJFTLsdp6Yc/YKciObZMF7wRIe?= =?us-ascii?q?Ur30ZZUo0xqptRSy4ZddA8z71xdQ4ZjuztVz6ODJvRsz8iZ5AIKewnyWT3wxgy?= =?us-ascii?q?UBTHk0xPYs8gRG1l6f3P0g0LRjHttJ6qYRXw=3D=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AnAQBEM2NZlwUNBYVdHQEFAQsBFwEBB?= =?us-ascii?q?AEBCgEBhBMDgRGOCXOQVZYmghEBLYVuAoQQGAEBAQEBAQEBAQEBEgEBAQEBCBY?= =?us-ascii?q?GV4IzIoJEAwMjFVElAiYCAh84EwgBAYoqEapWgiaHaBqDOwEBCAIBJYELgh2FW?= =?us-ascii?q?AuHPmaCR4JhBYdNB4h7gQiNRx6HKoxCggxXiEMjhlcClUAfgUKBCoVsggJoiGU?= =?us-ascii?q?BAQE?= X-IPAS-Result: =?us-ascii?q?A0AnAQBEM2NZlwUNBYVdHQEFAQsBFwEBBAEBCgEBhBMDgRG?= =?us-ascii?q?OCXOQVZYmghEBLYVuAoQQGAEBAQEBAQEBAQEBEgEBAQEBCBYGV4IzIoJEAwMjF?= =?us-ascii?q?VElAiYCAh84EwgBAYoqEapWgiaHaBqDOwEBCAIBJYELgh2FWAuHPmaCR4JhBYd?= =?us-ascii?q?NB4h7gQiNRx6HKoxCggxXiEMjhlcClUAfgUKBCoVsggJoiGUBAQE?= X-IronPort-AV: E=Sophos;i="5.40,339,1496095200"; d="scan'208";a="231037149" Received: from hosting4.cc.kyushu-u.ac.jp (HELO h4.hosting4.cc.kyushu-u.ac.jp) ([133.5.13.5]) by mail3-smtp-sop.national.inria.fr with ESMTP; 10 Jul 2017 10:00:25 +0200 Received: from [192.168.2.36] (unknown [133.5.218.148]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: berenger@bioreg.kyushu-u.ac.jp) by h4.hosting4.cc.kyushu-u.ac.jp (hde-lc-postfix) with ESMTPSA id E238D2AB459 for ; Mon, 10 Jul 2017 17:00:21 +0900 (JST) (envelope-from berenger@bioreg.kyushu-u.ac.jp) To: caml-list@inria.fr References: <20170703140437.8FFD7121499@mcclellan.cs.miami.edu> <978f88e8-6e9c-9f54-5988-0933a4cac833@bioreg.kyushu-u.ac.jp> From: Francois BERENGER Message-ID: <7844295a-dd6f-9398-ce7b-a21f920146c2@bioreg.kyushu-u.ac.jp> Date: Mon, 10 Jul 2017 17:00:21 +0900 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <978f88e8-6e9c-9f54-5988-0933a4cac833@bioreg.kyushu-u.ac.jp> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: [Caml-list] [ANN] first release of cpm: the Classification Performance Metrics library O Caml riders, It is my pleasure to announce the first release of cpm. cpm allows to compute various classification performance metrics, like: - area under the ROC curve (AUC) - BEDROC (Bolzmann Enhanced Discrimination of the ROC curve) - Power Metric (PM) at given threshold - Enrichment Factor (EF) at given percentage Here is an example use: --- (* first, define your score_label module *) module SL = struct type t = string * float * int * bool let get_score (_, s, _, _) = s let get_label (_, _, _, l) = l end (* second, instantiate the ROC functor for your score_label module *) module ROC = MakeROC.Make (SL) (* third, call any classification performance metric you need *) [...] let auc = ROC.auc scores in [...] --- The score is the output of your predictor. For a true positive, the label must be 1. For a true negative, the label must be 0. Your predictor is supposed to give high scores to true positives and low scores to true negatives. The code is here: https://github.com/UnixJunkie/cpmlib The library should be available shortly in opam under the name cpm. For those who like to read, here are some interesting reads on related subjects: - https://jcheminf.springeropen.com/articles/10.1186/s13321-016-0189-4 - https://academic.oup.com/bioinformatics/article-lookup/doi/10.1093/bioinformatics/btq140 - http://pubs.acs.org/doi/abs/10.1021/ci600426e Have fun classifying, F.