Üç makine öğrenimi yorumlanabilirlik aracıyla işletme kararlarını iyileştirin

Makine Öğrenimi yorumlanabilirliği çok sıcak bir araştırma konusudur ve bu konuda yeni bilimsel makaleler ve makaleler her hafta yayınlanmaktadır. Bu makalede, ManoMano'daki Makine Öğrenimi yorumlanabilirlik ihtiyacımızın çoğunu kapsayan üç tamamlayıcı araç sunulmaktadır.

  1. Özelliğin önemi: model hangi özellikleri kullanıyor?
  2. Kısmi bağımlılık grafiği: Model belirli bir değişkeni nasıl kullanır?
  3. Özellik katkısı: model neden bu spesifik öngörüyü yaptı?
xkcd

Makine öğrenme modellerimizi neden yorumlamamız gerekiyor?

  • İşinizi anlayın: Web sitesi dönüşüm oranını etkileyen faktörler nelerdir? Nakliye fiyatının bunun üzerindeki etkisi nedir?
  • Ticari meslektaşlarınızla güven oluşturun: Bu satış tahmini tahmini neden bu kadar yüksek? Çünkü ürün geçen hafta 157 kez satıldı ve kategorisine göre mevsimsellik artıyor.
  • Bir sorunu çözmek için ilgili işlemleri yapın: Bu müşterinin neden sıkışma olasılığı var? Çünkü geçen ay kalite sorunları vardı.
  • Modelde hata ayıklama / geliştirme: Bu satış tahmini tahmini neden bu kadar yüksek? Üretim veri kümesinde eksik değerler. Neden bu kadar fazla tahmin ettik? Bu ürünün satışları düşüktü çünkü stokta kalmadı ve fark etmedik.
Tahmin edilebilir güç ve yorumlanabilirlik ikilemi (© ManoMano)

Kullanım örneği: Gradient Boost Ağaçlarını kullanarak dönüşüm oranı modellemesi

Üç aracı göstermek için, ürün dönüşüm oranı modellemesine odaklanıyoruz. Eğitim veri setimizin nasıl göründüğü:

Ürüne dayalı özelliklere (fiyat, derecelendirme, nakliye süresi vb.) Ve haftanın gününe bağlı olarak, belirli bir günde bir ürünün dönüşüm oranını tahmin etmeye çalışıyoruz. Aşağıdaki analizi kolaylaştırmak için, veri setimizi ortalama% 10'luk bir dönüşüm oranına sahip olacak şekilde ayarladık.

Ağaç kullanan son derece güçlü bir topluluk modeli olan LightGBM kullanıyoruz. Bu araç Veri Bilimi yarışmalarında yaygın olarak kullanılmaktadır.

Özellik önemi

Özelliğin önemi, modelimizdeki her özelliğin ne kadar yararlı olduğunu hesaplamak ve hızlı bir şekilde görselleştirmek için bir araçtır. Bu araç genellikle Rastgele Orman veya Degrade Artırıcı Ağaçlar gibi topluluk modellerinde kullanılır. Karar ağaçları ile kilit kararlar vermek için ne kadar fazla özellik kullanılırsa, göreceli önemi de o kadar yüksek olur. Özelliğin öneminin nasıl hesaplandığı ile ilgili daha fazla ayrıntı için bu blog gönderisine başvurabilirsiniz. Tahmine dayalı modelimiz için özellik önem grafiğini görselleştirelim:

Bu çubuk grafiğe göre, dönüşüm oranlarını öngörmede en önemli özellikler ürün fiyatı, nakliye fiyatı, derecelendirme ve nakliye süresidir. Harika olan iş sezgilerimizle çakışıyor.

Eksik değerlerin etkisi

Başka bir kurulum deneyelim, veri kalitesiyle ilgili bir sorun yaşadığımızı ve bir nedenle fiyat değerlerinin% 90'ının eksik olduğunu düşünelim. Modeli yeniden inceledikten sonra, işte aldığımız şey:

Fiyatın tamamen yanlış olan önemli bir özellik olmadığını varsayabiliriz. Modelimizi geliştirmek için veri kalitesini iyileştirmek için zaman harcamalıyız. Bu arada, eksik değerler de bilgi içerebilir. Örneğin, eksik bir ortalama derecelendirmeye sahip olmak, derecelendirmenin olmadığı ve ürünün popüler olmadığı veya yeni olmadığı anlamına gelir.

