期末報告 Isolation Forest 學號:R06525063 姓名:林韋宏 演算法文件 http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.IsolationForest.html
Outline Algorithm Introduction Code Review Model Preview Live Demo(Using InAnalysis) Conclusion&Reference
Algorithm Introduction iForest中的樹叫isolation tree,簡稱iTree。iTree樹和決策樹不太一樣,構建過程也 比決策樹簡單,是一個完全隨機的過程。 數據集有N條數據,構建一顆iTree時,從N條數據中均勻抽樣(無放回抽樣)出M個樣 本作為這顆樹的訓練樣本。 在樣本中,隨機選特徵,並在這個特徵的所有值範圍內(min~max)隨機選一個值, 對樣本進行二叉劃分,將樣本中小於該值的劃分到節點的左邊,大於等於該值的劃 分到節點的右邊。
Algorithm Introduction 預測的過程就是把測試數據在iTree樹上沿對應的條件分支往下走,直到達到葉子節 點,記錄過程中經過的路徑長度,帶入計算每條待測數據的異常分數 分數越接近1,是異常點的可能性越高 分數都比0.5小,基本可以確定為正常數據 分數都在0.5附近,數據不包含明顯的異常樣本
隨機特徵 隨機值二分 數據集 隨機抽 數據集 訓練樣本 數據集
優點 : 內存要求低、處理速度快 iTree數量(n_estimators) : default 100 採樣數量(max_samples) : default 256 缺點 : 特徵少的數據效果不佳
Code Review
Model Preview matplotlib.pyplot contourf iris dataset sepal length & width n_estimators=100 contamination=0.1 max_features=1
Live demo 報告當天使用InAnalysis完成live demo:http://ntuesoe.com:8008/ 步驟: 上傳期中專案使用的訓練資料 點選自己新增的演算法訓練 口頭講述訓練結果、預測結果
Conclusion & Reference http://scikit- learn.org/stable/modules/generated/sklearn.ensemble.IsolationForest.html https://read01.com/zh-tw/4D22G3.html#.WkWhXVWWaUk http://scikit- learn.org/stable/auto_examples/ensemble/plot_isolation_forest.html#sphx-glr- auto-examples-ensemble-plot-isolation-forest-py https://cs.nju.edu.cn/zhouzh/zhouzh.files/publication/icdm08b.pdf