cylab-be /
此包已被废弃且不再维护。作者建议使用cylab/php-roc包。
1.2.3
2021-09-26 12:10 UTC
Requires
- php: >=7.4
- amenadiel/jpgraph: ^4.1
Requires (Dev)
- nunomaduro/phpinsights: ^1.0
- phpstan/phpstan: ^0.12.5
- phpunit/phpunit: ^7.4
- squizlabs/php_codesniffer: ^3.3
README
PHP库,用于计算接受者操作特征(ROC)和曲线下面积(AUC)。
接受者操作特征曲线(ROC曲线)是一种图形表示,说明在区分阈值变化时,二元分类系统的诊断能力。ROC曲线以假正率(误报)为X轴,真正率(真检测)为Y轴绘制。它是确定机器学习中分类器效率的非常有用的工具。曲线下面积(AUC)是比较不同ROC曲线并确定最佳曲线的简单方法。AUC值越接近1,分类器越好。
安装
composer require cylab/php-roc
用法
值数组
namespace Cylab\ROC;
require __DIR__ . "/../vendor/autoload.php";
// for each value, we indicate if it is a true detection (true)
// or a false alarm (false)
$values = [];
$values[] = new SimpleValue(0.22568639331762, true);
$values[] = new SimpleValue(0.33365791865329, true);
$values[] = new SimpleValue(0.74073486204293, true);
$values[] = new SimpleValue(0.47706215198946, false);
$values[] = new SimpleValue(0.049798118439409, false);
$values[] = new SimpleValue(0.083663045933313, true);
$roc = ROC::fromValues($values);
// Get the Area Under the Curve (AUC)
echo "AUC : " . $roc->getAUC() . "\n";
// Inpect the points that draw the ROC
var_dump($roc->getPoints());
// Save ROC to png image
$roc->saveToPNG("/tmp/php-roc.png", 800, 600);
ROC是从一个`Value`对象数组构建的。一个`Value`对象包含一个分数(介于0和1之间),并指示这是否是一个真实警报(true)或误报(false)。
一旦构建完成,您可以获取:
- 曲线下面积:`getAUC()`
- 绘制ROC曲线的点的坐标:`getPoints()`
- 将ROC保存为PNG图像:`saveToPNG($filename, $width, $height)`