Korelasyonlu değişkenlerin etkisi

Üç ilişkili (ve gürültülü) fiyat özelliği ekleyelim ve ne olacağını görelim:

Burada “fiyat” özelliğimizin önemi% 38'den% 24'e düşmüştür. Bu değişkenin önemi korelasyon değişkenleri arasında dağıldı. Ayrıca, gürültülü özellikler eklemek, bellek ve CPU kullanımını artırır ve fazla takılma riskini artırır. Bu nedenle, bu araca göre önemli bir özellik gerekli bir özellik olmayabilir.

Özelliğin avantajları ve dezavantajları

  • (+) Uygulaması çok basit, birkaç kod satırı.
  • (+) Hızlı bir şekilde sinyal hakkında iyi bilgiler verir
  • (+) Eğitim veri setindeki veri kalitesi sorunlarını tespit etmek için verimli bir araç
  • (-) Özellik korelasyonlarına duyarlı
  • (-) Eksik değerlere duyarlı
  • (-) Özellik ve hedef işlev arasındaki ilişkiyi sağlamaz (örneğimize göre, fiyatın hedefle çok ilişkili olduğunu biliyoruz, ancak hangi yönde olduğunu bilmiyoruz)

Kısmi bağımlılık grafikleri

Kısmi bağımlılık grafikleri, bir özelliğin öngörülen hedef üzerindeki etkisini görselleştirmek ve diğer tüm özelliklerin değerleri üzerinde marjinalleşmek için kullanışlıdır. Böyle bir araç, hedef ile özellik arasındaki ilişkiyi anlamaya yardımcı olur, diğer tüm şeyler eşit olur. Matematiksel gösterimin tamamı için, İstatistiki Öğrenmenin Öğeleri'nin bu bölümüne başvurabilirsiniz. Her makine öğrenim modelinde kısmi bağımlılık grafikleri kullanılabilir. Çok eksiksiz bir PDPBox python paketini kullanmanızı öneririz.

Kısmi bağımlılığı göstermek için, kullanım durumumuzla ilgili gerçek hayattan bir örnek alalım. İşletme sahiplerinin, nakliye fiyatlarının dönüşüm oranı üzerindeki etkisini bilmek istediklerini varsayalım. Nakliye fiyatının ürün fiyatıyla çok ilgili olduğunu bilerek, ürün nakliye fiyatı ile toplam fiyatı arasındaki oran olan shipping_ratio özelliğini hesaplayarak başlarız:

Ortalama dönüşüm oranını shipping_ratio bölmesiyle hesaplayarak tek değişkenli bir analiz yapalım:

Sonuçta ortaya çıkan grafik oldukça açık: dönüşüm oranı, oran_shipping özelliği ile pozitif olarak ilişkili! Dönüşüm oranını artırmak için işletme sahipleriyle iletişime geçip, tüm ürünlerimizin nakliye fiyatlarını artırmalarını tavsiye edelim mi? Tabii ki hayır, çünkü korelasyon nedensellik anlamına gelmez. Aynı değişkene kısmi bir bağımlılık analizi yapalım ve farkı gözlemleyelim:

Beklenildiği gibi ve öngörücü model tarafından kullanılan diğer tüm özellikleri göz önüne aldığımızda, shipping_ratio özelliği, öngörülen dönüşüm oranı ile negatif olarak ilişkilendirilir. Hala gerçek nedensellik görmediğimizi, ancak diğer özelliklerden düzeltilmiş bir korelasyon gördüğümüzü unutmayın.

Kısmi bağımlılık parsellerinin artıları ve eksileri

  • (+) Bir özellik ile ilgilenilen değişken arasındaki ilişkiyi gösterir.
  • (+) Standart bir tek değişkenli analizle karşılaştırıldığında, bir özelliğin bir başka özellik üzerindeki ilişkisiz etkisini görmenizi sağlar.
  • (-) Büyük veri kümelerinde zaman alıcı
  • (-) İki boyutlu parsellerle sınırlıdır
  • (-) Korelasyonları özelliklere duyarlı

Özellik katkısı

