StatQuest: PCA in Python

  Рет қаралды 208,644

StatQuest with Josh Starmer

StatQuest with Josh Starmer

Күн бұрын

Пікірлер: 410
@statquest
@statquest 3 жыл бұрын
Correction: 3:23 The array should only have wt through wt5, ko1 through ko5. Support StatQuest by buying my book The StatQuest Illustrated Guide to Machine Learning or a Study Guide or Merch!!! statquest.org/statquest-store/
@GoktugAsc123
@GoktugAsc123 3 жыл бұрын
Thank you, I was mentioning 3:23. Your videos are great. I am a medical doctor from Turkey and currently, I am planning a career change to data science and I have been watching your videos to get prepared for a data scientist position. Could you create a few videos regarding data science interviews if it is relevant for your channel content? Best Regards, Göktuğ Aşcı, MD.
@statquest
@statquest 3 жыл бұрын
@@GoktugAsc123 I'll keep that in mind.
@statquest
@statquest 3 жыл бұрын
@@keerthik3791 Unfortunately the random forest implementations for Python are really bad and they don't have all of the features. If you're going to use a random forest, I would highly recommend that you do it in R instead.
@keerthik2168
@keerthik2168 3 жыл бұрын
@@statquest Thankyou for the suggestion. I am good at Python, MATLAB. Can I do random forest in MATLAB? Or is learning R necessary here?
@statquest
@statquest 3 жыл бұрын
@@keerthik2168 I have no idea. I've never tried to do random forests in Matlab.
@pressiyamu8976
@pressiyamu8976 4 жыл бұрын
Dude you deserve a humanitarian award.
@statquest
@statquest 4 жыл бұрын
Thanks! :)
@joshuamcguire4832
@joshuamcguire4832 4 жыл бұрын
he is a good human in my eyes
@rezab314
@rezab314 3 жыл бұрын
@@joshuamcguire4832 bam!
@joshuamcguire4832
@joshuamcguire4832 3 жыл бұрын
@@rezab314 super bammm!!!
@mohammedghouse235
@mohammedghouse235 3 жыл бұрын
Not only the best PCA demonstration but also THE BEST introduction to Python. Hats off to you man!!
@statquest
@statquest 3 жыл бұрын
Thank you! :)
@LittleScience
@LittleScience 3 жыл бұрын
I have been dabbling in data science for a while now, and only now learned that pandas stand for "panel data" xd This channel never ceases to amaze
@statquest
@statquest 3 жыл бұрын
:)
@advaitshirvaikar4751
@advaitshirvaikar4751 4 жыл бұрын
Whenever I search for some machine learning based explanation, I add 'by statquest' in it ^_^. Keep up the great work :')
@statquest
@statquest 4 жыл бұрын
Thank you very much!
@shaktishivalingam3880
@shaktishivalingam3880 4 жыл бұрын
@@statquest It's True I do the same thing ..thank you for your hard work
@mattheckel2609
@mattheckel2609 4 жыл бұрын
"Note: We use samples as columns in this example because... but there is no requirement to do so." "Alternatively, we could have used..." "One last note about scaling with sklearn vs scale() in R" This is some of the gold that sets StatQuest apart. Thank you! ❤
@statquest
@statquest 4 жыл бұрын
Thank you! :)
@AniruddhModi-y2x
@AniruddhModi-y2x 16 күн бұрын
The fact that you said bam when the plot showed what we wanted really shows that even if you are a pro python programmer, you still feel happy when you code correct, relatableeee
@statquest
@statquest 16 күн бұрын
bam! :)
@hayskapoy
@hayskapoy 5 жыл бұрын
Finally! You explain in the language I understand much better than English haha Thanks !!!
@statquest
@statquest 5 жыл бұрын
:)
@superiorphi5778
@superiorphi5778 4 жыл бұрын
but you are watching a tutorial \(-_-)/
@tl-lay
@tl-lay 4 жыл бұрын
YOU ARE SAVING MY DEGREE I LOVE YOU SO MUCH I CANT EVEN BELIEVE THIS IS THE SAME MATERIAL IM LEARNING IN MY MACHINE LEARNING CLASS RIGHT NOW.
@statquest
@statquest 4 жыл бұрын
Happy to help!
@vedparulekar478
@vedparulekar478 Жыл бұрын
One of the best videos ever made on this topic. This channel has helped me a lot in understanding machine learning in greater detail. Keep up the good work !!
@statquest
@statquest Жыл бұрын
Thank you!
@jiayoongchong2606
@jiayoongchong2606 4 жыл бұрын
6:31 using scikit PCA 8:35 plotting scree plot 10:37 loading scores for each principal component
@statquest
@statquest 4 жыл бұрын
Thanks for the time point! I'll add those to the description to divide the video into chapters.
@x11y22z33me
@x11y22z33me 2 жыл бұрын
Simply loving StatQuest. Concise, clear and fun videos. One point I noted while watching this video is that the latest version of sklearn PCA() will center the data for you, but not scale it. So if you just need centering for doing pca, you don't need to worry about preprocessing.
@statquest
@statquest 2 жыл бұрын
Thanks for the update!
@BrunetteViking
@BrunetteViking 2 жыл бұрын
This channel is the best KZbin channel that I discovered. Thank you, sir!
@statquest
@statquest 2 жыл бұрын
Thanks!
@DATABOI
@DATABOI 7 жыл бұрын
Python. Now you're speaking my language :)
@HK-sw3vi
@HK-sw3vi 4 жыл бұрын
want me to take out my python?
@joicejoseph2176
@joicejoseph2176 4 жыл бұрын
@@HK-sw3vi ...weirdo
@spag5296
@spag5296 4 жыл бұрын
You've got the right formula for simple explanations. Teach me dawg
@statquest
@statquest 4 жыл бұрын
Thank you! :)
@reneeliu6676
@reneeliu6676 6 жыл бұрын
I am watching the 1st minute and I'm already super excited. Thanks!!
@statquest
@statquest 6 жыл бұрын
Hooray!!!!!! :)
@raphael3835
@raphael3835 6 жыл бұрын
The only good step by step explanation I found on the web. Thank you so much!
@statquest
@statquest 6 жыл бұрын
Hooray!!! Thank you so much! :)
@oswaldocastro9600
@oswaldocastro9600 6 жыл бұрын
Hi Josh... Simply incredible all StatQuest videos... Triple Bam!!!
@statquest
@statquest 6 жыл бұрын
Thank you! :)
@neptunesbounty1786
@neptunesbounty1786 4 жыл бұрын
I learn so much better in Python for some reason, I think it's because it's more interactive and you can play around with the data! Good one. Stattttquueeeeeest.
@statquest
@statquest 4 жыл бұрын
Thanks! There should be a lot more Python videos and learning material out soon.
@godsperson5571
@godsperson5571 3 жыл бұрын
@@statquest looking forward to it :).
@shanmugapriyak7269
@shanmugapriyak7269 4 жыл бұрын
Always can find a new and detailed explanation of steps from your videos! Thank you!
@statquest
@statquest 4 жыл бұрын
Thank you! :)
@samirsaci6723
@samirsaci6723 3 жыл бұрын
I push the like button even before I play the video. Because Josh never fails to amaze me.
@statquest
@statquest 3 жыл бұрын
bam!
@antomartanto
@antomartanto 3 жыл бұрын
You are one the best teacher that i've ever found. Thank you very much!
@statquest
@statquest 3 жыл бұрын
Thank you! :)
@LincolnFrias
@LincolnFrias 6 жыл бұрын
It's awesome to have the explanation based on python code. Thanks a lot!
@statquest
@statquest 6 жыл бұрын
No problem. I'm doing a lot more python coding these days, so hopefully I'll more of these "in python" videos.
@amribrahim7850
@amribrahim7850 3 жыл бұрын
Awesome. Please create more videos about how to implement the machine learning as well as data science concepts explained here into Python. That would be super helpful for us, in particular beginners.
@statquest
@statquest 3 жыл бұрын
Thanks, will do!
@christopheryogodzinski6860
@christopheryogodzinski6860 7 жыл бұрын
Another Great StatsQuest in the books!
@fvviz409
@fvviz409 4 жыл бұрын
MAKE MORE PYTHON CONTENT PLEASE I LOVE IT
@statquest
@statquest 4 жыл бұрын
I'm working on it. :)
@jack.1.
@jack.1. 3 жыл бұрын
Wish there were more statquest coding in python videos, they are the best! Much prefer to regular content although that is still really high quality
@statquest
@statquest 3 жыл бұрын
Noted.
@jiangxu3895
@jiangxu3895 3 жыл бұрын
Thank you Josh. Such practice is important and valuable!! And you really also taught some Python tricks that I don’t know.
@statquest
@statquest 3 жыл бұрын
Thank you! :)
@saiakhil4751
@saiakhil4751 3 жыл бұрын
Wow Josh.. Thanks for that unpacking concept. I never knew that my whole life...
@statquest
@statquest 3 жыл бұрын
You bet!
@nonalcoho
@nonalcoho 4 жыл бұрын
I like the way you plot the ratio of each PC~~ It is really easy to read! BAM~~~~~~~~~~
@statquest
@statquest 4 жыл бұрын
Thank you!
@RimaHandewi
@RimaHandewi 7 ай бұрын
Wow, your explanation is so clearly!!
@statquest
@statquest 7 ай бұрын
Thank you! 😃
@rohitrajora9832
@rohitrajora9832 3 жыл бұрын
Really appreciate this and would love to see more concepts implemented in python.
@statquest
@statquest 3 жыл бұрын
Thanks!
@KikiBah
@KikiBah 3 жыл бұрын
This was so clear, thanks! Finally I can do PCA in python, BAM 😊 You DA BEST!
@statquest
@statquest 3 жыл бұрын
Thanks!
@merrimac1
@merrimac1 5 жыл бұрын
Thanks for the tutorial! One thing I don't understand is why the PC1 can separate the wt and ko samples. Their gene expression values are generated in a same way.
@3stepsahead704
@3stepsahead704 2 жыл бұрын
Just stating I have the same question 2 years later.
@IntegralDeLinha
@IntegralDeLinha 2 жыл бұрын
Woww! That was absolutely awesome!!! Thank you so much!
@statquest
@statquest 2 жыл бұрын
Glad you liked it!
@danielcozetto421
@danielcozetto421 3 жыл бұрын
Hello Josh, Thank you for the amazing video! Quick question, at 9:18 how can I adapt "index=[*wt, *ko] for an excel input? Lets say that we have the same variables (Genes vs wt/ko) but in an excel file. How can I add these labels to the final plot (9:47)? Thank you again!!
@statquest
@statquest 3 жыл бұрын
I'm not sure I understand your question. You can export your data from excel and import it into python (or R or whatever). Or are you asking about something else?
@rabiabibi8634
@rabiabibi8634 5 жыл бұрын
Hi Josh. The best PCA explanation. Thanks a lot :-) May GOD bless you 😊
@statquest
@statquest 5 жыл бұрын
Thank you! :)
@pressiyamu8976
@pressiyamu8976 4 жыл бұрын
Yes, May god bless you 100 times. May the troubles of today’s world not reach your doorstep. You’re a great person.
@vipulsonawane7508
@vipulsonawane7508 2 жыл бұрын
What a playlist, I simply loved it 😘
@statquest
@statquest 2 жыл бұрын
Thank you!
@danielvmartins4635
@danielvmartins4635 Жыл бұрын
Excellent work!!! 👏👏
@statquest
@statquest Жыл бұрын
Thanks a lot!
@jeremylv3029
@jeremylv3029 3 жыл бұрын
Man, u r a gem. I will pay for the knowledge later after my graduation bro. lol
@statquest
@statquest 3 жыл бұрын
Wow! Thank you! :)
@timharris72
@timharris72 6 жыл бұрын
This was a reallly good explanation using Python
@henkhbit5748
@henkhbit5748 4 жыл бұрын
As always a great presentation and the python code just give the extra bite...
@statquest
@statquest 4 жыл бұрын
Thanks!
@KnightPapa
@KnightPapa 5 жыл бұрын
Thank you! This video helped a lot with what I'm trying to do.
@statquest
@statquest 5 жыл бұрын
Awesome!
@kannurajnathamuni9966
@kannurajnathamuni9966 2 ай бұрын
You are the best!!!! It would be great if you could make a video on speculative decoding using medusa and quantization of neural networks in general
@kannurajnathamuni9966
@kannurajnathamuni9966 2 ай бұрын
@statquest
@statquest
@statquest 2 ай бұрын
I'll keep that in mind! :)
@miskaknapek
@miskaknapek Ай бұрын
very much enjoy your explanation style. many thanks for the great videos!
@statquest
@statquest Ай бұрын
Thanks!
@miskaknapek
@miskaknapek Ай бұрын
@@statquest excellent going - really. difficult to know what's up and down in data science, and so i'm happy your videos cover subjects from mathematical concepts to code implementation. excellent spirit and explanations, again. (sorry about the superlative avalanche - in the vast ocean that's the net, it's difficult finding authoritative sources covering subjects well ) bests from Germany/Denmark ;)
@statquest
@statquest Ай бұрын
@@miskaknapek BAM! :)
@wuyanyun
@wuyanyun 5 жыл бұрын
Thank you! I’ve been struggling with this problem for so long !
@statquest
@statquest 5 жыл бұрын
Hooray! I'm glad the video was helpful. :)
@geraldopontes37
@geraldopontes37 3 жыл бұрын
Your videos are great! Thanks
@statquest
@statquest 3 жыл бұрын
Thanks!
@KomangWahyuTrisna
@KomangWahyuTrisna 4 жыл бұрын
i really like your clear explanation. please do some videos about deep learning and NLP.
@statquest
@statquest 4 жыл бұрын
I'm working on them.
@KomangWahyuTrisna
@KomangWahyuTrisna 4 жыл бұрын
@@statquest yeah! I am waiting for that
@olehsorokin7963
@olehsorokin7963 3 жыл бұрын
That's a cool one. The fact that observations are columns makes it so confusing though. I'm really used to the tidy data notation
@statquest
@statquest 3 жыл бұрын
Noted
@liranzaidman1610
@liranzaidman1610 4 жыл бұрын
Amazing! this is so important, thanks a lot.
@statquest
@statquest 4 жыл бұрын
Thanks! :)
@ccli
@ccli 2 жыл бұрын
generally, in ML, we use 'columns' as 'features(variables)' and ''rows' as 'examples', but in the video, it is inverse. but is is not a big deal.
@statquest
@statquest 2 жыл бұрын
It depends on the field you are in. I used to work in Genetics and this is the format they used. So it's always worth checking to make sure you have the data correctly oriented.
@angeloperera2022
@angeloperera2022 9 ай бұрын
Amazing video! I initially watched the video explaining PCA and i was mind-blown, thank you so much! I was hoping to ask if anyone on the comment section or even StatQuest if possible, would know how to implement PCA in a multivariate timeseries dataset and also "examine the loading scores" in such a dataset. Thanks in advance! :) P.S - extremely clueless on anything coding or ML, but Ive got to use PCA (and other dimensionality reduction methods) on my timeseries dataset. so would greatly appreciate any direction on how to proceed.
@statquest
@statquest 9 ай бұрын
See: stats.stackexchange.com/questions/158281/can-pca-be-applied-for-time-series-data
@tymothylim6550
@tymothylim6550 3 жыл бұрын
Thanks for the great video! :)
@statquest
@statquest 3 жыл бұрын
:)
@epsilonprincipia9012
@epsilonprincipia9012 5 жыл бұрын
Good explanation. Thank you so much.
@samiotmani9092
@samiotmani9092 10 ай бұрын
Incredible French accent “Poisson distribution” , I saw it three times 😆
@statquest
@statquest 10 ай бұрын
:)
@andresfelipehiguera785
@andresfelipehiguera785 4 жыл бұрын
Python ε> now we are talking!
@statquest
@statquest 4 жыл бұрын
:)
@kamogelomaila3904
@kamogelomaila3904 6 жыл бұрын
Hi Joshua, thanks for that. really helpful. i'm quite new to python myself, and i'm trying to compile a PCA across a range of macro-economic factors (inflation,gdp,fx, policy rate etc.,), now in all that you've done above where is the display of the PCA i.e: the newly uncorrelated data set, is it the loading scores you printed? or the wt, and ko variables you plotted? Thanks
@guohanzhao7813
@guohanzhao7813 6 жыл бұрын
COOOOOL, so easy to understand!
@damianwysokinski3285
@damianwysokinski3285 5 жыл бұрын
instead of scaled_data= preprocessing.scale(data.T) we can write scaled_data = preprocessing.scale(data, axis=1). Axis 1 -> mean 0 by columns, Axis 0 -> mean 0 by rows. For me it is more intuitive :)
@matthsant
@matthsant 5 жыл бұрын
Excelent tutorial!!
@statquest
@statquest 5 жыл бұрын
Thank you! :)
@karannchew2534
@karannchew2534 3 жыл бұрын
Queation please... 09:50 wt and ko samples are both created with the same random function Poisson (10, 1000). Why are wt samples (and ko samples) more correlated??
@statquest
@statquest 3 жыл бұрын
Because rd.randrange(10, 1000) returns a random number between 10 and 1000. Once we get that random value, we use it to generate 5 values for the wt samples using a poisson distribution. Then we select another random value between 10 and 1000 and use it to generate 5 values for the ko using a different (because the random value is different) poisson distribution.
@metvava
@metvava 9 ай бұрын
great video! thanks for these!!! have you done a redundancy analysis and dbRDA plot video? thank you for contributing to our education
@statquest
@statquest 9 ай бұрын
I haven't done that yet.
@metvava
@metvava 9 ай бұрын
@@statquest let us know if you ever do! It would be a double bam from me. It just clicks the way you explain! Thank you again for your content!!!
@zishanahmedshaikh
@zishanahmedshaikh 6 жыл бұрын
Hi Joshua, Great Videos!
@revolution77N
@revolution77N 6 жыл бұрын
Thank you very much! Super helpful!
@petersq5532
@petersq5532 5 жыл бұрын
to fill up the dataframe: df.iloc[:, :5] = df.iloc[:,:5].apply(lambda x: np.random... ..., axis = 1, result_type='broadcast') posh...:)
@superaluis
@superaluis 5 жыл бұрын
Thanks! I noticed his code just put the same values for every column. Your comment was a gem!
@khastehshodam
@khastehshodam 5 жыл бұрын
Hi Josh Thank you for the video. It was a great tutorial. Just one question. What you called in the python code as loading_score, isn't in fact component score? It was score for each record (gene). Please correct me if I am wrong but isn't loading score the correlation between original fields (wt1, wt2 ...etc) and components? Thank you
@advaitshirvaikar4751
@advaitshirvaikar4751 4 жыл бұрын
Hey Josh, how do I find out which feature in the original dataset is to be removed(the one that least affects the variance im assuming)? I know we use PCA for the same, but I just can't understand how we select the unimportant feature from the original dataset using PCA.
@statquest
@statquest 4 жыл бұрын
You can set a threshold for the loading scores. All features with loading scores below that threshold can be discarded.
@advaitshirvaikar4751
@advaitshirvaikar4751 4 жыл бұрын
@@statquest okay, thanks a lot!
@prakhars962
@prakhars962 2 жыл бұрын
this is so good
@statquest
@statquest 2 жыл бұрын
Thank you!
@saulmartinez7351
@saulmartinez7351 2 жыл бұрын
4:46 Why the gene4,ko1 has a value over 1000 if the command says "get a random value between 0 and 1000? Thanks for the value !!
@statquest
@statquest 2 жыл бұрын
We select a random number between 10 and 1000 to be the mean of a poisson distribution. That's just the average value, and there can be larger and smaller values.
@saulmartinez7351
@saulmartinez7351 2 жыл бұрын
@@statquest oh! i see!! thank you so much, I still learning about this
3 жыл бұрын
I don't know why in the PCA graph you plot the "features", in some other videos, they plot all the data point and visualize the data in the new subspace... And I don't know what are the meaning of the x-axis in the same plot, what does -10 mean in the PC1-89.9%? thanks
@statquest
@statquest 3 жыл бұрын
I don't plot the features, I plot the subjects. For details, see: kzbin.info/www/bejne/fJjEnI2ta7Bkh7M
@vasanthakumar1991
@vasanthakumar1991 6 жыл бұрын
BAM!!! I understood what u said. I show my gratitude. But I have a query. I am confused with my dataset regarding which to consider a row and which as columns My dataset is regarding Phase measurement units (PMU) used in electrical grid or sort of the distribution lines we see around. One single PMU measures 21 electrical parameters for a timestamp. We use around Four PMU each measuring the 21 parameters at different locations at the same time continuously over a period of time. How can I arrange the above data for Performing PCU sir?
@vasanthakumar1991
@vasanthakumar1991 6 жыл бұрын
Sir those two case you mentioned that PCU would work is what I am also interested in calculating apart from the combination of all of the PMUs time stamp. Can u mention how to arrange the data (Rows and columns) for both of the mentioned viable cases? Thanking you so much!!You are really awesome sir
@saiakhil4751
@saiakhil4751 3 жыл бұрын
Math learned statistics from Josh ;)
@statquest
@statquest 3 жыл бұрын
:)
@karannchew2534
@karannchew2534 3 жыл бұрын
Question please. This line trasforms the original data to a 10x10 array: pca_data = pca.transform(scaled_data) The video says: it generates the coordinates for PCA graph based on loading score and scaled data. Apart from the coordinates in graph, what do the values actually represent? How should I interpret them - Is it the amount of variance of sample values attributed to each PC? The distance of each sample on PC line to the origin? What is the unit?
@statquest
@statquest 3 жыл бұрын
The coordinates do not have units. And, as far as I know, they are just coordinates.
@statquest
@statquest 3 жыл бұрын
Oops!! I make a mistake a deleted your follow up comment. Sorry about that. However, my response is "Yes, the PCA graph is a graph that uses PCs as the axes."
@karannchew2534
@karannchew2534 3 жыл бұрын
@@statquest No problem. Thanks for confirming.
@ColeKillian
@ColeKillian 5 жыл бұрын
Amazing video thank you very much
@statquest
@statquest 5 жыл бұрын
Thanks! :)
@sarathkareti8993
@sarathkareti8993 3 жыл бұрын
This video is really awesome! I am just confused on one thing, what are your predictors and what is your target?
@statquest
@statquest 3 жыл бұрын
PCA does not have predictors and targets. All variables are just...variables. For more details about PCA, see: kzbin.info/www/bejne/fJjEnI2ta7Bkh7M
@3stepsahead704
@3stepsahead704 2 жыл бұрын
Very concise, I will surely be coming back to this video, however I would like to know why PCA is able to group these two categories (wt and ko), when it's shown they are generated from the same random method. If all indexes were generated at the same time, I would get it, but as they are generated index by index, I seem not to be able to grasp it.
@statquest
@statquest 2 жыл бұрын
The trick is at 3:48. For each group, wt and ko, we select a different parameter for the poisson distribution and generate 5 measurements from each of those two different distributions. One set is for wt and the other set is for ko.
@3stepsahead704
@3stepsahead704 2 жыл бұрын
@@statquest I think my confusion comes from the fact that these will make the two groups different from one another (all w's different from ko's), but I wouldn't predict them to be similar within the group (wt1 is close in vertical to wt2, and to wt3...,), thus I tend to believe PCA should tell them apart, but not in exactly two groups (wt's vs ko's), I would predict more like two clouds instead of two "vertical line of points" in the 2-D.
@statquest
@statquest 2 жыл бұрын
@@3stepsahead704 Remember how PCA actually works, it finds the axis that has the most variation (which is between WT and KO) and focuses on that. And then find the secondary differences (among the WT and KO). However, because the differences between WT and KO are big, the scale on the x-axis will be much bigger than the scale on the y-axis. Thus, the samples will appear to be in a vertical line rather than spaced apart like you might guess they should be. In short, check the scales of the axes, they will explain the difference between what you think you see and what you expect.
@3stepsahead704
@3stepsahead704 2 жыл бұрын
@@statquest Thank you very much for taking the time to explain this. I now get it!
@azrahasan3796
@azrahasan3796 3 жыл бұрын
Hi, You are a lifesaver. I am trying to do PCA analysis on my own data but since every demo video either use the databases and you created your own data. I am missing some crucial steps, especially in defining index when i am doing it with my data. Will it be too much to ask few more videos on machine learning where you use the excel sheet data from your laptop.
@azrahasan3796
@azrahasan3796 3 жыл бұрын
I am a newbie in data science and programming. I am a Molecular Biologist who would love to learn machine learning.
@statquest
@statquest 3 жыл бұрын
I'll keep that in mind for a future video.
@naviddavanikabir
@naviddavanikabir 4 жыл бұрын
fantastic, like always. I wonder how Poisson distribution caused each wt samples and ko samples to be correlated with each other?
@statquest
@statquest 4 жыл бұрын
Because we generated the data, I selected different lambda values for the wt from the ko samples.
@sayanbhattacharya3233
@sayanbhattacharya3233 4 жыл бұрын
Please post some intuitions on sparse deconvolution and compressive sensing..Would love to understand your approach..❤️
@donkkey245
@donkkey245 4 жыл бұрын
dear instructor, will you release a python version of your ml course. supper fan here!
@statquest
@statquest 4 жыл бұрын
One day I will.
@donkkey245
@donkkey245 4 жыл бұрын
@@statquest hope that day comes quick. stay well.
@dnuyc
@dnuyc 3 жыл бұрын
Great tutorial, sorry if my question may be ammature, but how did they differentiate WT and KO apart in the final PCA, I thought the data set was randomly generated?
@statquest
@statquest 3 жыл бұрын
Early on we gave the rows and columns names and kept track of them.
@innocenceesstt1
@innocenceesstt1 4 жыл бұрын
Thank you very much for this tutorial. Please can you explain how to get correlation matrix
@statquest
@statquest 4 жыл бұрын
With numpy, you use corrcoef().
@innocenceesstt1
@innocenceesstt1 4 жыл бұрын
@@statquest Thank you very much
@mramadan2009
@mramadan2009 4 жыл бұрын
Hi Josh Thank you for your efforts, really statquest is a magnificent channel , Could you please make video for Singular Value decomposition SVD. thanks
@Cat_Sterling
@Cat_Sterling Жыл бұрын
Thank you!!! When we are speaking about variation in PCA, is that the same as variance?
@statquest
@statquest Жыл бұрын
Yep.
@Cat_Sterling
@Cat_Sterling Жыл бұрын
@@statquest Thank you very much for the clarification! I googled it, and seems that it's two different things, but sometimes they can be used interchangeably or be the same thing.
@statquest
@statquest Жыл бұрын
@@Cat_Sterling Yes, I guess it depends on how you want to use them and whether you divide by 'n' or 'n-1', but, at least on a conceptual level, they are the same.
@Cat_Sterling
@Cat_Sterling Жыл бұрын
@@statquest Thank you so much again! Really appreciate your reply! Your channel helped me so much!!!
@neilanthony7596
@neilanthony7596 2 жыл бұрын
As PCA can be used to identify principal components which cluster a sample away from some clutter, can i then use these principal components as an input to a neural network to help better identify the sample? Or is this something which happens as matter of course in a neural network (ie the neural net doesnt need any help from PCA)? (i'm new to data science, and just discovering PCA, and where i can go now with all these amazing techniques, to help identify samples.)
@statquest
@statquest 2 жыл бұрын
PCA is often used to "denoise" data (by removing PCs that account for only a small amount of variation). before inputting it into all kinds of algorithms, neural networks included.
@neilanthony7596
@neilanthony7596 2 жыл бұрын
@@statquest Many thanks, i see now, PCA is a good tool to begin to investigate the usefulness, or otherwise, of metrics, before moving on to more sophisticated algorithms of data science. Your KZbin videos are about the best there are for an introduction into data science. Thanks, i look forward to move of your videos!
@weiqingwang1202
@weiqingwang1202 4 жыл бұрын
Is loading score eigenvalues? Wish to see a more linear algebra method of explaining pca!
@statquest
@statquest 4 жыл бұрын
For more details on how PCA works, see: kzbin.info/www/bejne/fJjEnI2ta7Bkh7M
@vaggeliskyrilas3525
@vaggeliskyrilas3525 4 жыл бұрын
Firstly, very good video. Secondly I am running the code in some spectra I have and I get good PCA plot but the loading scores seems to be wrong. Have you any idea why?
@statquest
@statquest 4 жыл бұрын
No idea.
@Андрюхаслазерки
@Андрюхаслазерки 3 жыл бұрын
It is great. sorry for my English. I want to see a video about lasso (l1-regularization).
@statquest
@statquest 3 жыл бұрын
Here's a video on Ridge regression: kzbin.info/www/bejne/h2mUg4VprrChaZI , lasso regression: kzbin.info/www/bejne/hHjJYamlibKfmdU and ridge vs lasso: kzbin.info/www/bejne/jp6VdJKdiaafbsU
@redcat7467
@redcat7467 4 жыл бұрын
I have listened to the song twice.
@statquest
@statquest 4 жыл бұрын
bam!
@richardlin6993
@richardlin6993 4 жыл бұрын
Looking forward to Kernel PCA in Python or explanation!
@neilanthony7596
@neilanthony7596 2 жыл бұрын
What is the optimum number of components in a PCA analysis? I can have have say 3 or 20, i just dont know the relative importance of each component, so i need to run an analysis. However, is there some maximum number of components, beyond which a code will crash, or take too long to run? Many thanks, N
@statquest
@statquest 2 жыл бұрын
I've done PCA with 1000's of components before.
@neilanthony7596
@neilanthony7596 2 жыл бұрын
@@statquest Hi Josh, thanks for your reply. OK so i guess you take as many components as you can, and the PCA then tells you the dimensionality of a reduced form of your data? Ie you might take 1000 components, only to be told that PCA can reduce the dimensionality to say 4, just for argument sake? You then continue your work with just these main components.
@statquest
@statquest 2 жыл бұрын
@@neilanthony7596 As shown in the video, you can look at the scree plot and see how many PCs account for most of the variation in the data. So, you might start out with 1000 dimensions, and see that you only need 4 PCs to account for 99% of the variation. So you can use those 4 PCs, and only those, to continue with your work.
@neilanthony7596
@neilanthony7596 2 жыл бұрын
thanks for the great videos, it's fantastic stuff!
@harryliu1005
@harryliu1005 3 жыл бұрын
Hi Josh!, this is a very excellent video that helped me a lot!!! I have a question, what if PC3 PC4 is also essential? Do I need to draw 2 2-D graphs, or what do I need to do?
@statquest
@statquest 3 жыл бұрын
If you want to draw the PCs and the data, then you'll have to draw multiple graphs. Or you can use the projections from the first 4 PCs and input to a dimension reduction algorithm like t-SNE: kzbin.info/www/bejne/hHbEhoaGab6YqK8
@alexisaddicted
@alexisaddicted 4 жыл бұрын
What about when you have +100 variables ? Plotting graph might not be a solution, and we perhaps would need to "guess"/test the amount of PCA's that we need beforehand, is there any systematic way to achieve that ? It is mostly like, just run a loop, each with increasing number of PCAs and just see which one yields better results ? (Spray and pray type of solution)
@statquest
@statquest 4 жыл бұрын
When you have more variables, you simply draw a scree plot to determine how many PCs to use in the graph. I describe this process starting at 8:27
@alexisaddicted
@alexisaddicted 4 жыл бұрын
@@statquest thank you for the response. I think that I might have previously misunderstood that part, but I get it now. Appreciate the clarification! 👍🏻
@statquest
@statquest 4 жыл бұрын
@@alexisaddicted If you want to learn more about the scree plot and what it means exactly, check out this video: kzbin.info/www/bejne/fJjEnI2ta7Bkh7M
@alexisaddicted
@alexisaddicted 4 жыл бұрын
@@statquest I had previously watched two of your videos about PCA, from 2015 and 2018 before watching this one :D . Can I ask you another question, that was not very clear for me ? For example, let's say that we are going to use two PCA's, is there a way for us to find out which variables these PCA's they represent ?
@statquest
@statquest 4 жыл бұрын
@@alexisaddicted Yes, you look at the loading scores. I talk about these at 10:19
@godsperson5571
@godsperson5571 3 жыл бұрын
Thanks for the "easy" to follow tutorial. I am trying to do a PCA for my RNAseq data but when I run scaled_tmp = StandardScaler().fit_transform(tmp.T) I get an error message: 'could not convert string to float: 'lcl|NC_000913.3_cds_NP_414542.1_1'. The lcl... is my target gene ID and I cannot edit it since i will need it later on to identify speficific genes. Please how do I solve this error message?
@statquest
@statquest 3 жыл бұрын
It looks like one of the columns in your matrix is some sort of identifier instead of sequencing data. In the video, when we create the data, we move identifiers to be row names or column names (see: 3:17). Other than the row and column names, the matrix that we do math on can only contain numbers because... how do we do math with identifiers?
@godsperson5571
@godsperson5571 3 жыл бұрын
@@statquest Thanks I was able to rectify the issue. I did not indicate "my gene_id" column as my index when loading data. After setting the index column it now works well.
@statquest
@statquest 3 жыл бұрын
@@godsperson5571 Hooray!
@trustmebaz
@trustmebaz 6 жыл бұрын
Thank you Joshua for this wonderful explaination. Thanks a lot. I am using your code for generating a scree plot in the same way and I obtain this error: bar() missing 1 required positional argument: 'left'
@trustmebaz
@trustmebaz 6 жыл бұрын
Yes, I was using the original code given. I am using Python3, could that be the issue?
@fmetaller
@fmetaller 6 жыл бұрын
First I want to thank you for all the awesome videos on PCA. I wanted to experiment with the demo code you published but I'm having problems in the data generation. The asterisk method used to stack wt and ko series is not working.
@statquest
@statquest 6 жыл бұрын
Which version of Python are you using? The code was written for Python 3 and I'm not sure the asterisk method works in Python 2.x.
@fmetaller
@fmetaller 6 жыл бұрын
Oh, you are right, I was accidentally using Python 2. Now it works well in Python 3
@statquest
@statquest 6 жыл бұрын
Hooray! I'm glad you got it working :)
@vannanuon6077
@vannanuon6077 6 жыл бұрын
Hi Joshua, Thank a lot for a clear explanation and you walk me well each step. I have one question relating to PCA of Scikitlearn. Actually, you have said in your clip, but would like to ask to get a bit clearer. When using PCA of Scikitlearn, we must do train and test, is it right? The one in your clip is just part of it, right? I ask this because the result that I do following your step is different with the result from other programmes (CANOCO). Many thanks and look forward to hearing from you soon.
@vannanuon6077
@vannanuon6077 6 жыл бұрын
Thank a lot Joshua for your clear explanation. I hope and wish to see your new clip relating Train and Test PCA.
@vannanuon6077
@vannanuon6077 6 жыл бұрын
I appologise for one more question. I use your script in your Video to run with the data from the link here ("archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data"). It was run well except the last step (chart). It shows error as the following. do you know what happen with data or the script? TypeError: cannot convert the series to Thank and sorry again for another question.
@vannanuon6077
@vannanuon6077 6 жыл бұрын
Thank a lot Joshua for the link. It is really useful.
@MainakDev
@MainakDev 10 ай бұрын
at 5:10 why do we scale our data?
@statquest
@statquest 10 ай бұрын
I explain why we scale the data in this video: kzbin.info/www/bejne/pYPZmKRva5uskMk
@gbchrs
@gbchrs 3 жыл бұрын
is centering included in sklearn's pca model and that's why there is no extra step to center?
@statquest
@statquest 3 жыл бұрын
I believe so.
@jiayiwu4101
@jiayiwu4101 3 жыл бұрын
What is the point to look at loading scores at the final step? My understanding is as follows. Each gene is a sample. If their loading scores on PC1 are similar, it means a lot of samples are projecting around a similar position on PC1. So they are clustering apparently. Am I right?
@statquest
@statquest 3 жыл бұрын
In this case, loading scores tell us which genes have the most influence on the PCs. This can tell us which genes have the most variation and are the most useful for determining why the cells cluster the way the do. For more details, see: kzbin.info/www/bejne/fJjEnI2ta7Bkh7M
@jiayiwu4101
@jiayiwu4101 3 жыл бұрын
@@statquest Thank you! Just found you replied to my response very fast! Wish I knew how to look at those notifications earlier!
RPKM, FPKM and TPM, Clearly Explained!!!
10:14
StatQuest with Josh Starmer
Рет қаралды 212 М.
PCA Analysis in Python Explained (Scikit - Learn)
16:11
Ryan & Matt Data Science
Рет қаралды 6 М.
Quilt Challenge, No Skills, Just Luck#Funnyfamily #Partygames #Funny
00:32
Family Games Media
Рет қаралды 54 МЛН
So Cute 🥰 who is better?
00:15
dednahype
Рет қаралды 18 МЛН
StatQuest: Principal Component Analysis (PCA), Step-by-Step
21:58
StatQuest with Josh Starmer
Рет қаралды 3 МЛН
StatQuest: Linear Discriminant Analysis (LDA) clearly explained.
15:12
StatQuest with Josh Starmer
Рет қаралды 786 М.
Image Compression Using PCA in Python
18:33
NeuralNine
Рет қаралды 16 М.
Principal Component Analysis (PCA) clearly explained (2015)
20:16
StatQuest with Josh Starmer
Рет қаралды 1 МЛН
Data Analysis 6: Principal Component Analysis (PCA) - Computerphile
20:09
Principal Component Analysis (PCA)
26:34
Serrano.Academy
Рет қаралды 417 М.
Principal Component Analysis (PCA) - easy and practical explanation
10:56
Quilt Challenge, No Skills, Just Luck#Funnyfamily #Partygames #Funny
00:32
Family Games Media
Рет қаралды 54 МЛН