All Projects → Stream-AD → MStream

Stream-AD / MStream

Licence: Apache-2.0 license
Anomaly Detection on Time-Evolving Streams in Real-time. Detecting intrusions (DoS and DDoS attacks), frauds, fake rating anomalies.

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to MStream

Pysad
Streaming Anomaly Detection Framework in Python (Outlier Detection for Streaming Data)
Stars: ✭ 87 (+27.94%)
Mutual labels:  real-time, intrusion-detection, anomaly-detection
MemStream
MemStream: Memory-Based Streaming Anomaly Detection
Stars: ✭ 58 (-14.71%)
Mutual labels:  real-time, anomaly-detection, multi-aspect-record
Dicom
⚡High Performance DICOM Medical Image Parser in Go.
Stars: ✭ 643 (+845.59%)
Mutual labels:  streaming, real-time
Roc Toolkit
Real-time audio streaming over the network.
Stars: ✭ 673 (+889.71%)
Mutual labels:  streaming, real-time
Rtptools
RTP Tools
Stars: ✭ 74 (+8.82%)
Mutual labels:  streaming, real-time
Vidgear
A High-performance cross-platform Video Processing Python framework powerpacked with unique trailblazing features 🔥
Stars: ✭ 2,048 (+2911.76%)
Mutual labels:  streaming, real-time
Sparta
Real Time Analytics and Data Pipelines based on Spark Streaming
Stars: ✭ 513 (+654.41%)
Mutual labels:  streaming, real-time
Hydra
A real-time data replication platform that "unbundles" the receiving, transforming, and transport of data streams.
Stars: ✭ 68 (+0%)
Mutual labels:  streaming, real-time
Azure Event Hubs Spark
Enabling Continuous Data Processing with Apache Spark and Azure Event Hubs
Stars: ✭ 140 (+105.88%)
Mutual labels:  streaming, real-time
Streamline
StreamLine - Streaming Analytics
Stars: ✭ 151 (+122.06%)
Mutual labels:  streaming, real-time
Adaptive Alerting
Anomaly detection for streaming time series, featuring automated model selection.
Stars: ✭ 152 (+123.53%)
Mutual labels:  streaming, anomaly-detection
Centrifugo
Scalable real-time messaging server in a language-agnostic way. Set up once and forever.
Stars: ✭ 5,649 (+8207.35%)
Mutual labels:  streaming, real-time
TogetherStream
A social and synchronized streaming experience
Stars: ✭ 16 (-76.47%)
Mutual labels:  streaming, real-time
Ad examples
A collection of anomaly detection methods (iid/point-based, graph and time series) including active learning for anomaly detection/discovery, bayesian rule-mining, description for diversity/explanation/interpretability. Analysis of incorporating label feedback with ensemble and tree-based detectors. Includes adversarial attacks with Graph Convolutional Network.
Stars: ✭ 641 (+842.65%)
Mutual labels:  streaming, anomaly-detection
transform-hub
Flexible and efficient data processing engine and an evolution of the popular Scramjet Framework based on node.js. Our Transform Hub was designed specifically for data processing and has its own unique algorithms included.
Stars: ✭ 38 (-44.12%)
Mutual labels:  streaming, real-time
Oblecto
Oblecto is a media server, which streams media you already own, and is designed to be at the heart of your entertainment experience. It runs on your home server to index and analyze your media such as Movies and TV Shows and presents them in an interface tailored for your media consupmtion needs.
Stars: ✭ 67 (-1.47%)
Mutual labels:  streaming, real-time
Midas
Anomaly Detection on Dynamic (time-evolving) Graphs in Real-time and Streaming manner. Detecting intrusions (DoS and DDoS attacks), frauds, fake rating anomalies.
Stars: ✭ 591 (+769.12%)
Mutual labels:  intrusion-detection, anomaly-detection
Faster-Grad-CAM
Faster and more precisely than Grad-CAM
Stars: ✭ 33 (-51.47%)
Mutual labels:  real-time, anomaly-detection
Webrtc Cli
WebRTC command-line peer.
Stars: ✭ 135 (+98.53%)
Mutual labels:  streaming, real-time
traffic
Massively real-time traffic streaming application
Stars: ✭ 25 (-63.24%)
Mutual labels:  streaming, real-time

MSᴛʀᴇᴀᴍ

Implementation of

MSᴛʀᴇᴀᴍ detects group anomalies from a multi-aspect data stream in constant time and memory. We output an anomaly score for each record. MSᴛʀᴇᴀᴍ builds on top of MIDAS to work in a multi-aspect setting such as event-log data, multi-attributed graphs etc.

Demo

  1. Run bash run.sh KDD to compile the code and run it on the KDD dataset.
  2. Run bash run.sh DOS to compile the code and run it on the DOS dataset.
  3. Run bash run.sh UNSW to compile the code and run it on the UNSW dataset.

MSᴛʀᴇᴀᴍ

  1. Change Directory to MSᴛʀᴇᴀᴍ folder cd mstream
  2. Run make to compile code and create the binary
  3. Run ./mstream -n numericalfile -c categoricalfile -t timefile
  4. Run make clean to clean binaries

Command line options

  • -h --help: produce help message
  • -n --numerical: Numerical file name
  • -c --categorical: Categorical file name
  • -c --time: Timestamps file name
  • -o --output: Output file name (default: scores.txt)  
  • -r --rows: Number of Hash Functions (default: 2)  
  • -b --buckets: Number of Buckets (default: 1024)
  • -a --alpha: Temporal Decay Factor (default: 0.6)

Input file format for MSᴛʀᴇᴀᴍ

MSᴛʀᴇᴀᴍ expects the input multi-aspect record stream to be stored in three files:

  1. Numerical file: contains , separated Numerical Features.
  2. Categorical file: contains , separated Categorical Features.
  3. Time File: contains Timestamps.

Both Numerical and Categorical files contain corresponding features of the multi-aspect record. Records should be sorted in non-decreasing order of their time stamps and the column delimiter should be ,

Datasets

  1. KDDCUP99
  2. CICIDS-DoS
  3. UNSW-NB 15
  4. CICIDS-DDoS

Citation

If you use this code for your research, please consider citing our WWW paper

@inproceedings{bhatia2021mstream,
    title={Fast Anomaly Detection in Multi-Aspect Streams},
    author={Siddharth Bhatia and Arjit Jain and Pan Li and Ritesh Kumar and Bryan Hooi},
    booktitle={The Web Conference (WWW)},
    year={2021}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].