A set of python modules for anomaly detection
Project description
kenchi
This is a scikit-learn compatible library for anomaly detection.
Dependencies
- Required dependencies
numpy>=1.13.3 (BSD 3-Clause License)
scikit-learn>=0.20.0 (BSD 3-Clause License)
scipy>=0.19.1 (BSD 3-Clause License)
- Optional dependencies
matplotlib>=2.1.2 (PSF-based License)
networkx>=2.2 (BSD 3-Clause License)
Installation
You can install via pip
pip install kenchi
or conda.
conda install -c y_ohr_n kenchi
Algorithms
Examples
import matplotlib.pyplot as plt
import numpy as np
from kenchi.datasets import load_pima
from kenchi.outlier_detection import *
from kenchi.pipeline import make_pipeline
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
np.random.seed(0)
scaler = StandardScaler()
detectors = [
FastABOD(novelty=True, n_jobs=-1), OCSVM(),
MiniBatchKMeans(), LOF(novelty=True, n_jobs=-1),
KNN(novelty=True, n_jobs=-1), IForest(n_jobs=-1),
PCA(), KDE()
]
# Load the Pima Indians diabetes dataset.
X, y = load_pima(return_X_y=True)
X_train, X_test, _, y_test = train_test_split(X, y)
# Get the current Axes instance
ax = plt.gca()
for det in detectors:
# Fit the model according to the given training data
pipeline = make_pipeline(scaler, det).fit(X_train)
# Plot the Receiver Operating Characteristic (ROC) curve
pipeline.plot_roc_curve(X_test, y_test, ax=ax)
# Display the figure
plt.show()
References
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
kenchi-0.10.0-py3-none-any.whl
(384.9 kB
view hashes)