Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Pengesanan outlier adalah tugas penting dalam bidang pembelajaran mesin. Ia digunakan untuk mengenal pasti pemerhatian luar biasa atau titik data yang menyimpang daripada arah aliran umum set data. Satu algoritma berkesan untuk pengesanan terpencil ialah algoritma Hutan Pengasingan

Dalam blog hari ini, kami akan merangkumi asas algoritma Isolation Forest dan menunjukkan cara menggunakannya untuk mengesan outlier dalam set data menggunakan Python . Anda boleh menonton video penuh tutorial ini di bahagian bawah blog ini .

Isi kandungan

Algoritma Hutan Pengasingan vs Kaedah Plot Kotak 

Ditunjukkan di bawah ialah dua visual untuk pengesanan outlier. Perhatikan perbezaan ketara dalam perwakilan visual apabila menggunakan berbanding semasa Model ML Hutan Pengasingan untuk Pengesanan Outlier digunakan. 

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Dalam Model ML Hutan Pengasingan, peratusan outlier yang dikesan oleh algoritma Pengesanan Anomali IS ialah 32.56%. Menggunakan algoritma yang sama, baki 67.44% data berada dalam julat normal, yang agak sensitif. Matlamat kami adalah untuk memperhalusi sensitiviti ini menggunakan Python

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Kaedah Pengesanan Outlier Tradisional

Cara tradisional mencari outlier adalah dengan menggunakan kaedah plot kotak . Dalam kaedah ini, kami menggunakan IQR untuk mencari perkara yang berada di luar julat data yang dijangkakan. 

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Dalam contoh ini, titik tunggal di atas misai ini adalah outlier kami.

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Jika kami menterjemahkan graf visual ini ke dalam carta pai, kami akan mendapat outlier khusus ini yang bersamaan dengan 2.33% daripada jumlah data. 

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Dalam blog ini, kita akan belajar cara menggunakan Kaedah ML Hutan Pengasingan, memperhalusinya agar sepadan dengan kaedah tradisional dan meningkatkan atau mengurangkan kepekaannya.

Set Data Untuk Algoritma Hutan Pengasingan

Buka set data kami dalam LuckyTemplates. Kemudian klik Transform Data. 

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Set data kami untuk tutorial ini akan dipaparkan. Ia mengandungi Tarikh , bilangan Pengguna , Indeks dan Pencilan Hutan Pengasingan dengan output 1 untuk julat normal dan -1 untuk pencilan  .

Kami juga mempunyai lajur untuk Traditional Outlier , dan lajur bersyarat bertajuk IS Anomaly Detection yang mencerminkan Isolation Forest Outlier. 

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Pertanyaan kedua kami menunjukkan bingkai data kami yang akan kami pelajari cara menyusun semuanya. 

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Kod Python

Pada anak tetingkap Properties , kita dapat melihat dua skrip Python kita yang sedang berjalan . Kami mencipta keluaran Hutan Pengasingan dengan salah satu skrip Python ini dan menjana outlier tradisional dengan yang lain. 

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Kod Python Algoritma Hutan Pengasingan

Klik Jalankan skrip Python untuk melihat kod. 

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Dalam kod Python ini, kami mengimport panda sebagai pd dan menggunakan sesuatu yang dipanggil Hutan Pengasingan. 

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Hutan Pengasingan ialah model berasaskan pokok yang membuat keputusan berdasarkan struktur pokok dan kemudian memutuskan sama ada ia outlier atau tidak. Kami memanggilnya model ensemble kerana ia menggunakan dua kaedah yang berbeza untuk mencari outlier tertentu. 

Kami juga menggantikan pembolehubah set data , yang menyimpan set data kami secara lalai, sebagai df

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Memandangkan set data kami, kami tidak akan memerlukan dua baris kod yang diserlahkan di bawah supaya kami hanya boleh memadamkan baris tersebut. 

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Apa yang kami lakukan ialah membuat model.

