当前位置:网站首页>Anomaly detection method based on SVM
Anomaly detection method based on SVM
2020-11-06 01:14:00 【Artificial intelligence meets pioneer】
author |Mahbubul Alam compile |VK source |Towards Data Science
Introduction to single class support vector machines
As an expert or novice in machine learning , You may have heard of support vector machines (SVM)—— A supervised machine learning algorithm often cited and used in classification problems .
Support vector machines use hyperplanes in multidimensional space to separate one class of observations from another . Of course , Support vector machine is used to solve multi class classification problems .
However , Support vector machine is more and more applied to a class of problems , That is, all data belongs to one class . under these circumstances , Algorithms are trained to learn what is “ natural ”, So when a new data is displayed , The algorithm can identify whether it should be normal . without , New data will be marked as exception or exception . To learn more about single class support vector machines , Please check out Roemer Vlasveld This long article of :http://rvlasveld.github.io/blog/2013/07/12/introduction-to-one-class-support-vector-machines/
The last thing to mention is , If you are familiar with sklearn library , You'll notice that there's an algorithm for what's called “ Novelty testing ” And Design . It works in a similar way to what I described in the anomaly detection using single class support vector machines . in my opinion , It's just the context that determines whether it's called novelty detection or outlier detection or whatever .
Here is Python Simple demonstration of single class support vector machine in programming language . Please note that , I alternate between outliers and outliers .
step 1: Import library
For this demonstration , We need three core libraries - For data disputes python and numpy, For model building sklearn And Visualization matlotlib.
# Import library
import pandas as pd
from sklearn.svm import OneClassSVM
import matplotlib.pyplot as plt
from numpy import where
step 2: Prepare the data
I use the famous... From online resources Iris Data sets , So you can practice using , You don't have to worry about how to get the data from where .
# Import data
data = pd.read_csv("https://raw.githubusercontent.com/uiuc-cse/data-fa14/gh-pages/data/iris.csv")
# input data
df = data[["sepal_length", "sepal_width"]]
step 3: Model
It is different from the adjustment of super parameters in other classification algorithms , Single class support vector machines use nu As a super parameter , Used to define which parts of the data should be classified as outliers .nu=0.03 Indicates that the algorithm will 3% Is specified as an outlier .
# Model parameters
model = OneClassSVM(kernel = 'rbf', gamma = 0.001, nu = 0.03).fit(df)
step 4: forecast
The predicted dataset will have 1 or -1 value , among -1 Value is the outlier detected by the algorithm .
# forecast
y_pred = model.predict(df)
y_pred
step 5: Filter exception
# Filter outlier index
outlier_index = where(y_pred == -1)
# Filter outliers
outlier_values = df.iloc[outlier_index]
outlier_values
step 6: Visual exception
# Visual output
plt.scatter(data["sepal_length"], df["sepal_width"])
plt.scatter(outlier_values["sepal_length"], outlier_values["sepal_width"], c = "r")
Red data points are outliers
summary
In this paper , I'd like to talk about a class of support vector machines (One-classsvm) Make a brief introduction , It's a form of fraud / abnormal / Machine learning algorithm for anomaly detection .
I showed you some simple steps to build intuition , But of course , A real implementation requires more experimentation to find out what works in a particular environment and Industry , What doesn't work .
Link to the original text :https://towardsdatascience.com/support-vector-machine-svm-for-anomaly-detection-73a8d676c331
Welcome to join us AI Blog station : http://panchuang.net/
sklearn Machine learning Chinese official documents : http://sklearn123.com/
Welcome to pay attention to pan Chuang blog resource summary station : http://docs.panchuang.net/
版权声明
本文为[Artificial intelligence meets pioneer]所创,转载请带上原文链接,感谢
边栏推荐
- Cos start source code and creator
- 使用NLP和ML来提取和构造Web数据
- Real time data synchronization scheme based on Flink SQL CDC
- 10 easy to use automated testing tools
- html
- 采购供应商系统是什么?采购供应商管理平台解决方案
- Cocos Creator 原始碼解讀:引擎啟動與主迴圈
- Basic principle and application of iptables
- Technical director, to just graduated programmers a word - do a good job in small things, can achieve great things
- 大数据应用的重要性体现在方方面面
猜你喜欢
“颜值经济”的野望:华熙生物净利率六连降,收购案遭上交所问询
Aprelu: cross border application, adaptive relu | IEEE tie 2020 for machine fault detection
恕我直言,我也是才知道ElasticSearch条件更新是这么玩的
基于深度学习的推荐系统
网络安全工程师演示:原来***是这样获取你的计算机管理员权限的!【维持】
Don't go! Here is a note: picture and text to explain AQS, let's have a look at the source code of AQS (long text)
JetCache埋点的骚操作,不服不行啊
CCR炒币机器人:“比特币”数字货币的大佬,你不得不了解的知识
面经手册 · 第12篇《面试官,ThreadLocal 你要这么问,我就挂了!》
Pattern matching: The gestalt approach一种序列的文本相似度方法
随机推荐
恕我直言,我也是才知道ElasticSearch条件更新是这么玩的
Details of dapr implementing distributed stateful service
Polkadot series (2) -- detailed explanation of mixed consensus
中国提出的AI方法影响越来越大,天大等从大量文献中挖掘AI发展规律
100元扫货阿里云是怎样的体验?
(1) ASP.NET Introduction to core3.1 Ocelot
Jmeter——ForEach Controller&Loop Controller
Menu permission control configuration of hub plug-in for azure Devops extension
A debate on whether flv should support hevc
CCR炒币机器人:“比特币”数字货币的大佬,你不得不了解的知识
Kitty中的动态线程池支持Nacos,Apollo多配置中心了
Technical director, to just graduated programmers a word - do a good job in small things, can achieve great things
Pycharm快捷键 自定义功能形式
快快使用ModelArts,零基礎小白也能玩轉AI!
从海外进军中国,Rancher要执容器云市场牛耳 | 爱分析调研
iptables基礎原理和使用簡介
Swagger 3.0 天天刷屏,真的香嗎?
WeihanLi.Npoi 1.11.0/1.12.0 Release Notes
GUI 引擎评价指标
制造和新的自动化技术是什么?