Özellik katkısı, her bir özelliğin belirli bir tahmin üzerindeki etkisini hesaplar. Her tahminin mikro bir anlayışını verir. Kısmi bağımlılık grafikleri gibi, kullanılan makine öğrenme modelinden bağımsız olarak özellik katkısı hesaplanabilir. Rastgele Ormanlar için nasıl hesaplandığını bilmek istiyorsanız, bu blog gönderisine başvurabilirsiniz. LightGBM tahmin fonksiyonu, onları doğrudan hesaplamak için bir parametre sağlar. Makita'nın tatbikatı yapan ManoMano'daki en popüler ürünlerden birini tahmin edelim ve her özelliğin katkısını gözlemleyelim:

Bu ürün birçok iyi dereceye sahiptir (644 puan, 4.69 / 5 ortalama değer). Dolayısıyla, derecelendirme sayısının öngörülen dönüşüm oranına katkısı% + 12'dir. Ancak fiyatı (167.99 €) ortalamanın üstünde. Pahalı ürünler daha düşük bir dönüşüm oranına sahip olma eğilimindedir. Bu nedenle, öngörülen dönüşüm oranına katkısı% -7,5'tir. Katkıların toplamının öngörülen dönüşüm oranına eşit olduğunu unutmayın (toplamı da kesiti eklememiz gerekir).

Bu işlemi başka bir ürün için tekrarlayabilir ve farklılıkları gözlemleyebiliriz:

Bu ürün, önceki Makita matkabınınkine benzer bir tahmini dönüşüm oranına sahip olsa bile, başka bir "profili" var: çok daha ucuz (34.2 €) ve iyi derecelendirilmiş, ancak gönderim süresi ve fiyatı caydırıcı (içinde 6,9 ​​€) 8 gün).

Önceki iki yöntem gibi, özellik katkısı özellik korelasyonlarına karşı hassastır: Modeli çok ilişkili iki özellikle beslerseniz, tahmin katkısı yapay olarak ikiye bölünür.

Özellik katkısının artıları ve eksileri

  • (+) Bir tahminin özellik katkılarının bir toplamı olarak mikro açıklaması
  • (+) Sonunda model hataları veya veri kalitesi sorunlarını önceden tespit etmek için tahminlerin araştırılmasına yardımcı olur.
  • (+) Algoritmanın nasıl davrandığını açıklayarak onlara işletme sahipleriyle güven inşa etmek
  • (+) Belirleyici modellemeye izin ver (öngörülü modellemeye karşı): Bir müşterinin neden doğru işlemleri yapabileceğini açıklayabilir
  • (-) Korelasyonları özelliklere duyarlı

Sonuçlar

ManoMano'daki yorumlanabilirlik ihtiyaçlarımızın çoğunu karşılayan üç araç sunduk. Kutudan çıkarırsanız bazı uyarılar:

  • Yüksek derecede ilişkilendirilmiş özellikler, makine öğrenmesi yorumlanabilirliği için sıkıntı vericidir. Modelinizi yorumlamaya çalışmadan önce onlardan kurtulmanız gerekir.
  • Çok zayıf prediktif performansa sahip modelleri (örneğin, 0.51 AUC) yorumlamaya çalışmak mantıklı değil. Bir yorumlamanın faydası, model tarafından yakalanan öngörücü sinyale doğrudan bağlıdır.

Diğer yorumlanabilirlik araçlarının mevcut olduğunu unutmayın (LIME, Shapley değerleri, ICE parselleri, vb.) Bu araçlar hakkında daha fazla bilgi ve matematiksel detaylar için Christoph Molnar'ın eksiksiz kılavuzuna bakın.

Bu makalenin sizin için yararlı olacağını ve güçlü makine öğrenme tekniklerini kullanırken yorumlanabilirlik endişelerinin artık bir sorun olmayacağını umuyoruz!

Jacques Peeters ve Romain Ayres tarafından yazılmıştır.

Teşekkür

Alexandre Cazé, Yohan Grember, Chloé Martinot, Marin De Beauchamp, Bryce Tichit, Raphaël Siméon, Thomas Charuel, Louis Pery, Cyril Auberger, Matthieu Cornec ve ManoMano'daki tüm büyük arkadaşlarımız.

Bize katıl

ManoMano'da yeni meslektaşları arıyoruz, iş tekliflerimize bir göz atın!