解いてみる(3)「機械学習基礎」簡単な問題を 解いて理解しよう!後篇
「機械学習基礎」簡単な問題を解いて理解しよう!後篇|【Tech総研】
後編
問題
- 異常(外れ値)検出で、選んではいけない玉を見つけ出せ!
- 100個の玉のうち、貴重な石でできた玉がどれなのか教えてほしい。
- 判定が微妙なものがあれば、怪しい玉も含めて3つぐらい教えてほしい。
解説(引用)
与えられたデータ集合の中から、異常(外れ値)を検出する問題です。 外れ値検出は、ノイズや異常動作、故障の予兆などの検知に用いられるほか、未知の事象を発見したりするのにも有用です。 外れ値検出の主な手法としては、One-class Support Vector Machine(OC-SVM)やLocal Outlier Factor(LOF)があります。
解いてみると言ってもこれは分からなかったので答えを見た。
丸写しだから意味ないけど書いておこう
# 3次元プロット install.packages("rgl") library(rgl) plot3d(hundred) # 異常値検出 install.packages("DMwR") library(DMwR) hundred <- read.table("hundred.txt") outlier.scores <- lofactor(hundred, k=3) outliers <- order(outlier.scores, decreasing=T)[1:3] outliers hundred[outliers,]
結果
> hundred[outliers,] V1 V2 V3 87 84.406 129.347 50.527 16 76.911 127.382 51.565 100 89.907 131.723 52.932