Linear discriminant analysis (LDA) - simply explained

Поделиться
HTML-код
  • Опубликовано: 4 ноя 2024

Комментарии • 55

  • @hopelesssuprem1867
    @hopelesssuprem1867 11 месяцев назад +3

    the best explanation in all internet. Thank you a lot

  • @nikeforo2612
    @nikeforo2612 3 года назад +9

    Thanks for sharing. This is amazingly crafted and easy to follow. I finally understood the math behind LDA. Brilliant!

    • @tilestats
      @tilestats  3 года назад

      Thank you! That's great to hear.

  • @快來快
    @快來快 9 месяцев назад +1

    I like your video always with subtitles so i can better understand what are you saying

  • @ratnakarbachu2954
    @ratnakarbachu2954 3 года назад +1

    really you are genius and your help always remembered until my last breath.

    • @tilestats
      @tilestats  3 года назад

      Thanks for your comment!

  • @KayYesYouTuber
    @KayYesYouTuber 11 месяцев назад +1

    Beautiful explanation. Thanks

  • @gwendolyneortiz4152
    @gwendolyneortiz4152 10 месяцев назад

    I went to the MANOVA video, and it said I needed to first understand the LDA video so now I am here, and now it says I have to go to the PCA video hehe

  • @maydin34
    @maydin34 2 года назад +2

    Great explanation.

  • @44hyt
    @44hyt Год назад +2

    Excellent video!!!

  • @rekhapriya2178
    @rekhapriya2178 11 месяцев назад

    Your videos have been amazing, can you please upload content related to Bayesian analysis

  • @danialb9894
    @danialb9894 Год назад +1

    Thank you for the video. Could you please make an extended video for LDA? I mean videos like what you did for PCA

    • @tilestats
      @tilestats  Год назад

      Have you seen this one?
      ruclips.net/video/9SuIE_tGF-g/видео.html

  • @mrgomelonsolaris
    @mrgomelonsolaris 2 года назад +1

    Very clear explanation!

  • @MariaMartinezGarcia-ky6ru
    @MariaMartinezGarcia-ky6ru Год назад

    I greatly appreciate the video. I only have one question: Does this linear discriminant analysis approach rely on the Bayesian, Fisher or some other approach?

    • @tilestats
      @tilestats  Год назад

      Well, the original discriminant analysis method was developed by Fisher, but note that LDA is not used to make any inference about a population (no p-value is calculated).

    • @MariaMartinezGarcia-ky6ru
      @MariaMartinezGarcia-ky6ru Год назад

      @@tilestats Thank you for your response. That being said, I would like to know to which specific category or approach the method presented in the video could be associated. This is considering that its primary function is to classify known data, without conducting broader inferential analyses. Could you provide additional information on how this particular approach would be classified?

    • @tilestats
      @tilestats  Год назад

      I would say that it is a classification method. Have a look at this video where I group LDA with other methods.
      ruclips.net/video/XMZ_0aloVAc/видео.html

  • @spp626
    @spp626 9 месяцев назад

    Hello sir, can you please explain why first eigen vector is considered for LDA?

  • @silesoul
    @silesoul Год назад

    Hello, thank you for the excellent explanation! So a variable contributes more to the groups' separation when it has a high weight. How do we interpret the negative weights of the variables (in LDA)?

    • @tilestats
      @tilestats  Год назад

      Hi
      Use the absolute values for interpretation, which means that values far away from zero are important for separation.

    • @silesoul
      @silesoul Год назад

      @@tilestats Thank you !

  • @saifh.al-nimer2887
    @saifh.al-nimer2887 2 года назад +1

    Thank you so much for this very useful video.

  • @ahmadalmomani1553
    @ahmadalmomani1553 2 года назад

    Thank you very much for these beneficial videos. However, you mentioned that you used software to calculate the Eigenvectors. Please recommend which software to use (the simpler, the better)?
    Again, thanks a lot for your videos

    • @tilestats
      @tilestats  2 года назад

      Hi
      I use R, which is free! You can compute the eigenvectors in R by:
      mat=matrix(c(2.05,14.15,0.16,0.96),2,2)
      eigen(mat)
      Note that I also have videos on how to understand and calculate the eigenvectors by hand:
      ruclips.net/video/9CT0jnem4vM/видео.html
      ruclips.net/video/JtcNe--fsyA/видео.html

  • @hongdao9349
    @hongdao9349 3 месяца назад

    How to calculate score from to matrix

  • @iwwyl847
    @iwwyl847 2 года назад

    Hello! great video, however, I have a question/need clarification: is LD1 found at 18:19 the actual line, on which when projected upon best seperates the two classes? And then the following calculations in the video is the data being projected on the line, or is this line found somewhere else? So to clarify; im looking specifically for the line that best seperates the two classes

    • @tilestats
      @tilestats  2 года назад

      The discriminant axis is given by the first eigenvector. If you like to plot the line on the centered data (unrotated data), plot the first eigenvector (0.15 0.989 or 0.11 0.7, both will give the same slope/direction of the line). Data points should project on this line.

  • @jimjohnson357
    @jimjohnson357 3 года назад

    In your calculation of matrix W, when the sizes of the classes or groups is UNEQUAL, what are the variables n_1 and n_2? (i.e. in the equation shown at 15:43). Also, thanks so much for these videos (and the PCA ones). Well explained, with good examples and you did it in half the time everyone else takes!

    • @tilestats
      @tilestats  3 года назад

      Thank you! n1 and n2 are the sample sizes of group 1 (group A) and group 2 (group B). In this example, you should set n1=6 and n2=6. Note that you should use the same formula at 19:22 if you like to normalize the weights when you have an unequal sample size.

    • @jimjohnson357
      @jimjohnson357 3 года назад

      @@tilestats Thanks very much... you guessed what my second question was going to be and answered it too! Looking forward to working my way through all your videos when I have some extra time.

    • @NN-if9lr
      @NN-if9lr 3 года назад

      @@tilestats what if we have 3 or more classes? should the denumerator still n1+n2 - 2? or it change to n1+n2 - 3 and so on?

    • @tilestats
      @tilestats  3 года назад

      @@NN-if9lr Yes but n1+n2+n3-3

    • @NN-if9lr
      @NN-if9lr 3 года назад

      @@tilestats oh i forgot the n3, thank you for the reply.

  • @sergeypigida4834
    @sergeypigida4834 2 года назад

    Could you please check if the legend colors for bacterial and viral are correct on the figures (e.g. at 6:21)? With scikit-learn I get low values for bacterial and high values for viral data transformed samples. Therefore, viral data points, transformed with LDA, should be above the bacterial ones.

    • @tilestats
      @tilestats  2 года назад

      What values did you get for alpha 1 and alpha 2, using scikit?

    • @sergeypigida4834
      @sergeypigida4834 2 года назад

      @@tilestats [-0.3627029 -2.3969302]
      import pandas as pd
      from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
      import matplotlib.pyplot as plt
      data = pd.DataFrame({
      "infection":["Viral","Viral","Viral","Viral","Viral","Viral",
      "Bacterial","Bacterial","Bacterial","Bacterial","Bacterial","Bacterial"],
      "crp":[40.,11.1,30.,21.4,10.7,3.4,42.0,31.1,50.,60.4,45.7,17.3],
      "temp":[36.,37.2,36.5,39.4,39.6,40.7,37.6,42.2,38.5,39.4,38.6,42.7]})
      X, y = data[["crp","temp"]], data["infection"].ravel()
      lda = LinearDiscriminantAnalysis(n_components=1, store_covariance=True)
      X_t = lda.fit(X, y).transform(X)
      colors = ["red", "green"]
      plt.figure()
      for color, cls in zip(colors, lda.classes_):
      plt.scatter(["LDA"]*len(X_t[y==cls]), X_t[y==cls], alpha=0.8, color=color, label=cls)
      plt.legend()
      plt.show()

    • @sergeypigida4834
      @sergeypigida4834 2 года назад

      @@tilestats Hi Andreas, I managed to get the same picture as you. To do this I used the eigen solver (by default sklearn uses singular value decomposition).
      lda = LinearDiscriminantAnalysis(solver="eigen", shrinkage=0.003, n_components=1, store_covariance=True)
      Thank you for your

    • @tilestats
      @tilestats  2 года назад

      Great!

  • @ritiksuri7248
    @ritiksuri7248 4 месяца назад

    Can you please provide the dataset on which you worked

    • @tilestats
      @tilestats  4 месяца назад

      The data set is the same as shown in the video.

  • @paolopanlaqui9887
    @paolopanlaqui9887 3 года назад

    Hello! I would like to ask what the null hypothesis for LDA is or DA (Discrimination Analysis) in general? And also if you would know what the hypothesis is when MANOVA and DA together is used?

    • @tilestats
      @tilestats  3 года назад

      LDA or DA has no null hypothesis because it does not compute any p-value, in comparison to MANOVA. When you use LDA you can use some sort of validation method to check its performance. Have you seen my second video about LDA and the video about MANOVA?

  • @upanshisharma2313
    @upanshisharma2313 2 года назад

    hey can you tell me how you calculated 0.11 and 0.70?

  • @azizullah6360
    @azizullah6360 3 года назад

    how you computed alpha1 and alpha2?

    • @tilestats
      @tilestats  3 года назад

      That is explained from 14:40 and forward.

  • @sunitharamcse
    @sunitharamcse 3 года назад

    How you assign alpha1 and alpha2 value?

    • @tilestats
      @tilestats  3 года назад

      Do you mean how they are calculated? That is explained from 11:30.

  • @ig55549
    @ig55549 2 года назад +2

    Thanks! This video is so helpful! Coffee on me :)

  • @morecharacterswithamix9067
    @morecharacterswithamix9067 Год назад

    The visuals and the commentary are not in sync.

  • @azizullah6360
    @azizullah6360 3 года назад

    how to calculate covariance matrix of W?

    • @tilestats
      @tilestats  3 года назад

      Can you refer to the time point in the video?