Simpan model sebagai IsolationForest dan biarkan model mempelajari data dengan Pengguna. Kemudian, buat lajur baharu yang dipanggil Pengesanan Anomali yang akan menyemak semula semua data yang dipelajari dan meramalkan yang mana satu harus menjadi outlier atau tidak. 

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Untuk fungsi ini, lalai untuk pencemaran ditetapkan pada 0.5 . Oleh itu, ia sangat sensitif pada masa ini dan akan mencari banyak penyimpangan. Itulah sebabnya dalam carta pai kami sebelum ini, kami mempunyai julat outlier yang sangat tinggi pada 32.56%. 

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Untuk menjadikannya kurang sensitif, kita boleh menambah pencemaran = .1 dalam fungsi IsolationForest .

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Akhir sekali, tetapkan semula indeks dan klik OK.

Hasilnya akan menunjukkan jadual ringkasan. Pergi ke anak tetingkap Applied Steps dan klik df.

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Dalam output, kita boleh mencari outlier di bawah lajur Pengesanan Anomali

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Kami juga ingin melihat prestasinya bersebelahan dengan outlier tradisional. 

Kod Python Outlier Tradisional

Kami akan menjalankan satu lagi skrip Python yang dalam contoh ini ialah skrip Run Python1.

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Kod ini menambah fungsi outlier menggunakan kuartil pertama dan ketiga. Apabila kita menolak q1 daripada q3 , kita mendapat Julat Antara Kuartil (IQR)

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Dua baris seterusnya menetapkan syarat untuk outlier. Baris pertama mengatakan bahawa apa-apa yang kurang daripada 1.5 * iqr dianggap negatif atau lebih rendah. Ini juga bagaimana kita mencari outlier dengan cara tradisional.

Kami juga tahu bahawa kami mempunyai satu outlier sebagai titik tertinggi dalam data kami. Untuk mengambil kira itu, baris kedua menyatakan bahawa titik data yang lebih tinggi daripada q3 + 1.5 * iqr juga dianggap sebagai outlier. 

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Kembalikan set data itu dan gunakan fungsi outliers(df, 'Users') . Kemudian klik OK.

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Jadual ringkasan yang serupa dengan apa yang kita ada sebelum ini akan muncul. 

Jika kita pergi ke anak tetingkap Applied Steps dan klik Changed Type1 , kita akan mendapat lajur Tradisional Outlier dan Pengesanan Anomali bersebelahan, dengan lajur kedua menggunakan 1 dan -1 untuk menandakan outlier dan bukan.

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Walau bagaimanapun, apabila kami menggunakan tarikh dengan Python, tarikh tersebut mungkin kelihatan kucar-kacir. 

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Apa yang boleh kita lakukan ialah mencipta lajur tambahan menggunakan Indeks daripada Lajur Tambah .

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Kemudian, tambahkan Indeks pada lajur sebelumnya dengan Gabung , supaya kami boleh mengekalkan semua maklumat dalam lajur/set data asal itu. 

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Setelah kami mempunyai segala-galanya bersama-sama, kami boleh menjalankan kod kami dan mengemas kini visual kami. Ingat bahawa kita menukar pencemaran outlier daripada 0.5 kepada 0.1, jadi kita sepatutnya melihat bahagian graf ini mengecut sedikit. 

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Kembali ke visual dan klik Gunakan Perubahan. 

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Perhatikan bagaimana Pengesanan Anomali telah berubah daripada 32.56% kepada 11.63% daripada data kami. 

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Seperti yang kita lihat dalam keputusan kami, ini ialah cara yang baik untuk mengoptimumkan pengesanan terpencil kami. 

Juga ingat bahawa apabila orang menggunakan kaedah tradisional, mereka mungkin menggunakan nilai yang lebih rendah daripada 1.5, tetapi 1.5 x IQR adalah cara tradisional, bagaimanapun. 

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python

Algoritma Hutan Pengasingan Untuk Pengesanan Outlier Dalam Python


Mengesan & Mempamerkan Hasil Outlier Dalam LuckyTemplates
Mencipta Titik Pencetus Outlier Dinamik Dalam
Ciri Pengesanan Anomali LuckyTemplates LuckyTemplates: Cara Ia Berfungsi

