无监督学习:
【机器学习】使用scikitLearn对数据进行聚类:Kmeans聚类算法及聚类效果评估
【机器学习】使用scikitLearn对数据进行聚类:Kmeans聚类算法的应用及密度聚类DBSCAN
【机器学习】使用scikitLearn对数据进行聚类:高斯聚类GaussianMixture

异常检测及新颖性检测方法:
两者的区别在于,异常检测学习训练集中的中心特征,将部分边缘特征理解为异常值。新颖性检测,则是学习模式,并判断新数据是否属于该模式。新颖性检测的训练集中不含异常/新颖值,异常检测则相反。

1.新颖性检测,单类SVM方法:

class sklearn.svm.OneClassSVM(kernel=’rbf’, degree=3, gamma=’auto’,
coef0=0.0, tol=0.001, nu=0.5, shrinking=True, cache_size=200, verbose=False,max_iter=-1, random_state=None)
#predict(X):返回预测值,+1就是正常样本,-1就是异常样本。

使用一个最小化的空间超球体包裹已知数据,新数据如果不在球体内部,则是新颖的。若数据维度很高时,也可以做异常检测。

2.异常检测方法,混合高斯模型,详见【机器学习】使用scikitLearn对数据进行聚类:高斯聚类GaussianMixture

3.PCA降维法进行异常检测:
基于重构误差。直观上说,PCA提取了数据的主要特征,如果一个数据样本不能被重构,则说明这个数据样本的特点和主要数据特征不一样,那么它就是一个异常样本。
新数据先使用训练过的pca进行降维,紧接着重构,计算两者间的均方误超过一定阈值,则判断为异常。

4.Fast-MCD异常检测(最小协方差决定)
假定正常值是由单个高斯分布生成的,而异常值不属于这个高斯分布。

cov =  EllipticEnvelope().fit(X_all)
##predict(X):返回预测值,+1就是正常样本,-1就是异常样本。
cov_label = cov.predict(X_all)
df['cov_label'] = cov_label
plot(df, label_name = 'cov_label', normal = 1, abnormal = -1)

5.局部离群因子:
它将给定实例周围的实例密度与其相邻实例周围的密度进行比较。异常值通常比k个最近的邻居更孤立。

import numpy as np
from sklearn.neighbors import LocalOutlierFactor as LOF
X = [[-1.1], [0.2], [100.1], [0.3]]
clf = LOF(n_neighbors=2)
#predict(X):返回预测值,+1就是正常样本,-1就是异常样本。
res = clf.fit_predict(X)
print(res)

6.隔离森林
是一种随机森林,相比于正常的数据,异常数据经过更少的步骤,即可与正常数据区隔开。

from sklearn.ensemble import IsolationForest
#contamination表示异常因子的占比,max_samples位每颗树的样本量
#n_estimators为构成森林的树的数量
clf = IsolationForest(max_samples=100, contamination=0.1,n_estimators=100)
clf.fit(X_train)
y_pred_train = clf.predict(X_train)

7.密度聚类

from sklearn.cluster import DBSCAN
import numpy as np
X = np.array([[1, 2], [2, 2], [2, 3],[8, 7], [8, 8], [25, 80]])
clustering = DBSCAN(eps=3, min_samples=2).fit(X)
#其中-1的点是无法被分类的异常点
clustering.labels_
array([ 0,  0,  0,  1,  1, -1])

