Decision Tree Regression Clearly Explained!

Поділитися
Вставка
  • Опубліковано 22 гру 2024

КОМЕНТАРІ • 129

  • @jayo3074
    @jayo3074 3 роки тому +39

    It looks hard at first but with a good teacher explaining it really is so simple

  • @jamiyana4969
    @jamiyana4969 7 місяців тому +5

    Honestly this is the most high end professional video that's so simply explained! Amazing job!

  • @saigopal5086
    @saigopal5086 Рік тому +6

    brooooooo this is brilliant, I can't resist myself from pressing the like button, it's such a blessing to have people like you

  • @hannav7125
    @hannav7125 3 роки тому +10

    Shout out to this dude for the awesome visualization and clearly explanation.

  • @sillem4337
    @sillem4337 Рік тому +9

    This video is next level teachning. Concept presented so clearly and so well. Thank you!

  • @Ivan-cp2hn
    @Ivan-cp2hn 3 роки тому +4

    your explanation is so far the best in youtube up till now. Dont know why the view number and likes counts not that high. But keep doing the great work !

  • @SoubhikBhattacharya
    @SoubhikBhattacharya Рік тому +6

    Can you explain why X0

    • @onetapmanbbr
      @onetapmanbbr 9 місяців тому +1

      8:24 He explains that the algorithm compares every possible split and finds the one with the best variance reduction. So the y in X0

    • @soumyarm3851
      @soumyarm3851 4 місяці тому

      ​@@onetapmanbbrv

  • @pratyushrout7904
    @pratyushrout7904 2 роки тому

    The nicest explanation video for DT on UA-cam...

  • @prashantmandare2875
    @prashantmandare2875 2 роки тому

    Best explanation of decision tree for regression that I have come across

  • @persevere1052
    @persevere1052 9 місяців тому +1

    Extremely helpful and easy to understand!

  • @sai_sh
    @sai_sh Рік тому +1

    Hi at 4:40 why did it go towards left node rather than the right coz x=16 and x

  • @rishabhgarodia410
    @rishabhgarodia410 2 роки тому +3

    Thanks for these visualizations! Helps a lot

  • @gustavoalcarde
    @gustavoalcarde Рік тому +2

    Thank you so much! Very simple and visual, that's all I needed!

  • @bhavinmoriya9216
    @bhavinmoriya9216 3 роки тому +7

    Thanks for the video! How do you decide x0

    • @NormalizedNerd
      @NormalizedNerd  3 роки тому +1

      Actually, we try every possible value of the threshold and find which one produces the best split. If can go through the code for a better understanding. github.com/Suji04/ML_from_Scratch/blob/master/decision%20tree%20regression.ipynb

    • @bhavinmoriya9216
      @bhavinmoriya9216 3 роки тому

      @@NormalizedNerd Thanks buddy :)

    • @kalam_indian
      @kalam_indian 3 роки тому +1

      @@NormalizedNerd
      you have done well but plz first explain taking an example by showing every steps from first to the last with every maths used and the computation on how we get the results and why this value and not the other etc.
      plz teach like this so that every learner even the one who don't have basic can understand
      it is a request

  • @illan731
    @illan731 8 місяців тому

    Great explanation. Feels too simple to have looked up on video, which means it is explained very well.

  • @yashsaxena7754
    @yashsaxena7754 2 роки тому +2

    Great explanation! One question though is if the prediction is based on the average value of the target variable in the leaf node, it would mean that all the observations terminating at a node will have the same prediction. Is that right? For e.g., if 10 observations are terminating at a leaf node all will have the same predictions.

  • @akshaypr9164
    @akshaypr9164 9 місяців тому

    amazing man!! love your explanation and style

  • @himtyagi9740
    @himtyagi9740 3 роки тому +1

    What a beautiful lecture..kudos to your efforts

  • @HuyLe-nn5ft
    @HuyLe-nn5ft 2 роки тому

    You already had 1 more subsciption, Superb explanation and visualization!

  • @giacomozuccolotto4503
    @giacomozuccolotto4503 26 днів тому

    great video! I still got a question tho: how did you apply the variance formula to get those starting variance values before applying the vairance reduction formula? i do not understand how the number 9744 came up

  • @fabianaltendorfer11
    @fabianaltendorfer11 Рік тому

    one hell of a explanation video. great!

  • @XuanTran-ri1hn
    @XuanTran-ri1hn 2 роки тому +1

    Hi, may I ask 1 thing in minute 4:41, because x=16, so I think that condition is not true for x1

    • @explovictinischool2234
      @explovictinischool2234 8 місяців тому

      This condition is, indeed, true.
      You may have confused x0 and x1:
      x0 = 16 but x1 = -2. Here, we are talking about x1

  • @jullienb2055
    @jullienb2055 Рік тому

    Excellent visualization, kudos!

  • @himanshuverma3984
    @himanshuverma3984 Місяць тому

    Could not understand variance reduction part. If we're talking about the variance reduction, then as per your explanation, 2nd set should have been chosen, but you selected the first set. Am I assuming something wrong here?

  • @yuvikayadav8203
    @yuvikayadav8203 Рік тому

    Great explanation! Just one doubt that in decision tree classifier we split the nodes until we get pure leaf nodes if hyperparameters are not clearly stated but in the case of regression problems how do it decide when to stop generating the tree if no hyperparameter is defined?

  • @inderkaur3012
    @inderkaur3012 2 роки тому +1

    Hi, Though Var R1>Var R2, how do we conclude that R2 is best suited for split? Graphically I understand your logic as the colors are best segregated due to R1, we must choose R1, but I was unable to conclude the same from variance perspective. Could you please explain the same?

    • @konstantinosmaravegias4198
      @konstantinosmaravegias4198 Рік тому +2

      Do not confuse the variance reduction with the variance of each split. VarR1 < VarR2, hence the VarR1 split reduces more variance from the parent node (1 - VarR1 > 1 - Var2)

  • @Rahul.alpha.Mishra
    @Rahul.alpha.Mishra 9 місяців тому

    Thanks a lot bro. And your viz helped me explain my Model in the presentation. Carry on foreward

  • @yuyang5575
    @yuyang5575 3 роки тому +12

    This is awesome! Clearly we use a binary tree to do the classification first (or build a decision tree first), and then we follow the tree to reach the target leaf node. Btw, which software do you use to make the animation? very impressive

    • @NormalizedNerd
      @NormalizedNerd  3 роки тому +4

      Thanks! Well, I use Manim (a python library)

  • @falicitations
    @falicitations 2 місяці тому

    Top quality video, which software do u use to create visuals?

  • @diegobarrientos6271
    @diegobarrientos6271 2 роки тому +3

    Thanks for the explanation!, I have a question... I watched in some videos that use MSE instead of variance, so Should I use the sum of squared error or variance? It'd be great of someone could clarify this please

    • @DaaniaKhalith
      @DaaniaKhalith Рік тому +1

      MSE is used if both input and output is continuous ,variance is for discrete input n continuous output

  • @rishiksarkar62
    @rishiksarkar62 2 роки тому

    Fabulous explanation sir! Thank you very much!!

  • @ckeong9012
    @ckeong9012 8 місяців тому

    Awesome. May i know what kind of software you use for the visualization?

  • @suryahr307
    @suryahr307 6 місяців тому

    does it take care of outlier data points?

  • @smartshoppingapp3585
    @smartshoppingapp3585 3 роки тому

    How do you find the best root node. ? Coz in video it's about finding the best split which really helped.
    But how to find the best root node???

  • @estefvasqu
    @estefvasqu 3 роки тому

    Thank you for sharing your knowledge. We appreciate it
    Greetings from Argentina

  • @itsme1674
    @itsme1674 2 роки тому

    Wonderful explanation

  • @subarnasubedi7938
    @subarnasubedi7938 Рік тому

    I am confused why you took x2

  • @the_senthil
    @the_senthil 3 роки тому

    Quality content... I never seen before 💯

  • @kajalmishra6895
    @kajalmishra6895 3 роки тому

    I love all your videos.

  • @Randomstiontastic
    @Randomstiontastic 3 роки тому +1

    How do you find the value of the inequalities for the filters?

    • @NormalizedNerd
      @NormalizedNerd  3 роки тому

      By checking every possible value of a feature as the threshold and splitting the dataset based on that. Then taking that particular feature and the corresponding threshold that gives the maximum information gain. Please see the code provided in the next video for more clarity.

  • @diabl2master
    @diabl2master 10 місяців тому

    What a brilliant video!!

  • @dgaphysics4026
    @dgaphysics4026 9 місяців тому

    Great explanation!

  • @vasilisandreou8792
    @vasilisandreou8792 2 місяці тому

    Could you explain how the split would occur if we had 3 or more criteria please?

  • @leolei9352
    @leolei9352 2 роки тому

    Really good teaching.

  • @candicerusser9095
    @candicerusser9095 2 роки тому +1

    Hi, great video! A small doubt, what does "desired depth" mean in decision tree regressor, does it mean that we reach a point where we can't split anymore, like variance becomes 0?

    • @jakeezetci
      @jakeezetci 2 роки тому

      i think that's the depth of the tree you want, that you need to find by trying out yourself. you want to stop before variance becomes 0, as then the prediction really goes wild

  • @razieqilham8327
    @razieqilham8327 2 роки тому

    So in love with your explanation sir, but im confused with the dataset, could u build a dataset in table, not graph?

  • @ahmedelsabagh6990
    @ahmedelsabagh6990 2 роки тому

    Very good visualizations

  • @sadjiajfiarei3498
    @sadjiajfiarei3498 Рік тому

    bro you made it so easy

  • @yurpipipchz75
    @yurpipipchz75 28 днів тому

    yeah, wow! Really well done!

  • @ismailwangde580
    @ismailwangde580 Рік тому

    Bro, you are better than krish naik lol. Thank you for the efforts. really appreciate it

  • @jamalnuman
    @jamalnuman 9 місяців тому

    great presentation

  • @mindlessambient1791
    @mindlessambient1791 2 роки тому

    In the ending example, the weighted average of variance used weights with denominators of 20 (i.e. 11/20, 9/20, etc.) . Has anyone ever thought to adjust these weights using Bessel's correction? Not sure how much of a difference that would make but just curious. I am guessing that the weights would be something like 10/19 and 8/19 with this adjustment.

  • @nickgeo8250
    @nickgeo8250 Рік тому

    Really good explanation well done! Only one question, how do you calculate the wi weights?

    • @AidarMHTV
      @AidarMHTV Рік тому

      The weights, I think, it's just a fraction of items for each side.
      For example, 2 items on left and 6 items on right gives .25 and 0.75 weights respectively.

  • @AthiBalaji-q1r
    @AthiBalaji-q1r 2 місяці тому

    Great, but how does the model learn to arrive at the optimal splitting point

  • @ckeong9012
    @ckeong9012 3 роки тому +1

    Awesome. Great video. Much appreciated if you could put the values or labels on the cartesian. TQ~

  • @siddhantpathak6289
    @siddhantpathak6289 3 роки тому +1

    Awesome visualization and explanation, I went through the Github implementation and it seems you are using unique feature values as possible thresholds. How this approach would work for a continuous feature with millions of records, as there will be many unique values to test.
    Possible thresholds in the video were 1 and 2, right? Just checking my understanding.

  • @RohitAlexKoshy
    @RohitAlexKoshy 3 роки тому

    Great video. Keep up the good work!

  • @polishettysairam6466
    @polishettysairam6466 3 роки тому

    Its good, can you provide the dataset used here

  • @mihirsheth9918
    @mihirsheth9918 3 роки тому

    great explaination.thanks

  • @robm838
    @robm838 2 роки тому

    Which values are -7 and -12 cannot be found on the grid.

  • @samarthtandale9121
    @samarthtandale9121 Рік тому

    Incredible 🔥

  • @nithishar2781
    @nithishar2781 Місяць тому

    It's soo good , but i have doubt when to end the splitting ?

  • @madhumatinarule4489
    @madhumatinarule4489 2 роки тому

    Kindly make full course on fundamentals of machine learning as we are from not from computer science

  • @kalpanakadirvel9220
    @kalpanakadirvel9220 3 роки тому

    Excellent video.. Thank you

  • @SachinModi9
    @SachinModi9 Рік тому

    Man... Loved it..

  • @shanks9758
    @shanks9758 3 місяці тому

    good job , thank you

  • @kellymarchisio377
    @kellymarchisio377 Рік тому

    Excellent!

  • @sebastiaanvanhassel4664
    @sebastiaanvanhassel4664 3 роки тому +1

    One extra like for the classical music!!! 👏😀

  • @osama11osama
    @osama11osama 9 місяців тому

    I like it really, thanks

  • @Mudiaga11
    @Mudiaga11 2 роки тому

    this is excellent

  • @soniasnia
    @soniasnia 2 роки тому

    ur video is just awesome!

  • @takeshi7441
    @takeshi7441 6 місяців тому

    Thank you sir

  • @piero8284
    @piero8284 2 роки тому

    Nice explanation, i was struggling a little bit to find some detailed material about this topic. As I thought, decision Trees in general always check for the best split looking for every possible feature, that means if there are k features and n samples, at each split the tree will perform O(m*k) variance computations, right?

    • @p337maB
      @p337maB Рік тому

      It's not O(m*k) but exactly m*k computations at every split.

    • @piero8284
      @piero8284 Рік тому

      @@p337maB sure

  • @xINeXuSlx
    @xINeXuSlx 3 роки тому

    Great video! Helping me a lot in preparing for my Data Science exam soon. One thing I did not quite understand yet is when I should use Decision Tree Classification or Regression? I understand that one uses Information Gain and the other Variance Reduction, but how do I know in the first place what to apply?

    • @NormalizedNerd
      @NormalizedNerd  3 роки тому +1

      It depends on the problem you are trying to solve. As a thumb rule: if the target variable takes continuous values then go for regression and if it takes discrete (and few) values then go for classification.

    • @xINeXuSlx
      @xINeXuSlx 3 роки тому

      @@NormalizedNerd I understand, thanks a lot :)

  • @saqlainshaikh5483
    @saqlainshaikh5483 3 роки тому

    Great Expectations ✌️

  • @gatecseaspirant-dk9ze
    @gatecseaspirant-dk9ze Рік тому

    hello people from the future! you nailed it here

  • @Nirjhar85
    @Nirjhar85 Рік тому

    Awesome!

  • @asrjy
    @asrjy 3 роки тому

    Sick vid! Did you use manim to make this video?

  • @anuragshrivastava7855
    @anuragshrivastava7855 2 роки тому

    how did we get average

  • @akashkundu4520
    @akashkundu4520 2 роки тому

    Can you add post prunning of the tree and visual representation of the tree please.I have an assignment 😭

  • @Asmallpanda1
    @Asmallpanda1 2 роки тому

    Very Nice ty

  • @tinyeinmoe5147
    @tinyeinmoe5147 7 місяців тому

    you're the best, thank you Soooo much, india is the best

  • @JPDEV092
    @JPDEV092 6 місяців тому

    how to do videos like this ?

  • @61_shivangbhardwaj46
    @61_shivangbhardwaj46 3 роки тому

    Thnx sir😊

  • @MrHardgabi
    @MrHardgabi 3 роки тому

    incredible

  • @alexandrfedorov7297
    @alexandrfedorov7297 Рік тому

    You are awesome

  • @kalam_indian
    @kalam_indian 3 роки тому

    you have done well but plz first explain taking an example by showing every steps from first to the last with every maths used and the computation on how we get the results and why this value and not the other etc.
    plz teach like this so that every learner even the one who don't have basic can understand
    it is a request

  • @paultvshow
    @paultvshow 8 місяців тому

    At 1.28, what you mentioned was misleading and could be misinterpreted. A line is still a line in 2D, a line will never be a plane in 2D. You should have said “or a plane in 3D”, or simply call it a hyperplane instead of a line or plane.

  • @Rehul-gw3yj
    @Rehul-gw3yj Рік тому

    I actually came here to understand how we get the route note. anyone >?

  • @tomgt428
    @tomgt428 3 роки тому

    cool

  • @ronitganguly3318
    @ronitganguly3318 2 роки тому

    Dada tumi bangali?😁

  • @lkny631
    @lkny631 Місяць тому

    Loved everything! You’re awesome but bro your lines all look the same. It’s so hard to follow. Jesus couldn’t you have used bright and contrasting colors? But thank you so much for it!!

  • @DustinGunnells
    @DustinGunnells 3 роки тому

    How are you determining the filter splits further down from the root of the tree? I don't see the reasoning that you're using to make this useful. I see the filtering, I see data points, but what is determining the other filters from the initial filter? Why is the partitioning valuable? How would the partitioning be applied? Why would you have two of the same filter between the two x variables, x sub 0 and x sub 1? Why is x sub zero represented in the root but not x sub 1? What is the relationship/difference between the two x variables? This looks initially useful, then it looks like a bunch of snow on a cathode.

    • @NormalizedNerd
      @NormalizedNerd  3 роки тому

      "but what is determining the other filters from the initial filter?"
      The initial filter (at root) divides the data into two sets. The left one is then again divided so is the right one. We do this process recursively. While splitting a set we choose the condition that maximizes variance reduction. Please see the implementation to get more clarity: ua-cam.com/video/P2ZB8c5Ha1Q/v-deo.html

    • @DustinGunnells
      @DustinGunnells 3 роки тому

      @@NormalizedNerd So are you saying that x sub 0 and x sub 1 are two sets of decision sets? Rather, two collections of boundaries? Something still looks off. If it's an array of decision boundaries, how do you jump from 1 (of x sub 0) to -7 and -12 (of x sub 1)? I've even tried to figure out the symmetry in the tree to find logic. 4 elements of x sub 1 3 elements of x sub 0. 20 partitions in the grid for 20 elements in the set. I've watched several of your videos trying to understand your message. Explain this one where it makes sense and I'll definitely continue to watch your other content. I try to give everybody that says they're providing "knowledge" a chance. This is outstandingly bonkers to me. I'm also a programmer and MBA

  • @DikshuStuffyVlogs
    @DikshuStuffyVlogs 3 місяці тому

    I can't understand

  • @iloveblender8999
    @iloveblender8999 Місяць тому

    Lol this looks like a kd-tree.

  • @ccuuttww
    @ccuuttww 3 роки тому

    U spend a lot of time to make an animation

    • @ccuuttww
      @ccuuttww 3 роки тому

      I am not sure if u should use MSE for every split

  • @Gulshankumar-fg9ls
    @Gulshankumar-fg9ls 2 роки тому

    Bro… I would suggest you to get the proper knowledge when you start teaching any topic in machin learning, sometimes your statement is vague

  • @dnyaneshjalamkar4257
    @dnyaneshjalamkar4257 2 роки тому

    Your so called autopilot ruined the video!