Pythonda Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Aykırı değer tespiti, makine öğrenimi alanında önemli bir görevdir. Olağandışı gözlemleri veya veri kümesinin genel eğiliminden sapan veri noktalarını belirlemek için kullanılır. Aykırı değer tespiti için etkili bir algoritma, İzolasyon Ormanı algoritmasıdır. 

Bugünün blogunda, İzolasyon Ormanı algoritmasının temellerini ele alacağız ve Python kullanarak bir veri kümesindeki aykırı değerleri tespit etmek için nasıl kullanılacağını göstereceğiz . Bu eğitimin tam videosunu bu blogun alt kısmında izleyebilirsiniz .

İçindekiler

İzolasyon Ormanı Algoritması ve Kutu Çizim Yöntemi 

Aşağıda aykırı değer tespiti için iki görsel gösterilmektedir. Aykırı Değer Tespiti için İzolasyon Ormanı ML Modeli kullanıldığında karşılaştırıldığında,  kullanıldığında görsel sunumdaki önemli farklılıklara dikkat edin .

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

İzolasyon Ormanı ML Modelinde, IS Anomaly Detection algoritması tarafından tespit edilen aykırı değerlerin yüzdesi %32,56'dır. Aynı algoritma kullanılarak, verilerin geri kalan %67,44'ü oldukça hassas olan normal aralıkta kalmaktadır. Amacımız, Python kullanarak bu hassasiyete ince ayar yapmaktır . 

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Geleneksel Aykırı Değer Tespit Yöntemi

Bir aykırı değer bulmanın geleneksel yolu, bir kutu grafiği yöntemi kullanmaktır . Bu yöntemde, verilerin beklenen aralığının dışında kalanları bulmak için IQR'yi kullanırız. 

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Bu örnekte, bıyık üzerindeki bu tek nokta bizim aykırı değerimizdir.

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Bu görsel grafiği bir pasta grafiğe çevirirsek, toplam verilerin  %2,33'üne eşdeğer olan bu belirli bir aykırı değeri elde ederiz.

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Bu blogda, İzolasyon Ormanı Makine Öğrenimi Yöntemini nasıl kullanacağımızı, geleneksel yöntemle eşleştirmek için ince ayar yapmayı ve hassasiyetini artırmayı veya azaltmayı öğreneceğiz.

İzolasyon Ormanı Algoritması İçin Veri Kümesi

Veri kümemizi LuckyTemplates'da açın. Ardından Verileri Dönüştür'ü tıklayın. 

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Bu eğitim için veri kümemiz görünecektir. Normal aralık için çıkış 1 ve aykırı değerler için -1 ile  Tarih , Kullanıcı Sayısı , Dizin ve İzolasyon Ormanı Aykırı Değerini içerir .

Ayrıca Geleneksel Aykırı Değer için bir sütunumuz ve İzolasyon Ormanı Aykırı Değerini yansıtan  IS Anomaly Detection başlıklı bir koşullu sütunumuz var .

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

İkinci sorgumuz, her şeyi nasıl bir araya getireceğimizi öğreneceğimiz veri çerçevemizi gösterir. 

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Python Kodları

Özellikler bölmesinde çalışan iki Python betiğimizi görebiliriz . Bu Python betiklerinden biriyle İzolasyon Ormanı çıktısını , diğeriyle geleneksel aykırı değeri oluşturuyoruz. 

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

İzolasyon Ormanı Algoritması Python Kodu

Kodu görüntülemek için  Python betiğini çalıştır'a tıklayın .

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Bu Python kodunda pandaları pd olarak içe aktarıyoruz ve Isolation Forest adlı bir şey kullanıyoruz. 

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

İzolasyon Ormanı, bir ağaç yapısına dayalı kararlar veren ve ardından bunun bir aykırı değer olup olmadığına karar veren ağaç tabanlı bir modeldir. Belirli bir aykırı değeri bulmak için iki farklı yöntem kullandığı için  buna topluluk modeli diyoruz .

Ayrıca veri setimizi default olarak tutan dataset değişkenini de df olarak değiştiriyoruz . 

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Veri setimiz göz önüne alındığında, aşağıda vurgulanan iki kod satırına ihtiyacımız olmayacak, böylece bu satırları silebiliriz. 

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Yaptığımız şey modeli somutlaştırmak.

