Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
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.
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 .
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.
Dalam contoh ini, titik tunggal di atas misai ini adalah outlier kami.
Jika kami menterjemahkan graf visual ini ke dalam carta pai, kami akan mendapat outlier khusus ini yang bersamaan dengan 2.33% daripada jumlah data.
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.
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.
Pertanyaan kedua kami menunjukkan bingkai data kami yang akan kami pelajari cara menyusun semuanya.
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.
Kod Python Algoritma Hutan Pengasingan
Klik Jalankan skrip Python untuk melihat kod.
Dalam kod Python ini, kami mengimport panda sebagai pd dan menggunakan sesuatu yang dipanggil Hutan Pengasingan.
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 .
Memandangkan set data kami, kami tidak akan memerlukan dua baris kod yang diserlahkan di bawah supaya kami hanya boleh memadamkan baris tersebut.
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.
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%.
Untuk menjadikannya kurang sensitif, kita boleh menambah pencemaran = .1 dalam fungsi IsolationForest .
Akhir sekali, tetapkan semula indeks dan klik OK.
Hasilnya akan menunjukkan jadual ringkasan. Pergi ke anak tetingkap Applied Steps dan klik df.
Dalam output, kita boleh mencari outlier di bawah lajur Pengesanan Anomali .
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.
Kod ini menambah fungsi outlier menggunakan kuartil pertama dan ketiga. Apabila kita menolak q1 daripada q3 , kita mendapat Julat Antara Kuartil (IQR) .
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.
Kembalikan set data itu dan gunakan fungsi outliers(df, 'Users') . Kemudian klik OK.
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.
Walau bagaimanapun, apabila kami menggunakan tarikh dengan Python, tarikh tersebut mungkin kelihatan kucar-kacir.
Apa yang boleh kita lakukan ialah mencipta lajur tambahan menggunakan Indeks daripada Lajur Tambah .
Kemudian, tambahkan Indeks pada lajur sebelumnya dengan Gabung , supaya kami boleh mengekalkan semua maklumat dalam lajur/set data asal itu.
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.
Kembali ke visual dan klik Gunakan Perubahan.
Perhatikan bagaimana Pengesanan Anomali telah berubah daripada 32.56% kepada 11.63% daripada data kami.
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.
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
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.
Dalam tutorial bahasa pengekodan DAX ini, pelajari cara menggunakan fungsi GENERATE dan cara menukar tajuk ukuran secara dinamik.
Tutorial ini akan merangkumi cara menggunakan teknik Visual Dinamik Berbilang Thread untuk mencipta cerapan daripada visualisasi data dinamik dalam laporan anda.
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.
Saya ingin menunjukkan cara perkhidmatan dalam talian LuckyTemplates Apps boleh membantu dalam mengurus laporan dan cerapan berbeza yang dijana daripada pelbagai sumber.
Ketahui cara untuk menyelesaikan perubahan margin keuntungan anda menggunakan teknik seperti mengukur percabangan dan menggabungkan formula DAX dalam LuckyTemplates.
Tutorial ini akan membincangkan tentang idea pewujudan cache data dan cara ia mempengaruhi prestasi DAX dalam memberikan hasil.
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