【机器学习】使用scikitLearn对数据进行聚类:7种异常和新颖性检测方式相关推荐

  1. 【机器学习】使用scikitLearn对数据进行聚类:Kmeans聚类算法及聚类效果评估

    无监督学习: [机器学习]使用scikitLearn对数据进行聚类:Kmeans聚类算法的应用及密度聚类DBSCAN [机器学习]使用scikitLearn对数据进行聚类:高斯聚类GaussianMi ...

  2. 【机器学习】使用scikitLearn对数据进行聚类:Kmeans聚类算法的应用及密度聚类DBSCAN

    无监督学习: [机器学习]使用scikitLearn对数据进行聚类:Kmeans聚类算法及聚类效果评估 [机器学习]使用scikitLearn对数据进行聚类:高斯聚类GaussianMixture [ ...

  3. 【机器学习】python机器学习使用scikit-learn对模型进行评估:使用t分布及z分布评估模型误差的95%置信空间

    端到端机器学习导航: [机器学习]python借助pandas加载并显示csv数据文件,并绘制直方图 [机器学习]python使用matplotlib进行二维数据绘图并保存为png图片 [机器学习]p ...

  4. 数据分析实战:python热门音乐分析 附代码+数据 +论文(PCA 主成分分析,sklearn 机器学习,pytorch 神经网络,k-means 聚类,Librosa 音频处理,midi 音序)

    项目概述: 本选取了抖音当下最热门的 400 首音乐,通过一系列方法提取每首歌的波形特征,再经过降维以及机器学习等手段,进行无监督学习对音乐数据进行聚类的同时训练并使用监督学习分类器进行音乐流派分类, ...

  5. 机器学习神器Scikit-Learn保姆教程!

    Scikit-learn是一个非常知名的Python机器学习库,它广泛地用于统计分析和机器学习建模等数据科学领域. 建模无敌:用户通过scikit-learn能够实现各种监督和非监督学习的模型 功能多 ...

  6. 【机器学习】机器学习神器Scikit-Learn保姆级入门教程

    公众号:尤而小屋 作者:Peter 编辑:Peter Scikit-learn是一个非常知名的Python机器学习库,它广泛地用于统计分析和机器学习建模等数据科学领域. 建模无敌:用户通过scikit ...

  7. 【机器学习】scikit-learn 1.0 版本重要新特性一览

    1 简介 就在几天前,著名的机器学习框架scikit-learn在pypi上释放了其1.0rc1版本,这里给大家科普一下,版本号中的rc是Release Candidate的简称,代表当前的版本是一个 ...

  8. 机器学习 处理不平衡数据_在机器学习中处理不平衡数据

    机器学习 处理不平衡数据 As an ML engineer or data scientist, sometimes you inevitably find yourself in a situat ...

  9. 生成特定分布随机数的方法:Python seed() 函数numpy scikit-learn随机数据生成

    描述 seed() 方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数.. 语法 以下是 seed() 方法的语法: import random random.seed ( [x] ...

最新文章

  1. 前端学习(2460):粉丝管理
  2. 天池 在线编程 队列检查(排序)
  3. java通信项目_Java项目中的多线程通信如何利用Socket实现
  4. oracle消耗内存的查询,在AIX中计算ORACLE消耗的私有内存总数
  5. php date函数实现,PHP date() 函数可实现的功能列表
  6. 用 JAVA 开发游戏连连看(之四)添加更多的功能
  7. 基于数据报套接字的服务器回射程序设计_套接字Socket的常见面试题及答案
  8. Monent.js:强大的日期处理类库
  9. 模式识别与机器学习(一):概率论、决策论、信息论
  10. 大规模机器学习:将数据科学引入生产系统架构的典型模式
  11. Windows7 下载android源码
  12. 第一本微服务网关图书上市,详解 GitHub 28.3k+ 标星项目 Kong
  13. 高恪智能流控怎么设置_K2P智能流控效果(高恪)
  14. 21世纪如何正确思考及开创个人事业(转发)
  15. 一款PDF解密工具的Keygen
  16. 华为千亿美金年报里的5G、AI、云计算
  17. 关于windows自带的两种远程访问方式
  18. 正则表达式与 re 模块[转]
  19. 项目开发相关(附 Git 使用)
  20. 软考 计算机 都有什么考试内容,了解软考是什么 软考考试流程都包括哪些

热门文章

  1. 数据库事务的ACID及隔离级别
  2. 爱奇艺的骚操作,这是在玩火啊
  3. 错觉图片生成实验 - 不同步的方块
  4. 京东与腾讯续签三年战略合作协议;起薪涨至26万元!韩国三星SK争相加薪留住半导体人才;Firefox 102 发布|极客头条...
  5. python把图片转化为素描画_python如何将图片转换素描画 python将图片转换素描画代码示例...
  6. 2018 年最新 PHP 面试题大全(干货)
  7. Java实现 LeetCode 169 多数元素
  8. VMware虚拟机网络设置(超详细,必看)
  9. 659. 分割数组为连续子序列
  10. ASP.NET---FileMaker组件功能简介