"Görselleştirme, sahip olduğunuzu bilmediğiniz sorulara cevap verir." - Ben Schneiderman
Görselleştirme, veri bilimi ve makine öğreniminin en önemli bileşenlerinden biridir. Sonuçlarınızı birine sunmanız gerekirse, onlara Excel'de bir grup sayı değil, görselleştirmeler gösterirsiniz. Makine öğrenimi deneyleri söz konusu olduğunda, modeli eğitim aşamasında görselleştirin ve sonuçlar, bir sonraki adımın ne olduğu konusunda iyi bir karar vermenize yardımcı olabilecek çok önemlidir. Sonuçlarınızı görselleştirerek, görmeyi hiç beklemediğiniz şeyleri fark edebilirsiniz. Scikit-plot, makine öğrenimi projenizdeki görevi gerçekleştirmenize yardımcı olabilir.
Scikit-plot, makine öğrenimi projenizin farklı aşamalarında verilerinizi, modelinizi (eğitim sırasında) ve deney sonuçlarını görselleştirmenize yardımcı olabilecek python paketidir. Scikit-plot, hızlı ve güzel grafikler ve mümkün olduğunca az standart şablonla grafikler oluşturma fırsatı sağlamaya yönelik mütevazı bir girişimdir.
Bu makalede, Scikit-plot kitaplığında sağlanan aşağıdaki modülleri öğreneceksiniz: -
Ardından koşun:
pip install scikit-plot
conda install -c conda-forge scikit-plot
Lagos'tan ve Nijerya'daki büyük şehirlerden gelen sigorta veri setini kullanacağız . Bir binanın belirli bir dönemde sigorta tazminat talebinde bulunup bulunmayacağını belirlemek için öngörücü bir model oluşturacağız. Binanın sigortalı süresi boyunca en az bir tazminat talep etme olasılığını tahmin etmemiz gerekecek. Veri setini buradan indirebilirsiniz .
Bu makine öğrenimi projesi için önemli paketleri içe aktararak başlayacağız.
Sigorta veri kümesini yükleyin.
Bu veri setinde hem kategorik hem de sayısal değerlere sahibiz.
Veri kümesinin şeklini görelim
data.shape (7160, 14)
Veri kümesindeki sütunların listesi.
Sen okuyabilir burada bu veri kümesindeki her değişken adının anlamını. Hedef değişkenimiz, iki benzersiz değeri olan bir Taleptir .
Veri kümesindeki eksik değer kontrol ediliyor.
Eksik değerleri olan 3 sütunumuz var: Bahçe, Bina Boyutu ve İşin_tarihi .
Aşağıdaki kodlar, most_frequent ve mean stratejilerini kullanarak tüm eksik değerleri ele alacaktır .
Veri kümesinde, scikit- learn'den LabelEncoder yöntemi kullanılarak sayıya dönüştürülecek bazı kategorik değişkenlerimiz var .
Konut, Builiding_Painted, Building_Fenced, Bahçe ve NumberOfWindows değişkenler sayısal değerlere dönüştürülmüştür.
Hedef değişkenimizi bağımsız değişkenlerden ayıralım.
Scikit- learn'den MinMaxScaler'ı kullanarak bağımsız değişkenleri ölçeklendireceğiz .
Veri kümesini tren ve test kümesine bölün.
Veri setinin % 10'unu test seti olarak kullanacağız . Modeli eğitmeye devam etmeden önce, özellik sütunlarına bağımsız değişkenlerin bir listesi kaydedilecektir.
Şimdi scikit-plot'un neler sunabileceğini öğrenelim.
Tahmincinin scikit-plot'taki modülü, özellikle scikit-learn tahminci (sınıflandırıcı / regresör) örnekleri için, örneğin Random Forest için oluşturulmuş grafikleri içerir. Kendi tahmin edicilerinizi kullanabilirsiniz, ancak bu grafikler scikit-learn tahmin edicileri tarafından paylaşılan belirli özellikleri varsayar.
Şimdi scikit-learn'den sınıflandırıcımızı oluşturalım. Sınıflandırıcımız olarak GradientBoosting algoritmasını kullanacağız.
Scikit-plot, bir sınıflandırıcı için tren ve test öğrenme eğrilerinin bir grafiğini oluşturabilen bir plot_learning_curve yöntemi sağlar . Eğri, eğitim sırasında model davranışınız hakkında daha fazla bilgi edinmenize yardımcı olabilir.
Plot_learning_curve yönteminde sınıflandırıcı, bağımsız değişkenler, hedef değişken olan önemli parametreleri geçeceğiz, bu, sınıflandırıcının eğitileceği ve aynı zamanda bir öğrenme eğrisi oluşturacağı anlamına gelir.
Gördüğünüz gibi öğrenme eğrisi, model davranışınız hakkında daha fazla bilgi edinmenize yardımcı olabilir. Grafikten, eğitim örneklerinin sayısı arttığında eğitim puanının yavaşladığını, eğitim örneklerinin sayısı arttıkça çapraz doğrulama puanının performansını korumaya çalıştığını göstermektedir.
Veri kümenizde çok sayıda özelliğe sahip olmak, iyi performansa sahip bir model oluşturabileceğiniz anlamına gelmez. Bazen iyi performansa sahip bir model oluşturmak için ihtiyacınız olan birkaç önemli özelliktir.
Scikit-plot, plot_feature_importances yöntemini kullanarak bir sınıflandırıcının özellik öneminin bir grafiğini oluşturabilir .
Plot_feature_importances yönteminde eğitilmiş model sınıflandırıcı ve özellik adlarını listeleyen önemli parametreleri geçeceğiz.
Yukarıdaki grafik, en önemli özellikten başlayarak en az önemli özelliğe kadar önemli özelliklerin bir listesini gösterir. Veri setimizdeki en önemli özellik Bina Boyutu , en az önemli özellik ise Bahçe'dir .
Bu, veri setimizdeki Bahçe özelliğini kaldırabileceğimiz anlamına gelir çünkü model tahminlerine gelince çok fazla katkı sağlamaz.
Metrikler modülü, makine öğrenimi değerlendirme ölçümleri için grafikler içerir, örneğin kafa karışıklığı matrisi, siluet puanları, ROC vb.
Confusion Matrix , çoğu Veri bilimcisi ve Makine öğrenimi mühendisi tarafından çok bilinir. Karışıklık Matrisi, bir sınıflandırma algoritmasının performansını özetlemek için kullanılan bir tekniktir. Tahminlerden ve gerçek etiketlerden bir karışıklık matrisi grafiği oluşturmak
için plot_confusion_matrix yöntemini kullanabilirsiniz .
Plot_confusion_matrix yönteminde, doğru etiketler ve tahmin edilen etiketler olan önemli parametreleri aktaracağız.
Yukarıdaki grafik, sınıf 0'ın % 96'sının doğru tahmin edildiğini ve sınıf 1'in yalnızca % 21'inin doğru tahmin edildiğini göstermektedir.
Roc Curve , ikili bir sonucun olasılığını tahmin ederken yararlı bir araçtır. 0.0 ile 1.0 arasındaki bir dizi farklı aday eşik değeri için yanlış pozitif oranın (x ekseni) gerçek pozitif orana (y ekseni) karşı bir grafiğidir .
Scikit-plot plot_roc yöntemini kullanarak etiketlerden ve tahmin edilen puanlardan / olasılıklardan ROC eğrileri oluşturabilir .
Grafiği oluşturmak için plot_confusion_matrix yönteminde gerçek etiketleri ve tahmin edilen olasılıkları geçireceğiz.
Grafik, alan değerleri olan 4 farklı eğriyi gösterir.
Bir hassas hatırlama eğrisi bir çizimidir hassas (y-ekseni) ve geri çekme sınıflandırıcı çıkış kalitesini değerlendirmek için, farklı eşik (x-ekseni). Kesinlik-Geri Çağırma, sınıflar çok dengesiz olduğunda tahmin başarısının yararlı bir ölçüsüdür.
Hassasiyet-geri çağırma eğrisi, farklı eşikler için kesinlik ve geri çağırma arasındaki dengeyi gösterir. Eğrinin altındaki yüksek bir alan, hem yüksek geri çağırmayı hem de yüksek hassasiyeti temsil eder; burada yüksek kesinlik, düşük bir yanlış pozitif oranıyla ve yüksek geri çağırma, düşük bir yanlış negatif oranıyla ilgilidir. Her ikisi için de yüksek puanlar, sınıflandırıcının doğru sonuçlar verdiğini (yüksek kesinlik) ve tüm olumlu sonuçların çoğunu (yüksek hatırlama) döndürdüğünü gösterir.
Scikit-plot plot_precision_recall yöntemini kullanarak etiketlerden ve olasılıklardan Precision-Recall Eğrisini oluşturabilir .
Grafiği oluşturmak için plot_precision_recall yönteminde gerçek etiketleri ve tahmin edilen olasılıkları geçireceğiz.
Çizim, alan değerleri olan 3 farklı eğriyi gösterir.
Ayrıştırma modülü, örneğin PCA gibi boyut azaltma için kullanılan scikit-learn tahmin edicileri için özel olarak oluşturulmuş grafikleri içerir. Kendi tahmin edicilerinizi kullanabilirsiniz, ancak bu grafikler scikit-learn tahmin edicileri tarafından paylaşılan belirli özellikleri varsayar.
Temel bileşen analizi (PCA), en eski çok değişkenli tekniklerden biridir. Yine de hayatta kalmakla kalmadı, aynı zamanda çok değişkenli verilerin boyutunu, bazen gizli olan, genellikle altında yatan basitleştirilmiş bir yapıyı ortaya çıkarmak için azaltmanın en yaygın yoludur . Diğerleri bunu , veri setindeki varyasyonun çoğunu korurken verilerin boyutunu azaltan matematiksel bir algoritma olarak tanımlar .
PCA'yı pratikte kullanmanın hayati bir parçası, verileri açıklamak için kaç bileşene ihtiyaç olduğunu tahmin etme yeteneğidir. Bu, bileşen sayısının bir fonksiyonu olarak kümülatif açıklanan varyans oranına bakılarak belirlenebilir . PCA'daki Açıklanmış Varyans Oranı, seçilen bileşenlerin her biri tarafından açıklanan varyans yüzdesini hesaplar.
Scikit-plot, plot_pca_component_variance yöntemini kullanarak PCA bileşenlerinin açıklanan varyans oranlarını oluşturabilir .
explained_variance_ratio_Eğriyi oluşturmak için plot_precision_recall yönteminde özniteliğe sahip PCA örneğini ileteceğiz.
Yukarıdaki bu eğri, toplam 14 boyutlu varyansın ne kadarının ilk N bileşen içinde bulunduğunu ölçer. Örneğin, rakamlarla birlikte ilk 3 bileşenin varyansın yaklaşık % 81,4'ünü içerdiğini , varyansın yaklaşık % 100'ünü açıklamak için yaklaşık 8 bileşene ihtiyacınız olduğunu görüyoruz .
Bu makalede, scikit-learn nesnelere çizim işlevselliği eklemeyi ve yalnızca renkli bir grafiğe bakarak içgörü kazanmayı öğrendiniz. Bir sonraki makine öğrenimi projenizde scikit grafiklerini uygulamaya başlayabilirsiniz .
Kümeleri çizmekle ilgileniyorsanız, scikit-plot'un Kümeleme Modülü özel olarak scikit-learn Kümeleme örnekleri için oluşturulmuş çizimleri içerir, Küme Modülü hakkında daha fazla bilgi edinmek için belgelere bakabilirsiniz .
Bu makalenin veri kümesi ve kaynak kodu Github'da mevcuttur.
Yeni bir şey öğrendiyseniz veya bu makaleyi okumaktan zevk aldıysanız, lütfen başkalarının görebilmesi için paylaşın. Siz de yorum bırakmaktan çekinmeyin. O zamana kadar bir sonraki yazıda görüşmek üzere! Bana Twitter @Davis_McDavid üzerinden de ulaşılabilir .
Son bir şey: Aşağıdaki bağlantılarda buna benzer daha fazla makale okuyun.Verilerinizi Neden Keşfetmelisiniz? Oylama Yaklaşımını Kullanarak Özellik Seçimine Nasıl Başlayabilirsiniz ? Python Günlük Kaydı modülüyle Makine Öğrenimi Deneyleri Çalıştırma
Bilinç nedir? Yüzyıllardır filozofların ve bilim adamlarının kafasını karıştıran bir sorudur. Bazıları bunun bedenlerimizden bağımsız olarak gerçekten anlayamadığımız geçici bir şey olduğunu söylüyor.
Yasal Uyarı: Bu makale yalnızca eğitim amaçlıdır. Kimseyi web sitelerini, özellikle de bu tür eylemlere karşı hüküm ve koşulları olabilecek web mülklerini kazımaya teşvik etmiyoruz.
MIT Seçim Laboratuvarı'nda yüksek lisans araştırmacısı ve doktora derecesi olan Jesse Clark tarafından yazılmıştır.
Oakland, CA'da halka açık verileri kullanarak hava kalitesini tahmin etmek Google ve EDF, Oakland'daki hava kirliliğini haritalama çalışmalarını yayınladığında, bu çalışmanın sonuçları büyük ilgi gördü. Yayınladıkları veriler, hava kalitesinin Doğu ve Batı Oakland'daki şehir bloklarına göre nasıl değiştiğini gösteren ilk veri kümelerinden biriydi.
Daniel Fleck ve David Lubert ile yazılmıştır Dizimizin ilk blogu, bir veri bilimi projesini uygun şekilde değerlendirmek için Net Şimdiki Değer (NPV), İç Getiri Oranı (IRR) ve Karlılık Endeksi'ni (PI) kullanmaya odaklanacaktır. Ayrıca, bir veri bilimi metodolojisinin kullanılmasının, bu aynı ekonomik ölçütlerin girdilerini daha yüksek kaliteli değerlendirmeler geliştirmek için nasıl daha da iyileştirebileceğini tartışacağız.
Öz bileşimi ve SVD için yararlı olan doğrusal cebir temel kavramını anlayın Bu makalede, öz ayrıştırma veya tekil değer ayrıştırma (SVD) gibi matris çarpanlara ayırma yöntemlerini anlamanın ilginç bir yolu olan temel kavramını öğreneceksiniz. Tanımlar Temel, vektör uzaylarını (vektör setleri) tanımlamak için kullanılan bir koordinat sistemidir.