Teknologian jakaminen

Tietorajojen tarkkailu: poikkeamien havaitsemistekniikka sklearnissä

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Tietorajojen tarkkailu: poikkeamien havaitsemistekniikka sklearnissä

Outlier-tunnistus on kriittinen tehtävä data-analyysi- ja koneoppimisprojekteissa. Outliers, joka tunnetaan myös nimellä outliers tai outliers, viittaavat havaintoihin, jotka eroavat merkittävästi muista tiedoista. Nämä pisteet voivat johtua mittausvirheestä, tiedonsyöttövirheistä tai todellisesta vaihtelusta. Poikkeamien oikea tunnistaminen ja käsittely on erittäin tärkeää mallin laadun ja tarkkuuden varmistamiseksi. scikit-learn (lyhyesti sklearn) Pythonin monipuolinen koneoppimiskirjasto tarjoaa erilaisia ​​poikkeavien havaitsemismenetelmiä. Tämä artikkeli esittelee sklearnin poikkeamien havaitsemistekniikan yksityiskohtaisesti ja tarjoaa käytännön koodiesimerkkejä.

1. Poikkeamien havaitsemisen tärkeys

Poikkeamien havaitseminen on kriittistä seuraavilla alueilla:

  • Tietojen puhdistus: Tunnista ja käsittele poikkeamat tietojen esikäsittelyvaiheessa.
  • Petosten havaitseminen: Tunnista mahdolliset petokset rahoitustapahtumissa.
  • Prosessin seuranta: Tarkkaile laitteiden tilaa ja ehkäise häiriöt teollisessa tuotannossa.
2. Outlier-tunnistusmenetelmä sklearnissä

sklearn tarjoaa useita menetelmiä poikkeamien havaitsemiseen. Tässä on joitain yleisesti käytettyjä tekniikoita:

2.1 Z-pisteet (standardipisteet)

Z-Score-menetelmä normalisoi tiedot normaalijakaumaan tietojen keskiarvon ja keskihajonnan perusteella ja laskee Z-pisteen jokaiselle pisteelle.

from scipy.stats import zscore

data = [[1, 2], [3, 4], [5, 6], [100, 100]]
data = np.array(data)
z_scores = zscore(data)
threshold = 3  # 通常阈值设为3
outliers = np.where((z_scores > threshold) | (z_scores < -threshold))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
2.2 IQR (neljännesten välinen alue)

IQR-menetelmä käyttää tietojen ensimmäistä kvartiilia (Q1) ja kolmatta kvartiilia (Q3) poikkeavien arvojen määrittämiseen.

Q1 = np.percentile(data, 25, axis=0)
Q3 = np.percentile(data, 75, axis=0)
IQR = Q3 - Q1
threshold = 1.5
outliers = np.where((data < (Q1 - threshold * IQR)) | (data > (Q3 + threshold * IQR)))
  • 1
  • 2
  • 3
  • 4
  • 5
2.3 Tiheyteen perustuvat menetelmät

Tiheyteen perustuvat menetelmät, kuten DBSCAN, tunnistavat poikkeamat datapisteiden tiheyden perusteella kiinteän kynnyksen sijaan.

from sklearn.cluster import DBSCAN

dbscan = DBSCAN(min_samples=5, eps=0.5)
dbscan.fit(data)
core_samples_mask = np.zeros_like(dbscan.labels_, dtype=bool)
core_samples_mask[dbscan.core_sample_indices_] = True
outliers = dbscan.labels_ == -1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
2.4 Eristysmetsä

Isolation Forest on satunnaiseen metsään perustuva poikkeavien havaitsemismenetelmä, joka "eristää" poikkeamat valitsemalla satunnaisesti ominaisuuksia ja segmentointipisteitä.

from sklearn.ensemble import IsolationForest

iso_forest = IsolationForest(n_estimators=100, contamination=0.01)
iso_forest.fit(data)
outliers = iso_forest.predict(data) == -1
  • 1
  • 2
  • 3
  • 4
  • 5
3. Arvioi poikkeamien havaitseminen

Poikkeamien havaitsemisen tehokkuuden arvioiminen on usein vaikeaa, koska absoluuttisia standardeja ei ole. Sitä voidaan kuitenkin arvioida seuraavilla tavoilla:

  • Visualisointi: Visualisoi datapisteet ja havaitut poikkeamat käyttämällä menetelmiä, kuten sirontakaavioita.
  • Tunnetut poikkeamat: Jos tunnetaan poikkeavuuksia, voidaan laskea indikaattoreita, kuten tunnistustarkkuus ja palautusnopeus.
4. Yhdistetty käytännön sovelluksiin

Käytännön sovelluksissa poikkeamien havaitseminen voi auttaa meitä tunnistamaan tietojoukon epänormaalit käyttäytymiset lisäanalyysin suorittamiseksi tai ehkäisevien toimenpiteiden toteuttamiseksi.

5. Päätelmät

Outlier-tunnistus on tärkeä linkki data-analyysissä ja koneoppimisessa. sklearn tarjoaa useita poikkeavien havaitsemismenetelmiä, jokaisella menetelmällä on erityiset sovellusskenaariot ja etunsa. Tämän artikkelin kautta opimme erilaisista poikkeamien havaitsemistekniikoista sklearnissä ja toimitimme käytännön koodiesimerkkejä.

Tämän artikkelin tarkoituksena on auttaa lukijoita ymmärtämään paremmin poikkeamien havaitsemista ja hallitsemaan menetelmät näiden tekniikoiden toteuttamiseksi sklearnissä. Toivomme, että lukijat voivat parantaa ymmärrystään poikkeamien havaitsemisesta tämän artikkelin avulla ja soveltaa näitä tekniikoita tehokkaasti todellisissa projekteissa. Datavolyymien kasvaessa poikkeamien havaitseminen on jatkossakin tärkeässä roolissa datatieteessä.