Explainable AI explained! | #4 SHAP

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 มิ.ย. 2024
  • ▬▬ Resources ▬▬▬▬▬▬▬▬▬▬▬▬
    Interpretable ML Book: christophm.github.io/interpre...
    Github Project: github.com/deepfindr/xai-series
    Paper: arxiv.org/abs/1705.07874
    ▬▬ Timestamps ▬▬▬▬▬▬▬▬▬▬▬
    00:00 Introduction / Example
    03:09 The paper
    03:50 Calculation of Shapley values
    09:34 Code examples
    14:30 Plots / Visualizations
    ▬▬ Support me if you like 🌟
    ►Link to this channel: bit.ly/3zEqL1W
    ►Support me on Patreon: bit.ly/2Wed242
    ►Buy me a coffee on Ko-Fi: bit.ly/3kJYEdl
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 46

  • @SinAndrewKim
    @SinAndrewKim 2 ปีที่แล้ว +30

    There is an error in your formula for Shapley values (compared to christophm's book and wikipedia). Most write the weight as (M choose 1, |S|, M-|S|-1) where S is some subset WITHOUT feature i. However, you are summing over subsets z' WITH feature i. Thus, the weight should be (M choose 1, |z'| - 1, M-|z'|).

    • @DeepFindr
      @DeepFindr  2 ปีที่แล้ว +11

      Thanks for pointing out, you are absolutely right! I'll pin this comment so that everyone can see it.

  • @utkarshkulshrestha2026
    @utkarshkulshrestha2026 2 ปีที่แล้ว +3

    Really insightful. Thank you for the video. It was a great explanation and demonstration to begin with.

  • @nidhisingh1325
    @nidhisingh1325 2 ปีที่แล้ว +1

    Great explanation, would love more videos from you!

  • @techjack6307
    @techjack6307 2 ปีที่แล้ว

    Thank you very much for explaining the concept so clearly.

  • @nkorochinaechetam2516
    @nkorochinaechetam2516 ปีที่แล้ว

    straight to the point and detailed explanation

  • @mohammadnafie3327
    @mohammadnafie3327 ปีที่แล้ว

    Amazing explaination and to the point. Thank you!

  • @Florentinorico
    @Florentinorico 2 ปีที่แล้ว

    Great example with the competition!

  • @hprshayan
    @hprshayan 2 ปีที่แล้ว +1

    Thank you for your excellent explanation.

  • @aprampalsingh8381
    @aprampalsingh8381 9 หลายเดือนก่อน

    Best explanation over internet..you should do more videos!

  • @orkhanmd
    @orkhanmd 2 ปีที่แล้ว +1

    Great explanation. Thanks!

  • @WildanPutraAldi
    @WildanPutraAldi ปีที่แล้ว

    Excellent video, thanks for sharing !

  • @kevinkpakpo3215
    @kevinkpakpo3215 2 ปีที่แล้ว

    Amazing tutorial. Thanks a lot!

  • @muratkonuklar3910
    @muratkonuklar3910 2 ปีที่แล้ว

    Great Presentation Thanks!

  • @Diego0wnz
    @Diego0wnz 3 ปีที่แล้ว +2

    thanks for the video!

  • @nikolai228
    @nikolai228 3 หลายเดือนก่อน

    Great video, thanks!

  • @davidlearnforus
    @davidlearnforus ปีที่แล้ว

    all our videos are great. thanks a lot!

  • @muzaffarnissar1978
    @muzaffarnissar1978 9 หลายเดือนก่อน

    Thanks, an Exceptional Explanation! Looking Forward to More Videos!.
    Can you send me any links where we we can use Explainable on audio data.

  • @Bill0102
    @Bill0102 5 หลายเดือนก่อน

    This is a tour de force. A book I read with like-minded themes was also magnificent. "Game Theory and the Pursuit of Algorithmic Fairness" by Jack Frostwell

  • @catcatyoucatmedie1161
    @catcatyoucatmedie1161 ปีที่แล้ว

    Hi, May I know the dataset you used for the demo?

  • @codewithyouml8994
    @codewithyouml8994 2 ปีที่แล้ว

    Great Video. I have one question.... Can I use this SHAP model for Graph classification techniques, to see which nodes contribution is how much and kind of show a grad cam like effect? If you got any sort of resoyrces regarding this, please share. Thank you.

    • @DeepFindr
      @DeepFindr  2 ปีที่แล้ว

      Hi! I have a video called "how to explain graph neural networks" that exactly addresses this question :)

  • @ramalaccX
    @ramalaccX 2 ปีที่แล้ว

    Amazing video again bro. It helped a lot! One question: Do you know the reference where I can find the proof of the 2nd theorem in the SHAP paper? I can't find it :(

    • @DeepFindr
      @DeepFindr  2 ปีที่แล้ว +3

      Hey :) thanks!
      The supplement can be downloaded here: papers.nips.cc/paper/2017/hash/8a20a8621978632d76c43dfd28b67767-Abstract.html
      Plus there is another link in a discussion on Github, which might be helpful as well: github.com/slundberg/shap/issues/1054
      Hope this helps :)

    • @ramalaccX
      @ramalaccX 2 ปีที่แล้ว

      @@DeepFindr There's nothing else I can say because you're the boss! ❤

  • @zahrahsharif8431
    @zahrahsharif8431 2 ปีที่แล้ว +1

    When you use summary force_plot to get an individual points contribution is the prediction shown the log of odds? If so how do I show the actual probability

    • @ea2187
      @ea2187 2 ปีที่แล้ว

      i have the same issue ... did you find something out?

    • @DeepFindr
      @DeepFindr  2 ปีที่แล้ว

      Hi! Sorry didn't see that comment somehow.
      Did you have a look at this post: github.com/slundberg/shap/issues/963
      ?
      For Tree Explainer you have an option to get probabilities, according to that.

  • @shaz-z506
    @shaz-z506 ปีที่แล้ว

    Can we use shap for multiclass classification, is there any resources which you can suggest.

    • @DeepFindr
      @DeepFindr  ปีที่แล้ว

      Hi! Have a look at this discussion: github.com/slundberg/shap/issues/367

  • @yashnarendra
    @yashnarendra 2 ปีที่แล้ว +1

    Might be a very stupid question but why is z' under modulus, if it represents number of features in the subset, it should be positive always, right.

    • @DeepFindr
      @DeepFindr  2 ปีที่แล้ว

      Hi! Do you mean the bars wrapped around z? That comes from set theory in math and the notation stands for cardinality = the number of elements in the set. It doesn't mean the "abs" function.
      Is that what you were referring to? :)

    • @yashnarendra
      @yashnarendra 2 ปีที่แล้ว

      @@DeepFindr yes, thank you for clarifying. One more doubt, if I put z' =M then the (M -|z'| -1)! becomes (-1) ! which is not defined. What am I missing here?

    • @DeepFindr
      @DeepFindr  2 ปีที่แล้ว +2

      @@yashnarendra Hi, good catch!
      In the original formula of Shapley values this can never happen, because the sum is over subsets without the feature i. Therefore F will always be greater than S (with the notation of the original shapley formula in the paper).
      But you are right, this is not really reflected in the SHAP formula. However in the paper they state that they excluded |z'| = 0 and |z'| = M as both are not defined.

    • @yashnarendra
      @yashnarendra 2 ปีที่แล้ว +1

      @@DeepFindr Thanks a lot, really appreciate your efforts in replying to my queries.

  • @PrabhjotSingh-mn2ku
    @PrabhjotSingh-mn2ku 2 ปีที่แล้ว

    Does the classification threshold have an effect on shapley values? The default threshold in binary classification is 0.5, what if one changes it to 0.7, how to incorporate this in the shap library?

    • @DeepFindr
      @DeepFindr  2 ปีที่แล้ว

      Hi! This discussion might be what you are looking for :)

    • @PrabhjotSingh-mn2ku
      @PrabhjotSingh-mn2ku 2 ปีที่แล้ว

      @@DeepFindr did you mean to add a link to the discussion?

    • @DeepFindr
      @DeepFindr  2 ปีที่แล้ว +1

      Yep, sorry here: github.com/slundberg/shap/issues/257

  • @minhaoling3056
    @minhaoling3056 2 ปีที่แล้ว +1

    Does shap works on small dataset ?

    • @DeepFindr
      @DeepFindr  2 ปีที่แล้ว

      LIME is independent from the size of the Dataset. The only question is if the (Blackbox) model works on the Dataset. Can you maybe share some more details what makes you raise this question? :)

    • @minhaoling3056
      @minhaoling3056 2 ปีที่แล้ว

      I have a very small dataset that surprising do well on prediction of 15 different class of identical species. In my black box model, I use three layers of feature extraction methods and finish off with one random forest model. I am not sure whether I can implement LIME for this situation because my black box were mostly feature extractions rather than ensemble of models.

    • @DeepFindr
      @DeepFindr  2 ปีที่แล้ว

      Which feature extraction layers are you using?
      Is it trained end-to-end with the RF?
      It doesn't really matter what is happening inside your model. LIME is able to explain the input-output relation in a local area of a single prediction :)

    • @minhaoling3056
      @minhaoling3056 2 ปีที่แล้ว

      @@DeepFindr I see, thanks! I will try this in my project soon.

    • @DeepFindr
      @DeepFindr  2 ปีที่แล้ว +1

      OK good luck! If you have any problems let me know :)