Skip to content

ritchie46/fastpelt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pruned Exact Linear Time

written in rust

Original paper.

This is a port of the ruptures Python project.

Python

pip install fastpelt

import fastpelt
mfast = fastpelt.Pelt(pen=10, loss="l1")
mfast.predict(a)

Rust

extern crate pelt;
use std::fs;
use pelt::{MutEstimator, Pelt};

fn main() {
    let s = fs::read_to_string("./pelt-rs/signal.txt").unwrap();
    let signal: Vec<Vec<f64>> = vec!(s.split("\n").map(|a| a.parse().unwrap()).collect());

    let jump = Some(5);
    let min_size = Some(2);
    let loss = Some("l1");
    let pen = 3.;

    let mut m = Pelt::new(jump, min_size, loss, pen);
    println!("{:?}", m.predict(&signal))
}
Some([100, 200])

Performance

About

Changepoint detection with Pruned Exact Linear Time

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published