在機器學習和資料探勘過程中,經常會遇到異常點。
如何處理這些點,關係到後期模型的正確度和精確度,也關係到模型和演算法的效率。
對於明顯的、人能分辨的異常點,比如人的年齡大於150歲,電腦**20萬人民幣,這種顯而易見的異常點,可以直接忽略,剔除掉。
對於人無法直觀判斷的異常點,需要借助模型和數學工具進行分析,然後決定採取何種方式處理。
異常檢測的基本步驟:
1、選定容易出錯的n個特徵作為變數(x1,x2,x3,xx4,x5...xn).
2、根據已知樣本集m,計算每個特徵的均值和方差。
3、給定乙個檢測點,計算其密度函式p(x).
4、若p(x)注意:這裡e是需要計算得到,或者認為給定的;並且假定每個特徵向量滿足高斯分布。
如果特徵向量不滿足高斯分布,也可以通過對數指數等操作對其進行變換,使其分布符合或者近似符合高斯分布。
需要三種資料集:訓練集(training set)、交叉驗證集(cv)、測試集(testing set)。
分別用於構建p(x);
嘗試不同e,比較f-score準確率召回率找出最合適的e取值;
針對選擇出來的e,對檢測點進行**,計算f-score值、準確率召回率,改善引數e的選擇。
此外,我們還可以通過誤差分析,判斷選定的引數是否合適,進行相應改進。
如果異常點的概率p(x)很大,則這種引數構建的異常檢測系統不能很好地識別出異常點。
可以增加引數或者改變引數型別,使異常檢測系統能更加方便地識別異常點。
參考文章
1、
異常點檢測
import numpy as np from sklearn.ensemble import isolationforest import matplotlib.pyplot as plt np.random.seed 29 x np.random.normal size 100,2 x 0.05...
異常點檢測演算法
異常點檢測演算法 對於train data 中的資料,對其中重要的特徵 或者每個特徵 x1,x2,xn,計算其高斯分布 對new data,計算 x 每個特徵 在訓練資料分布下的 p 值並相乘,若p x 小於某個臨界值,則判斷其為異常點 什麼時候選擇使用 p x 根據分布概率來判斷異常點,什麼時候使...
Harris角點檢測原理
本文 理論 如果某一點在任意方向的乙個微小變動都會引起灰度很大的變化,那麼我們就把它稱之為角點 由上面定義,我們可以想到演算法思路 去檢測影象畫素的灰度變化情況,即求解 對於上式,我們希望找到使e的值盡量大的點,則,將上式右邊泰勒展開得 整理可得 進而可以表示為下式 這裡考慮進去窗函式,設 於是,h...