Tahminler sırasında SHAP veri kümelerinin oluşturulması
Bir tahmin çalıştırdığınızda SHAP önem veri kümeleri oluşturulabilir. Bu veri kümelerindeki SHAP hesaplamalarını kullanarak hangi özelliklerin tahmin edilen değerlere en önemli katkıyı yaptığını anlayabilirsiniz.
SHAP veri kümeleri, modeli eğitmek için kullanılan özellikler için satır düzeyinde SHAP hesaplamalarını içerir. Bu değerler, o satırdaki diğer tüm özellikler göz önüne alındığında, her bir özelliğin hedefin tahmin edilen değerine ne kadar katkıda bulunduğunu temsil eder.
Örneğin, SHAP önemi bize bir özelliğin bir müşteriyi kaybetme olasılığını artırıp artırmadığını ve bu sonucu ne kadar güçlü bir şekilde etkilediğini gösterebilir.
Tahmininizi çalıştırdığınızda ve veri kümelerini oluşturduğunuzda, SHAP değerlerini bir Qlik Sense uygulamasına yükleyebilir ve bunları tahmin edilen değerlerle birlikte görselleştirebilirsiniz. Daha fazla ayrıntı için bk. Qlik Sense uygulamalarında SHAP değerlerini görselleştirme ve SHAP değerlerini gerçek dünya uygulamalarında kullanma
Bu yardım konusu, ML dağıtımları tarafından yapılan tahminler sırasında SHAP veri kümesi oluşturmaya odaklanmaktadır. Deney eğitimi sırasında gösterilen SHAP önem çizelgeleri hakkında bilgi için bk. Deney eğitiminde SHAP'ın önemini anlama.
SHAP veri kümeleri oluşturmak için mevcut seçenekler
Bir tahmini yapılandırırken, SHAP veri kümelerini iki farklı formatta oluşturmayı seçebilirsiniz. Her iki seçenek de aynı bilgileri sağlar ancak farklı şekillerde yapılandırılmıştır.
SHAP
Bu, SHAP değerlerinin her özellik için bir sütuna ayrıldığı bir veri kümesidir. Bu seçenek çok sınıflı sınıflandırma modelleri için kullanılamaz.
Koordinat SHAP
Bu, tüm SHAP değerlerinin yalnızca iki sütunda yer alacak şekilde yapılandırıldığı bir veri kümesidir: bir "özellik" sütunu ve bir "değer" sütunu. Bu seçenek tüm model tipleri için mevcuttur.
Çok sınıflı modellerden elde edilen veri kümeleri, ikili modellerden elde edilen veri kümelerine kıyasla biraz daha farklı çalışır. Tahmin edilecek her kayıt için, model tarafından tahmin edilebilecek her olası sınıf için SHAP değerini içeren yeni bir satır oluşturulur. Veri kümesinde, SHAP değerinin temsil ettiği sınıfı tanımlamak için ek bir sütun da oluşturulur.
Tahminleri ve SHAP değerlerini bir Qlik Sense uygulamasına yüklerken ve bir veri modeli oluştururken, koordinat SHAP veri kümeleriyle çalışmak SHAP veri kümeleriyle çalışmaktan daha kolay olabilir.
Örnekler
Aşağıdaki tablolar, beş özellik üzerinde eğitilen bir regresyon modelinden oluşturulan SHAP ve koordinat SHAP veri kümelerinden örnekler içermektedir. Örnekler, uygulama veri kümesinden iki kayıt için SHAP değerlerini içerir (iki hesap kimliğine karşılık gelir).
Bu örnekler, verilerin nasıl yapılandırıldığı arasındaki farkı vurgulamaktadır.
AccountID | AdditionalFeatureSpend_SHAP | Churned_SHAP | CurrentPeriodUsage_SHAP | HasRenewed_SHAP | NumberOfPenalties_SHAP |
---|---|---|---|---|---|
aa16889 | 1.76830971241 | -0.58154511451721 | -1.106874704361 | -0.36080026626587 | 3.6597540378571 |
aa33396 | 0.80359643697739 | -0.64805734157562 | 0.076582334935665 | 0.38967734575272 | -0.31007811427116 |
AccountID | automl_feature | SHAP_value |
---|---|---|
aa16889 | AdditionalFeatureSpend | 1.76830971241 |
aa16889 | Churned | -0.58154511451721 |
aa16889 | CurrentPeriodUsage | -1.106874704361 |
aa16889 | HasRenewed | -0.36080026626587 |
aa16889 | NumberOfPenalties | 3.6597540378571 |
aa33396 | AdditionalFeatureSpend | 0.80359643697739 |
aa33396 | Churned | -0.64805734157562 |
aa33396 | CurrentPeriodUsage | 0.076582334935665 |
aa33396 | HasRenewed | 0.38967734575272 |
aa33396 | NumberOfPenalties | -0.31007811427116 |
SHAP tahmin değerlerinin yorumlanması
Deney eğitimi sırasında gösterilen SHAP önem grafiğindeki değerlerden farklı olarak, SHAP veri kümeleri yönlülüğü olan satır düzeyinde SHAP hesaplamaları içerir. Başka bir deyişle, mutlak değerler değildirler, bunun yerine pozitif veya negatif olabilirler. Bir uygulamadaki değerleri görselleştirirken, kullanım durumunuza bağlı olarak bunları mutlak değerler olarak toplamayı seçebilirsiniz.
Bir kayıt için SHAP değeri, o kayıt için karşılık gelen tahmini değere göre analiz edilmelidir. Model türüne (ikili sınıflandırma, çok sınıflı sınıflandırma veya regresyon) bağlı olarak, SHAP değerlerinin yönlülüğü biraz farklı yorumlanmalıdır.
Sınıflandırma modelleri
İkili sınıflandırma modellerinde, büyük pozitif SHAP değerleri iki olası sonuçtan birine yönelik daha büyük etkiyi gösterirken, yüksek negatif değerler diğer sonuca yönelik daha büyük etkiyi gösterir. Verileri bir uygulamada kullanırken, SHAP değerlerinin yönlülüğü ihtiyacınız olan analize izin vermeyebilir. Bunu çözmek için SHAP değerlerinin yönünü tersine çevirebilirsiniz (örneğin, tüm sütunu -1 ile çarpabilirsiniz). SHAP yön kontrolü hakkında daha fazla bilgi için bk. Hazırlıklar.
Çok sınıflı bir modelden elde edilen bir SHAP veri kümesi farklı şekilde yapılandırılmıştır. Tahmin edilecek her kayıt için, her olası sınıf için ayrı bir satır ve bu sınıf için karşılık gelen bir SHAP değeri içerir. Sınıf bir "Predicted_class" sütununda belirtilir.
Koordinat SHAP veri kümenizde, çok sınıflı model tahminlerinden elde edilen SHAP değerlerini aşağıdaki gibi yorumlayın:
Yüksek bir pozitif SHAP değeri, özelliğin belirtilen "Predicted_class" sonucuna yönelik daha büyük bir etkiye sahip olduğunu gösterir.
Yüksek bir negatif SHAP değeri, özelliğin sonucun belirtilen "Predicted_class" olmaması yönünde daha büyük bir etkiye sahip olduğunu gösterir.
Örnek
Aşağıdaki örnek, ikili ve çok sınıflı sınıflandırma modeli çıktısı arasındaki veri kümesi yapısındaki farkı göstermektedir.
Diyelim ki hesap kimliği başına bir satır içeren bir uygulama veri kümesiyle başlıyoruz. Modelin eğitildiği her bir özellik ayrı bir sütun olarak gösterilir.
Tek bir hesap kimliği kaydı aşağıdaki gibi görünecektir:
AccountID | AdditionalFeatureSpend | BaseFee | CurrentPeriodUsage | HasRenewed | NumberOfPenalties |
---|---|---|---|---|---|
aa16889 | 18 | 33.52 | 210.1 | yes | 4 |
Bir Churned alanının sonucunu tahmin etmek için ikili bir sınıflandırma modeli eğitirsek iki olası sonuç olacaktır: "evet" veya "hayır". Yukarıdaki tek hesap kimliği kaydına dayanarak, bu kayıt için koordinat SHAP veri kümesi aşağıdaki gibi görünecektir:
AccountID | automl_feature | SHAP_value |
---|---|---|
aa16889 | AdditionalFeatureSpend | -0.049129267835076 |
aa16889 | BaseFee | -1.5363064624041 |
aa16889 | CurrentPeriodUsage | 0.10787960191299 |
aa16889 | HasRenewed | 1.2441783315923 |
aa16889 | NumberOfPenalties | 2.3803616183224 |
Yukarıdaki tabloda, tek bir hesap kimliği için SHAP değerleri görüntülenir ve bunlar özelliğe göre ayrılır. Her özellik için yeni bir satır oluşturulur ve her özelliğe bir SHAP değeri atanır. Bu SHAP değerlerinin yönü ve büyüklüğü, iki olası sonuçla ilişkili olarak değerlendirilmelidir. İdeal olarak, SHAP değeri ne kadar yüksek olursa özelliğin olumlu bir yorumla (bu durumda "evet") sonuca etkisi o kadar büyük olur. Bunun yerine bu gösterim tersine çevrilirse analizi daha kolay yorumlanabilir hale getirmek için SHAP değerlerinin yönünü tersine çevirebilirsiniz (-1 ile çarpabilirsiniz).
Karşılaştırma için, kategorik bir PlanType alanını (dört olası sonuçla - "Blue Plan", "Green Plan", "Purple Plan" ve "Red Plan") tahmin etmek için çok sınıflı bir sınıflandırma modeli eğittiğimizi varsayalım. İlk tablodaki tek hesap kimliği kaydına dayanarak, bu kayıt için koordinat SHAP veri kümesi aşağıdaki gibi görünecektir:
AccountID | automl_feature | Predicted_class | SHAP_value |
---|---|---|---|
aa16889 | AdditionalFeatureSpend | Blue Plan | 0.004155414339679 |
aa16889 | AdditionalFeatureSpend | Green Plan | 0.0066376343942741 |
aa16889 | AdditionalFeatureSpend | Purple Plan | -0.014411468558894 |
aa16889 | AdditionalFeatureSpend | Red Plan | 0.003618419824941 |
aa16889 | BaseFee | Blue Plan | 0.089301017079318 |
aa16889 | BaseFee | Green Plan | 0.28876498452748 |
aa16889 | BaseFee | Purple Plan | 0.055689421438434 |
aa16889 | BaseFee | Red Plan | -0.43375542304524 |
aa16889 | CurrentPeriodUsage | Blue Plan | -0.0040098954629816 |
aa16889 | CurrentPeriodUsage | Green Plan | -0.27902537442842 |
aa16889 | CurrentPeriodUsage | Purple Plan | -0.21871561841248 |
aa16889 | CurrentPeriodUsage | Red Plan | 0.50175088830388 |
aa16889 | HasRenewed | Blue Plan | -0.011878031228962 |
aa16889 | HasRenewed | Green Plan | 0.036835618725654 |
aa16889 | HasRenewed | Purple Plan | 0.13798314881109 |
aa16889 | HasRenewed | Red Plan | -0.16294073630778 |
aa16889 | NumberOfPenalties | Blue Plan | 0.20519095034486 |
aa16889 | NumberOfPenalties | Green Plan | 0.0015682625647107 |
aa16889 | NumberOfPenalties | Purple Plan | -0.084355421853302 |
aa16889 | NumberOfPenalties | Red Plan | -0.12240379105627 |
Yukarıdaki tabloda, tek bir hesap kimliği 20 ayrı satırla temsil edilmektedir: her özellik için bir satır ve hedefteki her olası sonuca karşılık gelen SHAP değeri için bir satır. Predicted_class sütunu tahmin edilecek olası sonucu (sınıfı) temsil eder, tahmin veri kümesinde görüntülenen gerçek tahmin edilen sonucu temsil etmesi gerekmez. Nihayetinde, en yüksek SHAP değerine sahip sınıf, kayıt için öngörülen değer haline gelir.
Bu tablodaki SHAP değerleri, belirtilen özelliğin (automl_feature) muhtemelen belirtilen sınıf (Predicted_class) olan sonuç üzerinde sahip olduğu etkinin ölçümleridir. Büyük bir pozitif değer, özelliğin tahmin edilen sonucun belirtilen sınıf olmasını güçlü bir şekilde etkilediğini gösterirken, büyük bir negatif değer, özelliğin tahmin edilen sonucun belirtilen sınıf olmamasını güçlü bir şekilde etkilediğini gösterir.
Regresyon modelleri
Bir regresyon modelinden elde edilen SHAP veri setinde, SHAP değerlerinin yönünü yorumlamak daha kolaydır.
Pozitif bir SHAP değeri, satır için öngörülen değerde bir artışa karşılık gelir.
Negatif bir SHAP değeri, satır için öngörülen değerde bir düşüşe karşılık gelir.
SHAP değerlerinin hesaplaması
SHAP değerleri çeşitli algoritmalar için hesaplanır. SHAP importance iki farklı yöntemle hesaplanır:
Ağaç SHAP'ı: Ağaç modelleri için SHAP değerlerinin tahmin edildiği hızlı ve kesin bir yöntem
Doğrusal SHAP: Doğrusal modeller için SHAP değerlerini hesaplama yöntemi
Algoritma | Desteklenen model türleri | SHAP hesaplama yöntemi |
---|---|---|
Rastgele Orman Sınıflandırması | İkili sınıflandırma, çok sınıflı sınıflandırma | Ağaç SHAP'ı |
XGBoost Sınıflandırması | İkili sınıflandırma, çok sınıflı sınıflandırma | Ağaç SHAP'ı |
LightGBM Sınıflandırması | İkili sınıflandırma, çok sınıflı sınıflandırma | Ağaç SHAP'ı |
CatBoost Sınıflandırması | İkili sınıflandırma, çok sınıflı sınıflandırma | Ağaç SHAP'ı |
Lojistik Regresyon | İkili sınıflandırma, çok sınıflı sınıflandırma | Doğrusal SHAP |
Lasso Regresyon | İkili sınıflandırma, çok sınıflı sınıflandırma | Doğrusal SHAP |
Elastik Net Regresyon | İkili sınıflandırma, çok sınıflı sınıflandırma | Doğrusal SHAP |
Gauss Naive Bayes | İkili sınıflandırma, çok sınıflı sınıflandırma | SHAP hesaplanmadı |
CatBoost Regresyonu | Regresyon | Ağaç SHAP'ı |
LightGBM Regresyonu | Regresyon | Ağaç SHAP'ı |
Lineer Regresyon | Regresyon | Doğrusal SHAP |
Rastgele Orman Regresyonu | Regresyon | Ağaç SHAP'ı |
SGD Regresyonu | Regresyon | Doğrusal SHAP |
XGBoost Regresyonu | Regresyon | Ağaç SHAP'ı |