Modeli IsolationForest olarak kaydedin ve modelin Users ile verileri öğrenmesine izin verin. Ardından, öğrendiği tüm verileri gözden geçirecek ve hangisinin aykırı değer olup olmayacağını tahmin edecek olan  Anomali Tespiti adlı yeni bir sütun oluşturun .

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Bu işlev için, kirlilik için varsayılan değer 0,5 olarak ayarlanmıştır . Bu nedenle, şu anda süper hassastır ve birçok aykırı değer arayacaktır. Bu nedenle, daha önceki pasta grafiğimizde, %32,56 ile çok yüksek bir aykırı değerler aralığına sahibiz. 

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Daha az duyarlı hale getirmek için, IsolationForest işlevinde kirlilik = .1 ekleyebiliriz .

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Son olarak, dizini sıfırlayın ve Tamam'a tıklayın.

Sonuç bir özet tablosu gösterecektir. Uygulanan Adımlar bölmesine gidin ve df'ye tıklayın.

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Çıktıda, aykırı değerleri Anomali Tespiti sütununun altında bulabiliriz . 

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Geleneksel aykırı değerin yanında nasıl performans gösterdiğini de görmek istiyoruz. 

Geleneksel Aykırı Python Kodu

Bu örnekte Run Python script1 olan başka bir Python betiği çalıştıracağız .

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Bu kod, birinci ve üçüncü çeyrekleri kullanarak bir aykırı değer işlevi ekler. q1'i q3'ten çıkardığımızda Çeyrekler Arası Aralığı (IQR) elde ederiz . 

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Sonraki iki satır, aykırı değerler için koşulları belirler. İlk satır, 1,5 * iqr'den daha az olan herhangi bir şeyin negatif veya daha düşük aykırı değerler olarak kabul edildiğini söylüyor. Aykırı değerleri geleneksel şekilde bu şekilde buluruz.

Verilerimizde en yüksek nokta olarak bir aykırı değere sahip olduğumuzu da biliyoruz. Bunu hesaba katmak için ikinci satır, q3 + 1.5 * iqr'den yüksek veri noktalarının da aykırı değerler olarak kabul edildiğini belirtir. 

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Bu veri kümesini döndürün ve outliers(df, 'Users') işlevini kullanın . Ardından Tamam'ı tıklayın.

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Daha önce sahip olduğumuza benzer bir özet tablosu görünecektir. 

Uygulanan Adımlar bölmesine gidip Changed Type1 'e tıklarsak , Geleneksel Aykırı Değer ve Anomali Tespiti sütunlarını yan yana alırız , ikincisi aykırı değerleri belirtmek için 1 ve -1'i kullanır, değil.

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Ancak, Python ile tarihleri ​​kullandığımızda dağınık görünebilirler. 

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Add Column'dan Index'i kullanarak ek bir sütun oluşturabiliriz .

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Ardından, Merge ile önceki sütuna Index ekleyin , böylece o orijinal sütundaki/veri kümesindeki tüm bilgileri koruyabiliriz. 

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Her şeyi bir araya getirdikten sonra kodumuzu çalıştırabilir ve görsellerimizi güncelleyebiliriz. Aykırı değerin kirlenmesini 0,5'ten 0,1'e değiştirdiğimizi unutmayın, bu nedenle grafiğin bu kısmının biraz küçüldüğünü görmeliyiz. 

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Görsellere geri dönün ve Değişiklikleri Uygula'ya tıklayın. 

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Anormallik Tespitinin verilerimizin %32,56'sından %11,63'üne kadar nasıl düştüğüne dikkat edin. 

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Sonuçlarımızda gördüğümüz gibi, bu, aykırı değer tespitimizi optimize etmenin iyi bir yoludur. 

Ayrıca, insanların geleneksel yöntemi kullandıklarında 1,5'ten daha düşük değerler kullanabileceklerini, ancak yine de 1,5 x IQR'nin geleneksel yöntem olduğunu unutmayın. 

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması

Python'da Aykırı Değer Tespiti İçin İzolasyon Ormanı Algoritması


LuckyTemplates'da Aykırı Değer Sonuçlarını Tespit Etme ve Gösterme
LuckyTemplates'da Dinamik Aykırı Değer Tetikleme Noktaları Oluşturma
LuckyTemplates Anormallik Algılama Özelliği: Nasıl Çalışır?

Çözüm

İzolasyon Ormanı algoritmasını kullanarak, olağandışı gözlemleri kolayca tanımlayabilir ve veri kümemizden hariç tutabiliriz, böylece analizimizin doğruluğunu artırırız. Bu öğretici, kendi projelerinizde uygulamaya başlamanıza yardımcı olacak Python kullanarak aykırı değer tespiti için İzolasyon Ormanı algoritmasının nasıl kullanılacağına ilişkin adım adım bir kılavuz sağlamıştır.

