承接 ankane/rcf 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ankane/rcf

最新稳定版本:v0.2.0

Composer 安装命令:

composer require ankane/rcf

包简介

Random Cut Forest anomaly detection for PHP

README 文档

README

Random Cut Forest (RCF) anomaly detection for PHP

Build Status

Installation

Run:

composer require ankane/rcf

Add scripts to composer.json to download the shared library:

    "scripts": {
        "post-install-cmd": "Rcf\\Vendor::check",
        "post-update-cmd": "Rcf\\Vendor::check"
    }

And run:

composer install

Getting Started

Create a forest with 3 dimensions

$forest = new Rcf\Forest(3);

Score a point

$forest->score([1.0, 2.0, 3.0]);

Update with a point

$forest->update([1.0, 2.0, 3.0]);

Example

$forest = new Rcf\Forest(3);

for ($i = 0; $i < 200; $i++) {
    $point = [];
    $point[0] = mt_rand() / mt_getrandmax();
    $point[1] = mt_rand() / mt_getrandmax();
    $point[2] = mt_rand() / mt_getrandmax();

    // make the second to last point an anomaly
    if ($i == 198) {
        $point[1] = 2;
    }

    $score = $forest->score($point);
    echo "point = $i, score = $score\n";
    $forest->update($point);
}

Parameters

Set parameters

new Rcf\Forest(
    $dimensions,
    shingleSize: 1,         // shingle size to use
    sampleSize: 256,        // points to keep in sample for each tree
    numberOfTrees: 100,     // number of trees to use in the forest
    randomSeed: 42,         // random seed to use
    parallel: false         // enable parallel execution
)

References

History

View the changelog

Contributing

Everyone is encouraged to help improve this project. Here are a few ways you can help:

To get started with development:

git clone https://github.com/ankane/random-cut-forest-php.git
cd random-cut-forest-php
composer install
composer test

统计信息

  • 总下载量: 2.94k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2022-11-03