8000 GitHub - ankane/random-cut-forest-php: Random Cut Forest anomaly detection for PHP
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

ankane/random-cut-forest-php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Random Cut Forest PHP

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

About

Random Cut Forest anomaly detection for PHP

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

0