Yaptığımız şey, anormallikleri bulmak için Python kodumuzu kullanmanın çok kolay bir yoluydu . Python'un kod sayfasından öğrenebileceğiniz kontaminasyonu ve bir dizi başka değişkeni değiştirerek bu algoritmayı daha da optimize edebilirsiniz . 

Herşey gönlünce olsun,

Leave a Comment

Excel Hücrelerini Metne Sığdırma: 4 Kolay Çözüm

Excel Hücrelerini Metne Sığdırma: 4 Kolay Çözüm

Excel hücrelerini metne sığdırmak için güncel bilgileri ve 4 kolay çözümü keşfedin.

Bir Excel Dosyasının Boyutu Nasıl Küçültülür – 6 Etkili Yöntem

Bir Excel Dosyasının Boyutu Nasıl Küçültülür – 6 Etkili Yöntem

Bir Excel Dosyasının Boyutunu Küçültmek için 6 Etkili Yöntem. Hızlı ve kolay yöntemler ile verilerinizi kaybetmeden yer açın.

Pythonda Self Nedir: Gerçek Dünyadan Örnekler

Pythonda Self Nedir: Gerçek Dünyadan Örnekler

Python'da Self Nedir: Gerçek Dünyadan Örnekler

Rde Bir RDS Dosyası Nasıl Kaydedilir ve Yüklenir

Rde Bir RDS Dosyası Nasıl Kaydedilir ve Yüklenir

R'de bir .rds dosyasındaki nesneleri nasıl kaydedeceğinizi ve yükleyeceğinizi öğreneceksiniz. Bu blog aynı zamanda R'den LuckyTemplates'a nesnelerin nasıl içe aktarılacağını da ele alacaktır.

İlk N İş Günü Tekrar Ziyaret Edildi – Bir DAX Kodlama Dili Çözümü

İlk N İş Günü Tekrar Ziyaret Edildi – Bir DAX Kodlama Dili Çözümü

Bu DAX kodlama dili eğitiminde, GENERATE işlevinin nasıl kullanılacağını ve bir ölçü başlığının dinamik olarak nasıl değiştirileceğini öğrenin.

LuckyTemplatesda Çok İş Parçacıklı Dinamik Görsel Tekniği Kullanarak Öngörüleri Sergileyin

LuckyTemplatesda Çok İş Parçacıklı Dinamik Görsel Tekniği Kullanarak Öngörüleri Sergileyin

Bu eğitici, raporlarınızdaki dinamik veri görselleştirmelerinden içgörüler oluşturmak için Çok Kanallı Dinamik Görseller tekniğinin nasıl kullanılacağını kapsayacaktır.

LuckyTemplatesda İçeriği Filtrelemeye Giriş

LuckyTemplatesda İçeriği Filtrelemeye Giriş

Bu yazıda, filtre bağlamından geçeceğim. Filtre bağlamı, herhangi bir LuckyTemplates kullanıcısının başlangıçta öğrenmesi gereken en önemli konulardan biridir.

LuckyTemplates Çevrimiçi Hizmetindeki Uygulamaları Kullanmak İçin En İyi İpuçları

LuckyTemplates Çevrimiçi Hizmetindeki Uygulamaları Kullanmak İçin En İyi İpuçları

LuckyTemplates Apps çevrimiçi hizmetinin çeşitli kaynaklardan oluşturulan farklı raporların ve içgörülerin yönetilmesine nasıl yardımcı olabileceğini göstermek istiyorum.

Fazla Mesai Kâr Marjı Değişikliklerini Analiz Edin - LuckyTemplates ve DAX ile Analitik

Fazla Mesai Kâr Marjı Değişikliklerini Analiz Edin - LuckyTemplates ve DAX ile Analitik

LuckyTemplates'da ölçü dallandırma ve DAX formüllerini birleştirme gibi teknikleri kullanarak kâr marjı değişikliklerinizi nasıl hesaplayacağınızı öğrenin.

DAX Studioda Veri Önbellekleri İçin Materyalleştirme Fikirleri

DAX Studioda Veri Önbellekleri İçin Materyalleştirme Fikirleri

Bu öğreticide, veri önbelleklerini gerçekleştirme fikirleri ve bunların DAX'ın sonuç sağlama performansını nasıl etkilediği tartışılacaktır.