2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
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ä.
Poikkeamien havaitseminen on kriittistä seuraavilla alueilla:
sklearn tarjoaa useita menetelmiä poikkeamien havaitsemiseen. Tässä on joitain yleisesti käytettyjä tekniikoita:
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))
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)))
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
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
Poikkeamien havaitsemisen tehokkuuden arvioiminen on usein vaikeaa, koska absoluuttisia standardeja ei ole. Sitä voidaan kuitenkin arvioida seuraavilla tavoilla:
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.
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ä.