Kesimpulan

Dengan menggunakan algoritma Hutan Pengasingan, kami boleh dengan mudah mengenal pasti dan mengecualikan sebarang pemerhatian luar biasa daripada set data kami, sekali gus meningkatkan ketepatan analisis kami. Tutorial ini telah menyediakan panduan langkah demi langkah tentang cara menggunakan algoritma Hutan Pengasingan untuk pengesanan outlier menggunakan Python, yang sepatutnya membantu anda memulakan dengan melaksanakannya dalam projek anda sendiri.

Apa yang kami lakukan ialah cara yang sangat mudah untuk menggunakan kod Python kami untuk mencari anomali. Anda boleh mengoptimumkan lagi algoritma itu dengan mengubah suai pencemaran dan pelbagai pembolehubah lain yang boleh anda pelajari melalui halaman kod Python

Semua yang terbaik,


Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Apa Itu Diri Dalam Python: Contoh Dunia Sebenar

Cara Menyimpan & Memuatkan Fail RDS Dalam R

Cara Menyimpan & Memuatkan Fail RDS Dalam R

Anda akan belajar cara menyimpan dan memuatkan objek daripada fail .rds dalam R. Blog ini juga akan membincangkan cara mengimport objek dari R ke LuckyTemplates.

N Hari Perniagaan Pertama Dilawati Semula – Penyelesaian Bahasa Pengekodan DAX

N Hari Perniagaan Pertama Dilawati Semula – Penyelesaian Bahasa Pengekodan DAX

Dalam tutorial bahasa pengekodan DAX ini, pelajari cara menggunakan fungsi GENERATE dan cara menukar tajuk ukuran secara dinamik.

Pamerkan Cerapan Menggunakan Teknik Visual Dinamik Berbilang Thread Dalam LuckyTemplates

Pamerkan Cerapan Menggunakan Teknik Visual Dinamik Berbilang Thread Dalam LuckyTemplates

Tutorial ini akan merangkumi cara menggunakan teknik Visual Dinamik Berbilang Thread untuk mencipta cerapan daripada visualisasi data dinamik dalam laporan anda.

Pengenalan Untuk Menapis Konteks Dalam LuckyTemplates

Pengenalan Untuk Menapis Konteks Dalam LuckyTemplates

Dalam artikel ini, saya akan menjalankan konteks penapis. Konteks penapis ialah salah satu topik utama yang perlu dipelajari oleh mana-mana pengguna LuckyTemplates pada mulanya.

Petua Terbaik Menggunakan Aplikasi Dalam Perkhidmatan Dalam Talian LuckyTemplates

Petua Terbaik Menggunakan Aplikasi Dalam Perkhidmatan Dalam Talian LuckyTemplates

Saya ingin menunjukkan cara perkhidmatan dalam talian LuckyTemplates Apps boleh membantu dalam mengurus laporan dan cerapan berbeza yang dijana daripada pelbagai sumber.

Analisis Perubahan Margin Keuntungan Lebih Masa – Analitis Dengan LuckyTemplates Dan DAX

Analisis Perubahan Margin Keuntungan Lebih Masa – Analitis Dengan LuckyTemplates Dan DAX

Ketahui cara untuk menyelesaikan perubahan margin keuntungan anda menggunakan teknik seperti mengukur percabangan dan menggabungkan formula DAX dalam LuckyTemplates.

Idea Pewujudan Untuk Cache Data Dalam DAX Studio

Idea Pewujudan Untuk Cache Data Dalam DAX Studio

Tutorial ini akan membincangkan tentang idea pewujudan cache data dan cara ia mempengaruhi prestasi DAX dalam memberikan hasil.

Pelaporan Perniagaan Menggunakan LuckyTemplates

Pelaporan Perniagaan Menggunakan LuckyTemplates

Jika anda masih menggunakan Excel sehingga sekarang, maka inilah masa terbaik untuk mula menggunakan LuckyTemplates untuk keperluan pelaporan perniagaan anda.

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu

Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu