Local Outlier Factor
Termasuk bagian Pembelajaran Tanpa Pengawasan dalam perjalanan Machine Learning di Coddy. Pelajaran 36 dari 51.
Beberapa titik yang tidak biasa tersembunyi dalam rentang data. local outlier factor, LOF, membandingkan seberapa padat lokasi setiap titik dengan lokasi tetangganya:
Para pembeli terkadang berada di sana selama 6 jam. Namun, tetangga mobil ini adalah para komuter yang berdesakan rapat, dan mobil ini berada jauh dari keramaian mereka:
from sklearn.neighbors import LocalOutlierFactor
lof = LocalOutlierFactor(n_neighbors=20, contamination=0.02)
flags = lof.fit_predict(X)Jawabannya sama seperti sebelumnya: -1 anomali, 1 normal. n_neighbors menentukan seberapa lokal perbandingannya.
Tantangan
SedangSebuah perusahaan telepon mencari akun yang berbeda dari akun di sekitarnya. Program awal menstandarkan data dan menandai akun dengan isolation forest; program membaca k.
- Tandai akun dengan LOF:
n_neighbors=k,contamination=0.03. - Cetak jumlah akun yang ditandai oleh setiap pendeteksi dan jumlah akun yang ditandai oleh keduanya.
- Daftarkan akun yang hanya ditandai oleh LOF, sesuai urutan tabel, seperti di bawah ini.
Untuk perusahaan yang lebih kecil dan 10:
Isolation forest: 5 accounts
LOF: 5 accounts
Both: 4 accounts
Only LOF:
A118: 960 minutes, 6.2 GBCoba sendiri
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import IsolationForest
from sklearn.neighbors import LocalOutlierFactor
# Satu baris untuk setiap akun ponsel: jumlah menit panggilan dan data seluler selama sebulan
accounts = pd.read_csv("accounts.csv")
X = StandardScaler().fit_transform(accounts[["call_minutes", "data_gb"]])
k = int(input())
# Dari Isolation Forest: -1 untuk akun yang dianggap tidak biasa oleh forest
forest_flags = IsolationForest(contamination=0.03, random_state=0).fit_predict(X)
# Tulis kodemu di bawah ini
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Pembelajaran Tanpa Pengawasan
1Menemukan Kelompok
Belajar Tanpa LabelMengukur KemiripanK-Means secara ManualK-Means dengan scikit-learnRangkuman: Anggota Gym4Pengelompokan Hierarkis
Penggabungan Langkah demi LangkahModel AglomeratifDendrogramRingkasan: Ras Anjing7PCA dalam Praktik
Melihat 64 DimensiKomponen sebagai PolaKompres dan RekonstruksiPCA Sebelum ModelRangkuman: Pemindai Wajah10Proyek: Penjelajah Digit
Amati DigitnyaPerkecil dengan PCAKelompokkan DigitBeri Nama pada KelompokTemukan yang Tidak Biasa8Deteksi Anomali
Menemukan yang BerbedaIsolation ForestLocal Outlier FactorSkor AnomaliRangkuman: Memantau ServerLatihan sendiri: Compiler Python online