因子を含むデータでの LOF
lof() 関数は、LOF スコアを計算する際に数値のデータフレームか距離行列のどちらかを入力として受け取れます。 この演習では、Gower の距離を使って距離行列を計算し、その行列を lof() 関数に渡してスコアリングする練習を行います。
前の演習と同様に、文字列列を因子に変換した thyroid データがあらかじめ読み込まれています。
この演習はコースの一部です
Rで学ぶ異常検知入門
演習の手順
thyroidデータに対して Gower の距離行列を計算し、結果を新しいオブジェクトthyroid_distに代入します。thyroid_distを用いて、k = 10として各患者の LOF を生成します。- 行列
thyroid_distに含まれる距離の範囲を出力します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Calculate Gower's distance matrix
thyroid_dist <- daisy(___, metric = ___)
# Generate LOF scores for thyroid data
thyroid_lof <- lof(thyroid_dist, k = 10)
# Range of values in the distance matrix
___(as.matrix(___))