informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Deteksi outlier adalah tugas penting dalam analisis data dan proyek pembelajaran mesin. Outlier, juga dikenal sebagai outlier atau outlier, mengacu pada pengamatan yang berbeda secara signifikan dari data lainnya. Titik-titik ini dapat disebabkan oleh kesalahan pengukuran, kesalahan entri data, atau variabilitas sebenarnya. Mengidentifikasi dan menangani outlier dengan benar sangat penting untuk memastikan kualitas dan akurasi model. scikit-learn (singkatnya sklearn), sebagai pustaka pembelajaran mesin yang kaya fitur di Python, menyediakan berbagai metode deteksi outlier. Artikel ini akan memperkenalkan teknologi deteksi outlier di sklearn secara mendetail dan memberikan contoh kode praktis.
Deteksi outlier sangat penting di berbagai bidang seperti:
sklearn menyediakan beberapa metode untuk mendeteksi outlier. Berikut beberapa teknik yang umum digunakan:
Metode Z-Score menormalkan data ke distribusi normal berdasarkan mean dan deviasi standar data, dan menghitung Z-Score untuk setiap poin.
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))
Metode IQR menggunakan data kuartil pertama (Q1) dan kuartil ketiga (Q3) untuk menentukan kisaran outlier.
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)))
Metode berbasis kepadatan, seperti DBSCAN, mengidentifikasi outlier berdasarkan kepadatan titik data, bukan ambang batas tetap.
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 adalah metode pendeteksian outlier berdasarkan hutan acak, yang “mengisolasi” outlier dengan memilih fitur dan titik segmentasi secara acak.
from sklearn.ensemble import IsolationForest
iso_forest = IsolationForest(n_estimators=100, contamination=0.01)
iso_forest.fit(data)
outliers = iso_forest.predict(data) == -1
Mengevaluasi kinerja deteksi outlier seringkali sulit karena tidak ada standar yang mutlak. Namun, hal ini dapat dievaluasi dengan cara berikut:
Dalam penerapan praktisnya, deteksi outlier dapat membantu kita mengidentifikasi perilaku abnormal dalam kumpulan data untuk melakukan analisis lebih lanjut atau mengambil tindakan pencegahan.
Deteksi outlier adalah tautan penting dalam analisis data dan pembelajaran mesin. sklearn menyediakan berbagai metode deteksi outlier, masing-masing metode memiliki skenario aplikasi dan keunggulannya masing-masing. Melalui artikel ini, kita mempelajari berbagai teknik deteksi outlier di sklearn dan memberikan contoh kode praktis.
Tujuan artikel ini adalah untuk membantu pembaca lebih memahami deteksi outlier dan menguasai metode penerapan teknik ini di sklearn. Kami berharap pembaca dapat meningkatkan pemahaman mereka tentang deteksi outlier melalui artikel ini dan menerapkan teknik ini secara efektif dalam proyek sebenarnya. Seiring dengan pertumbuhan volume data, deteksi outlier akan terus memainkan peran penting dalam ilmu data.