τα στοιχεία επικοινωνίας μου
Ταχυδρομείο[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Ο εντοπισμός ακραίων τιμών είναι μια κρίσιμη εργασία σε έργα ανάλυσης δεδομένων και μηχανικής μάθησης. Οι ακραίες τιμές, γνωστές και ως ακραίες τιμές ή ακραίες τιμές, αναφέρονται σε εκείνες τις παρατηρήσεις που διαφέρουν σημαντικά από άλλα δεδομένα. Αυτά τα σημεία μπορεί να προκληθούν από σφάλμα μέτρησης, σφάλματα εισαγωγής δεδομένων ή πραγματική μεταβλητότητα. Ο σωστός προσδιορισμός και ο χειρισμός των ακραίων τιμών είναι κρίσιμος για τη διασφάλιση της ποιότητας και της ακρίβειας του μοντέλου. Το scikit-learn (sklearn για συντομία), ως μια πλούσια σε χαρακτηριστικά βιβλιοθήκη μηχανικής εκμάθησης στην Python, παρέχει μια ποικιλία μεθόδων ανίχνευσης ακραίων στοιχείων. Αυτό το άρθρο θα εισαγάγει λεπτομερώς την τεχνολογία ανίχνευσης ακραίων τιμών στο sklearn και θα παρέχει πρακτικά παραδείγματα κώδικα.
Η ανίχνευση ακραίων στοιχείων είναι κρίσιμης σημασίας σε τομείς όπως:
Το sklearn παρέχει διάφορες μεθόδους για την ανίχνευση ακραίων τιμών Ακολουθούν ορισμένες κοινώς χρησιμοποιούμενες τεχνικές:
Η μέθοδος Z-Score κανονικοποιεί τα δεδομένα σε μια κανονική κατανομή με βάση τον μέσο όρο και την τυπική απόκλιση των δεδομένων και υπολογίζει το Z-Score για κάθε σημείο.
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 χρησιμοποιεί το πρώτο τεταρτημόριο (Q1) και το τρίτο τεταρτημόριο (Q3) των δεδομένων για να καθορίσει το εύρος των ακραίων τιμών.
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)))
Οι μέθοδοι που βασίζονται στην πυκνότητα, όπως το DBSCAN, προσδιορίζουν ακραίες τιμές με βάση την πυκνότητα των σημείων δεδομένων και όχι ένα σταθερό όριο.
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 είναι μια μέθοδος ανίχνευσης ακραίων στοιχείων που βασίζεται σε τυχαία δάση, η οποία «απομονώνει» τα ακραία σημεία επιλέγοντας τυχαία χαρακτηριστικά και σημεία τμηματοποίησης.
from sklearn.ensemble import IsolationForest
iso_forest = IsolationForest(n_estimators=100, contamination=0.01)
iso_forest.fit(data)
outliers = iso_forest.predict(data) == -1
Η αξιολόγηση της απόδοσης της ανίχνευσης ακραίων τιμών είναι συχνά δύσκολη επειδή δεν υπάρχουν απόλυτα πρότυπα. Ωστόσο, μπορεί να αξιολογηθεί με τους εξής τρόπους:
Σε πρακτικές εφαρμογές, η ανίχνευση ακραίων τιμών μπορεί να μας βοηθήσει να εντοπίσουμε μη φυσιολογικές συμπεριφορές στο σύνολο δεδομένων για τη διεξαγωγή περαιτέρω ανάλυσης ή τη λήψη προληπτικών μέτρων.
Η ανίχνευση ακραίων τιμών είναι ένας σημαντικός σύνδεσμος στην ανάλυση δεδομένων και τη μηχανική μάθηση. Το sklearn παρέχει μια ποικιλία μεθόδων ανίχνευσης ακραίων τιμών, κάθε μέθοδος έχει τα συγκεκριμένα σενάρια εφαρμογής και τα πλεονεκτήματά της. Μέσω αυτού του άρθρου, μάθαμε για διαφορετικές τεχνικές ανίχνευσης ακραίων στοιχείων στο sklearn και παρέχουμε πρακτικά παραδείγματα κώδικα.
Ο σκοπός αυτού του άρθρου είναι να βοηθήσει τους αναγνώστες να κατανοήσουν καλύτερα την ανίχνευση ακραίων στοιχείων και να κατακτήσουν τις μεθόδους εφαρμογής αυτών των τεχνικών στο sklearn. Ελπίζουμε ότι οι αναγνώστες μπορούν να βελτιώσουν την κατανόησή τους για τον εντοπισμό ακραίων τιμών μέσω αυτού του άρθρου και να εφαρμόσουν αποτελεσματικά αυτές τις τεχνικές σε πραγματικά έργα. Καθώς οι όγκοι δεδομένων συνεχίζουν να αυξάνονται, η ανίχνευση ακραίων στοιχείων θα συνεχίσει να παίζει σημαντικό ρόλο στην επιστήμη των δεδομένων.