Decision Tree Regression Clearly Explained!

Here, I've explained how to solve a regression problem using Decision Trees in great detail. You'll also learn the math behind splitting the nodes. The next video will show you how to code a decision tree regressor from scratch.
#machinelearning #datascience
For more videos please subscribe -
bit.ly/normalizedNERD
Decision Tree previous video -
• Decision Tree Classifi...
Love my work? Support me -
www.buymeacoffee.com/normaliz...
Join our discord -
/ discord
Facebook -
/ nerdywits
Instagram -
/ normalizednerd
Twitter -
/ normalized_nerd

Пікірлер: 117

  • @jayo3074
    @jayo30742 жыл бұрын

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

  • @jamiyana4969
    @jamiyana4969Ай бұрын

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

  • @hannav7125
    @hannav71252 жыл бұрын

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

  • @sillem4337
    @sillem4337 Жыл бұрын

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

  • @Ivan-cp2hn
    @Ivan-cp2hn2 жыл бұрын

    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 !

  • @saigopal5086
    @saigopal5086 Жыл бұрын

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

  • @rishabhgarodia410
    @rishabhgarodia4102 жыл бұрын

    Thanks for these visualizations! Helps a lot

  • @gustavoalcarde
    @gustavoalcarde Жыл бұрын

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

  • @aminbakhtiari3026
    @aminbakhtiari3026 Жыл бұрын

    that was quite understandable ! thanks for the good explanation and visualization!

  • @himtyagi9740
    @himtyagi97402 жыл бұрын

    What a beautiful lecture..kudos to your efforts

  • @prashantmandare2875
    @prashantmandare2875 Жыл бұрын

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

  • @jullienbeaufondcamacho2055
    @jullienbeaufondcamacho20559 ай бұрын

    Excellent visualization, kudos!

  • @akshaypr9164
    @akshaypr91643 ай бұрын

    amazing man!! love your explanation and style

  • @pratyushrout7904
    @pratyushrout7904 Жыл бұрын

    The nicest explanation video for DT on KZread...

  • @persevere1052
    @persevere10523 ай бұрын

    Extremely helpful and easy to understand!

  • @user-ll8dr9bm5v
    @user-ll8dr9bm5v6 ай бұрын

    Can you explain why X0

  • @Samwka_

    @Samwka_

    3 ай бұрын

    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

  • @fabianaltendorfer11
    @fabianaltendorfer117 ай бұрын

    one hell of a explanation video. great!

  • @rishiksarkar62
    @rishiksarkar62 Жыл бұрын

    Fabulous explanation sir! Thank you very much!!

  • @HuyLe-nn5ft
    @HuyLe-nn5ft Жыл бұрын

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

  • @kajalmishra6895
    @kajalmishra68952 жыл бұрын

    I love all your videos.

  • @dgaphysics4026
    @dgaphysics40263 ай бұрын

    Great explanation!

  • @yuyang5575
    @yuyang55753 жыл бұрын

    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 жыл бұрын

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

  • @itsme1674
    @itsme1674 Жыл бұрын

    Wonderful explanation

  • @diabl2master
    @diabl2master4 ай бұрын

    What a brilliant video!!

  • @senthil_the_analyst
    @senthil_the_analyst2 жыл бұрын

    Quality content... I never seen before 💯

  • @jamalnuman
    @jamalnuman3 ай бұрын

    great presentation

  • @Rahul.alpha.Mishra
    @Rahul.alpha.Mishra3 ай бұрын

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

  • @yashsaxena7754
    @yashsaxena7754 Жыл бұрын

    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.

  • @leolei9352
    @leolei93522 жыл бұрын

    Really good teaching.

  • @mihirsheth9918
    @mihirsheth99182 жыл бұрын

    great explaination.thanks

  • @siddhantpathak6289
    @siddhantpathak62892 жыл бұрын

    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
    @RohitAlexKoshy3 жыл бұрын

    Great video. Keep up the good work!

  • @NormalizedNerd

    @NormalizedNerd

    3 жыл бұрын

    Thanks!

  • @ahmedelsabagh6990
    @ahmedelsabagh69902 жыл бұрын

    Very good visualizations

  • @illan731
    @illan7312 ай бұрын

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

  • @kalpanakadirvel9220
    @kalpanakadirvel92202 жыл бұрын

    Excellent video.. Thank you

  • @kellymarchisio377
    @kellymarchisio377 Жыл бұрын

    Excellent!

  • @razieqilham8327
    @razieqilham83272 жыл бұрын

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

  • @osama11osama
    @osama11osama3 ай бұрын

    I like it really, thanks

  • @yuvikayadav8203
    @yuvikayadav820311 ай бұрын

    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?

  • @ckeong9012
    @ckeong90122 ай бұрын

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

  • @estefvasqu
    @estefvasqu3 жыл бұрын

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

  • @NormalizedNerd

    @NormalizedNerd

    3 жыл бұрын

    You're most welcome...Keep supporting!

  • @soniasnia
    @soniasnia2 жыл бұрын

    ur video is just awesome!

  • @SachinModi9
    @SachinModi9 Жыл бұрын

    Man... Loved it..

  • @mindlessambient1791
    @mindlessambient17912 жыл бұрын

    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.

  • @takeshi7441
    @takeshi744112 күн бұрын

    Thank you sir

  • @Nirjhar85
    @Nirjhar85 Жыл бұрын

    Awesome!

  • @samarthtandale9121
    @samarthtandale9121 Жыл бұрын

    Incredible 🔥

  • @Mudiaga11
    @Mudiaga11 Жыл бұрын

    this is excellent

  • @sadjiajfiarei3498
    @sadjiajfiarei3498 Жыл бұрын

    bro you made it so easy

  • @diegobarrientos6271
    @diegobarrientos6271 Жыл бұрын

    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

    Жыл бұрын

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

  • @nickgeo8250
    @nickgeo825011 ай бұрын

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

  • @AidarMHTV

    @AidarMHTV

    10 ай бұрын

    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.

  • @Asmallpanda1
    @Asmallpanda12 жыл бұрын

    Very Nice ty

  • @polishettysairam6466
    @polishettysairam64662 жыл бұрын

    Its good, can you provide the dataset used here

  • @ckeong9012
    @ckeong90123 жыл бұрын

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

  • @NormalizedNerd

    @NormalizedNerd

    3 жыл бұрын

    Suggestion noted...

  • @bhavinmoriya9216
    @bhavinmoriya92162 жыл бұрын

    Thanks for the video! How do you decide x0

  • @NormalizedNerd

    @NormalizedNerd

    2 жыл бұрын

    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

    2 жыл бұрын

    @@NormalizedNerd Thanks buddy :)

  • @kalam_indian

    @kalam_indian

    2 жыл бұрын

    @@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

  • @candicerusser9095
    @candicerusser90952 жыл бұрын

    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

  • @smartshoppingapp3585
    @smartshoppingapp35852 жыл бұрын

    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???

  • @saqlainshaikh5483
    @saqlainshaikh54833 жыл бұрын

    Great Expectations ✌️

  • @NormalizedNerd

    @NormalizedNerd

    3 жыл бұрын

    Thanks!! More to come :)

  • @MrHardgabi
    @MrHardgabi3 жыл бұрын

    incredible

  • @madhumatinarule4489
    @madhumatinarule44892 жыл бұрын

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

  • @ismailwangde580
    @ismailwangde580 Жыл бұрын

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

  • @suryahr307
    @suryahr30726 күн бұрын

    does it take care of outlier data points?

  • @Randomstiontastic
    @Randomstiontastic3 жыл бұрын

    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.

  • @sai_sh
    @sai_sh Жыл бұрын

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

  • @inderkaur3012
    @inderkaur30122 жыл бұрын

    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

    Жыл бұрын

    Do not confuse the variance reduction with the variance of each split. VarR1 1 - Var2)

  • @asrjy
    @asrjy3 жыл бұрын

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

  • @NormalizedNerd

    @NormalizedNerd

    3 жыл бұрын

    Yeah!

  • @asrjy

    @asrjy

    3 жыл бұрын

    @@NormalizedNerd nice

  • @XuanTran-ri1hn
    @XuanTran-ri1hn2 жыл бұрын

    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

    2 ай бұрын

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

  • @xINeXuSlx
    @xINeXuSlx3 жыл бұрын

    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 жыл бұрын

    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 :)

  • @alexandrfedorov7297
    @alexandrfedorov729711 ай бұрын

    You are awesome

  • @61_shivangbhardwaj46
    @61_shivangbhardwaj463 жыл бұрын

    Thnx sir😊

  • @NormalizedNerd

    @NormalizedNerd

    3 жыл бұрын

    Most welcome

  • @subarnasubedi7938
    @subarnasubedi79389 ай бұрын

    I am confused why you took x2

  • @sebastiaanvanhassel4664
    @sebastiaanvanhassel46643 жыл бұрын

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

  • @NormalizedNerd

    @NormalizedNerd

    3 жыл бұрын

    😁❤

  • @akashkundu4520
    @akashkundu4520 Жыл бұрын

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

  • @gatecseaspirant-dk9ze
    @gatecseaspirant-dk9ze Жыл бұрын

    hello people from the future! you nailed it here

  • @tinyeinmoe5147
    @tinyeinmoe5147Ай бұрын

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

  • @robm838
    @robm8382 жыл бұрын

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

  • @piero8284
    @piero8284 Жыл бұрын

    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

  • @anuragshrivastava7855
    @anuragshrivastava7855 Жыл бұрын

    how did we get average

  • @JPDEV092
    @JPDEV09220 күн бұрын

    how to do videos like this ?

  • @tomgt428
    @tomgt4283 жыл бұрын

    cool

  • @kalam_indian
    @kalam_indian2 жыл бұрын

    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

  • @Rehul-gw3yj
    @Rehul-gw3yj11 ай бұрын

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

  • @paultvshow
    @paultvshow2 ай бұрын

    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.

  • @ronitganguly3318
    @ronitganguly3318 Жыл бұрын

    Dada tumi bangali?😁

  • @NormalizedNerd

    @NormalizedNerd

    Жыл бұрын

    Ha bhai :))

  • @ronitganguly3318

    @ronitganguly3318

    Жыл бұрын

    @@NormalizedNerd bengoli accent ftw!

  • @ccuuttww
    @ccuuttww3 жыл бұрын

    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

  • @DustinGunnells
    @DustinGunnells3 жыл бұрын

    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: kzread.info/dash/bejne/gmaOpJqcZavHYbQ.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

  • @Gulshankumar-fg9ls
    @Gulshankumar-fg9ls Жыл бұрын

    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
    @dnyaneshjalamkar42572 жыл бұрын

    Your so called autopilot ruined the video!