@codebasics Hello Sir, Regarding the encoding approach (label encoding) used in the video, I read on the sklearn documentation that it should be used only on the target variable (output "y") and not the input feature ("x"). The documentation stated that for input feature one should use either onehotencoder, ordinalencoder, or dummy variable encoding. Also, I was expecting that you use onehotencoder(OHE) since the input features (company, job and degree) are nominal and not ordinal variables. Is it best practice to use OHE for nominal variables or it just doesn't matter? Please could you clarify for me??? Thank you.
Actually this man has made learning Machine Learning easy for everyone whereas if you will see other channels they show big mathematical equations and formulas..which makes beginners uncomfortable in learning ML. But thanks to this channel.♥️🥰
Step by step roadmap to learn data science in 6 months: ruclips.net/video/H4YcqULY1-Q/видео.html Exercise solution: github.com/codebasics/py/blob/master/ML/9_decision_tree/Exercise/9_decision_tree_exercise.ipynb Complete machine learning tutorial playlist: ruclips.net/video/gmvvaobm7eQ/видео.html 5 FREE data science projects for your resume with code: ruclips.net/video/957fQCm5aDo/видео.html
Great Explanation Sir, Thanks a lot for your efforts and help. I got 97.76% accuracy. I did not map male and female to 1, 2 instead used as it is. Is it necessary to do that ? is there any significance of it?
Exercise results ::::: Accuracy : 0.8229665071770335 Actually I your csv file as training and for test data used test.csv provided on Kaggle >> which increase my training data(which would have been less if I had split my data) >> Increased Accuracy(As we have more data to train) >> Reduce chances of overfitting if i had used same data for both training and testing... Thank you.. for great video
Hi sir, I am a 10th grade student and I am learning ML and in the exercise My model got 81% accuracy😀 sir. Will Make many models while learning and share with you. Thanks for the tutorials sir.
It is ok to learn ML but make sure you find time for outdoor activities, sports and some fun things. The childhood will never come back and do not waste it in search of some shiny career. If you are so much concerned, I would advice focusing on math and statistics at this stage and worry about ML later.
@@codebasicsAbsolutely correct, it’s great to learn new things. But learning all these is not your right age. Make more and more memories in childhood. I am 23 and trust me life is very painful…
Excellent Tutorial. In Exercise I used three different method to fill Age 1- Backward, Forward, Median of Age 2- Median of Female_Survive to fill Female_Survive_Age and Median of Male_Survive to fill Male_Survive_Age and same for Not survive. 3- Interpolate Method. Using train_test_split of 0.3 test size. I get max of 82% accuracy and I also change gini to entropy for each approach
My model got a score of 98.6%. I dropped all the Age Na values which reduced the sample size from 812 to 714. I label-encoded the Sex column and then used a test size of 0.2 with the remainder of 0.8 as the training size. I am all smiles. Thanks @codebasics
In In (8) you use the "le_company" LaberEncoder object 3 times and never use the 'le_job" and 'le_degree' objects. It still works, so my guess would be that you'll only need one LabelEncoder object to do the job.
label encoder basically converts the categorical to numerical, since job and degree are categorical you still need them to be LabelEncoded. and he used them see carefully using fit_transform().
well here it worked as Sir used fit_transform but if he had splitted the data into test and train sets , then he would have used transform on remaining test set and for that different instances would be required for each coloumn.
@@jayrathod2172yes I was about to say that, and also possible if you have change the random state multiple times and your model has seen all your data, and is now overfitted
@@elvenkim why you are removing the missing value whether it is possible to fill with whether mean or median it depends upon the outlier present in the column age
This is by far the most straight forward and amazing video on decision trees I have come across! Keep making more videos Sir! I am totally hooked to your channel :) :)
Thanks for the awesome tutorial.... Dropped all na values in Age column which reduced the sample size from 812 to 714 and ran the model couple times, the best accuracy I got was 83.21%
Incredible video! Thank you for sharing your knowledge. Scored a 83.15%. I changed the hyperparameter "criterion" to entropy instead of gini and was consistently performing better. Looking forward to seeing how changing other hyperparameters effects accuracy.
Your videos are absolutely awesome.... Those who wants a career transition in DS basically they use to spend more then 3k us dollars to do their certification and what they ultimately get is a diploma or a degree certification on Data Science not what exactly happening in data science, but when a scholar like you train us we come to know what's happening in it.
Hello sir, I received an accuracy of 97.97% for the given exercise. Thank you for the wonderful tutorials, all of them are very helpful and I am performing all exercises that you give at the end of the video.
Thank for these awesome videos. I have been learning a lot through your ML tutorials. I replaced the missing values in the 'Age' column with the median. My test set was 20% and my accuracy on test data was 99.44%.
This is unbelieveable. I saw someone used Random forecast, SVM, Gradient Boosting etc. The best score on testing data is 84%. With simple Decsion Tree, best score would be around 82%, i think.
Thanks for this video. I have used train and test csv files of titanic. Cleaned both datasets and implemented Decision Tree Classifier and got a test score of 0.74 ❤️
Thank you so much codebasics I have some questions: Why use label encoding for nominal categorical values such as company and job Degree is the only Ordinal categorical value that requires Label encoding Why instantiate the class for job and degree and use the one for company to fit and transform all the columns
Amazing Video! But I have some doubts please help me here: 1. We made three Label encoder instances here. Cant we use just one to encode all three? 2. We Use label encoding and not OneHoteEncoding, however, the latter made more sense as our model might assume that our variables have some order/ precedence It would be great if you clarify my doubts. Thanks!
It is necessary to understand the underlying logic of the algorithm. In regression, the algorithm tries to fit to a line, curve (or higher dimensional object in SVM), so, what the relative value (order, or where it is on the axis) is matters. In decision tree, the algorithm is just asking Yes/No questions, such as Is the company Facebook?, Does the employee have only a bachelors degree?, etc, so the order is not significant. Therefore, a the Label encoder is valid for decision tree. While it could have been possible to lump the label encoders into one, say by using a power of 10 to distinguish them, it would have given too much weight to the highest power of 10 (the algorithm understands numbers, so it is going to ask >/< /= questions), but the whole point of using decision tree was for *the algorithm* to find the precedence of features that will give the quickest prediction. Therefore it is better to have more features (i.e. more Label encoders). Then, if more features is better, one could re-ask the question of why not one-hot encoding, that would give even more encoders. Now, the issue is the tradeoff of accuracy vs conciseness. Here, there were only 3 companies, but there could be a case where a problem was examining over 100 companies. Having a one-hot encoder for all the companies would get quite cumbersome.
@@codebasics But then doesn't the model give a higher priority(value) to Facebook than to google on the basis of the number assigned in Label Encoding ...just confused here.
really appreciate your work. learning a lot... just want to confirm something from the tutorial @7:40 you are using fit_transform with le_company object for all the other columns and did not use le_job object and le_degree object. is it ok? or should we do it? Thank you very much again.
Hey, honestly I am not aware of any good resource for this. Kaggle.com is there but it is for competition and little more advanced level. Try googling it. Sorry.
Great Tutorials keep going but I have a doubt why haven't you used onehotencoder for company here as it is nominal variable? and please make a tutorial on what exactly these parameters are and on random forests
true, one hot encoding is better than labelEncoder as assigning categories would results in errors in prediction if that feature is chosen, because higher category is considered better over the others. so in this case if google =0 and Fb =1 , then FB>Google.
i have only started to learn about data science using python and i have a question: Why use labelencoder rather than getting dummy variables for the categorical variables? Is it more efficient using labelencoder?
Do you have any thing related to sentiment analysis/Text mining/Text analysis? please have a tutorial for the text analytics as the other videos are so good I also request you to create chats for AUC and also create a model evaluation according to CRISP DM model
thank you for such amazing, well detailed and easy to understand tutorial(s) ! im following your channel exclusively for learning ML, along with kaggle competitions. also recommending your channel to my peers. great work..! PS - i got 75.8% as the score of my model in for the exercise. any tips to improve the score?
re execute the test train split function as it generates rows randomly. Then Again fit the model and execute. Continue this for 4-5 time until u get somewhere around 95% accuracy. So this set of data is the most accurate for training the model.
In one hot encoding turorial you mentioned its better cos then we dont have encoding which has relation to each other. Please clarify. These videos are teaching me a lot.
Sir, In the Exercise you perform map on sex column and I did it using LabelEncoder. I liked when you give us a difference approach to perform a same task .and one more question Sir, instead of mean why cant we use mode on age column ........btw My score is 79%
Maybe here is the answer: "Still there are algorithms like decision trees and random forests that can work with categorical variables just fine". datascience.stackexchange.com/questions/9443/when-to-use-one-hot-encoding-vs-labelencoder-vs-dictvectorizor
thank you for this ML playlist....your way of teaching is the best anybody can understand if they watch videos in sequence my model score is 1 i replace all the NaN values in age by mean value of age by Pclass
you didn't split the dataset into training and test and maybe that's why its 1 coz your test is same as train model. split the dataset and check the score
Thanks so much for these tutorials! These are the best tutorials I've found so far. The code shared by you for examples and exercises are very helpful. I got score 76% for the exercise. How is it possible to get a different score for the same model and the same data? The steps followed are the same too.
In train_test_split it will generate different samples Everytime so even when you run your code multiple times it will give different score. Specify random_state in train_test_spkit method, let's say 10, after that when you run your code you get same score. This is because now your train and test samples are same between different runs.
My model got a score of 78%. I imputed the Age Na values and then label-encoded the Sex column , used a test size of 0.2 with the remainder of 0.8 as the training size. criterion = log_loss, splitter = 'random'
Increasing score is an art as well as science. If your question is specific to only decision tree then try fine tunning model parameters such as criterian, tree depth etc. You can also try some feature engineering and see if it helps.
I tried the exercise, filled the Age gaps with median and included that column in the data frame. Then trained my model and score cam upto 0.97979 or 97.97%
Hi Sir, I got the score model.score(df_n,target) Out[247]: 0.8799102132435466 model.predict([[2,1,29]]) Out[251]: array([0], dtype=int64) model.predict([[0,0,52]]) Out[252]: array([1], dtype=int64) Thanks for the wonderful videos..
Thank you, sir, the exercise that you gave at the end of your lectures help us to experiment and get an in-depth knowledge of the algorithm. accuracy achieved =0.87
@@jaihind5092 how did you acheibe a score of 97.7 % ? i only achevied 82 :( even after removing all NAN values from age and conveting age n fare to int my score went from 74 to 80 to finally flattened at 82 ! help me improve .
how did you acheibe a score of 87 % ? i only achevied 82 :( even after removing all NAN values from age and conveting age n fare to int my score went from 74 to 80 to finally flattened at 82 ! help me improve . thanks
how did you acheibe a score of 97.75 % ? i only achevied 82 :( even after removing all NAN values from age and conveting age n fare to int my score went from 74 to 80 to finally flattened at 82 ! help me improve . Thanks
@@HarshalDev hi. i put my Jupyter notebook on GitHub on link below. check it out and if you had any questions i'd be happy to help ;) github.com/uncleamir/Decision-tree-code-basics-solution
Amazin video, thank you so much! I have a question.. In the dummy variable video, you had mentioned that we should always make sure when we do the One Hot Encoding, we should create different columns. ie. if Monroe township = 1, Robbinville = 2 and West Windosor = 3.. and so we want to avoid confusing the model which may assume Monroe township < Robbinville < West Windosor.. But in this video, you're assigning company names Google = 0, ABC Pharma = 1 and Facebook = 2. Is it the right thing to do?
Decision tree is one of those algorithms where label encoding works ok in some cases like ours and you can save some memory space by not using OHE. Check this for some insights: datascience.stackexchange.com/questions/9443/when-to-use-one-hot-encoding-vs-labelencoder-vs-dictvectorizor Having said that since a number of categories are small we can use OHE as there is no concern with sparsity. If I have to re-record this session, I'd probably use OHE.
With LogisticRegression, I got 78.9% and discovered that when sex was ==1, the model reads wrongly. I also used train_test_split with an accuracy of 79.3% (training size=0.3) and similar problems with logistic regression. Using the Decision tree, I got a score of about 92% and the prediction was superb.
Your videos are quite simple and very understandable. It is very useful for a beginner. I am requesting you please make some videos about SQL and SAS. That will be very helpful for us thanks.
Check out our premium machine learning course with 2 Industry projects: codebasics.io/courses/machine-learning-for-data-science-beginners-to-advanced
it is better for us if you please provide that slides sir can you please send slides also sir
Cool
Hi Dhaval sir, please note I tried to register in Python course. But the link is not working on the site
@codebasics
Hello Sir, Regarding the encoding approach (label encoding) used in the video, I read on the sklearn documentation that it should be used only on the target variable (output "y") and not the input feature ("x"). The documentation stated that for input feature one should use either onehotencoder, ordinalencoder, or dummy variable encoding.
Also, I was expecting that you use onehotencoder(OHE) since the input features (company, job and degree) are nominal and not ordinal variables. Is it best practice to use OHE for nominal variables or it just doesn't matter?
Please could you clarify for me???
Thank you.
Actually this man has made learning Machine Learning easy for everyone whereas if you will see other channels they show big mathematical equations and formulas..which makes beginners uncomfortable in learning ML.
But thanks to this channel.♥️🥰
very True. Complex concept explained in very understanding way. Hats off really
Step by step roadmap to learn data science in 6 months: ruclips.net/video/H4YcqULY1-Q/видео.html
Exercise solution: github.com/codebasics/py/blob/master/ML/9_decision_tree/Exercise/9_decision_tree_exercise.ipynb
Complete machine learning tutorial playlist: ruclips.net/video/gmvvaobm7eQ/видео.html
5 FREE data science projects for your resume with code: ruclips.net/video/957fQCm5aDo/видео.html
97.97% accurate
@@bestineouya5716 i also got the same accuracy
Great Explanation Sir, Thanks a lot for your efforts and help. I got 97.76% accuracy. I did not map male and female to 1, 2 instead used as it is. Is it necessary to do that ? is there any significance of it?
Exercise results ::::: Accuracy : 0.8229665071770335
Actually I your csv file as training and for test data used test.csv provided on Kaggle
>> which increase my training data(which would have been less if I had split my data)
>> Increased Accuracy(As we have more data to train)
>> Reduce chances of overfitting if i had used same data for both training and testing...
Thank you.. for great video
0.98
Hi sir, I am a 10th grade student and I am learning ML and in the exercise My model got 81% accuracy😀 sir. Will Make many models while learning and share with you. Thanks for the tutorials sir.
It is ok to learn ML but make sure you find time for outdoor activities, sports and some fun things. The childhood will never come back and do not waste it in search of some shiny career. If you are so much concerned, I would advice focusing on math and statistics at this stage and worry about ML later.
@@codebasics ok sir. Thanks for guidance!
Hi bro now what doing....
How to fill empty value on age feature
@@codebasicsAbsolutely correct, it’s great to learn new things. But learning all these is not your right age. Make more and more memories in childhood. I am 23 and trust me life is very painful…
Excellent Tutorial. In Exercise I used three different method to fill Age
1- Backward, Forward, Median of Age
2- Median of Female_Survive to fill Female_Survive_Age and Median of Male_Survive to fill Male_Survive_Age and same for Not survive.
3- Interpolate Method.
Using train_test_split of 0.3 test size. I get max of 82% accuracy and I also change gini to entropy for each approach
My model got a score of 98.6%. I dropped all the Age Na values which reduced the sample size from 812 to 714. I label-encoded the Sex column and then used a test size of 0.2 with the remainder of 0.8 as the training size. I am all smiles. Thanks @codebasics
i did the same thing and got 82% accuracy only. why is it?
@@fairoossahfeerulwasihf1139 the difference may be ```random_state``` of `train_test_split`
For those wondering what 'information gain' is, it is just the measure of decrease of entropy after the dataset is split.
Got an accuracy of 78.92
Thanks for the Lovely tutorial !
In In (8) you use the "le_company" LaberEncoder object 3 times and never use the 'le_job" and 'le_degree' objects. It still works, so my guess would be that you'll only need one LabelEncoder object to do the job.
label encoder basically converts the categorical to numerical, since job and degree are categorical you still need them to be LabelEncoded. and he used them see carefully using fit_transform().
@@rajubhatt2 he encoded them using company object Only though
well here it worked as Sir used fit_transform but if he had splitted the data into test and train sets , then he would have used transform on remaining test set and for that different instances would be required for each coloumn.
when i use only one object then my first 2 rows are drop from dataset ,why??
I got 98.4 % in titanic data set . Thank you Sir , you are the best.
Oh wow, good job arnab 👍😊
I don't want to hurt your fillings but 98.4% is only possible if you are checking model score on train data instead of test data.
true@@jayrathod2172
@@jayrathod2172yes I was about to say that, and also possible if you have change the random state multiple times and your model has seen all your data, and is now overfitted
how the fuckkkkk
Got an accuracy of 97.20%
Dropped all rows whose values were missing.
Thank you, Dhaval sir..
Kuldeep, that is indeed a nice score. good job buddy.
Mine is 98.459%. Likewise I removed all missing data for Age.
@@elvenkim why you are removing the missing value whether it is possible to fill with whether mean or median it depends upon the outlier present in the column age
This is by far the most straight forward and amazing video on decision trees I have come across! Keep making more videos Sir! I am totally hooked to your channel :) :)
Thanks kartikeya for your valuable feedback. 👍
Thanks for this tutorial mate, it is the best straight forward DTC tutorial.
Using entropy i got an 81% accuracy and,
using gini i have a 78% accuracy
That’s the way to go Larry, good job working on that exercise
Thanks for the awesome tutorial....
Dropped all na values in Age column which reduced the sample size from 812 to 714 and ran the model couple times, the best accuracy I got was 83.21%
got 97.4% accuracy filled the empty blocks in age with mean.
thanks a lot for perfect tutorial
How to calculate accuracy for the above dataset mentioned in the video
thanks it helped me increase my accuracy
@@nitinmalusare6763 model.score
Thanks for the video. My model got an accuracy of 83.5%. Glad to be this far with the data science roadmap. Continue with good work sir.
Incredible video! Thank you for sharing your knowledge. Scored a 83.15%. I changed the hyperparameter "criterion" to entropy instead of gini and was consistently performing better. Looking forward to seeing how changing other hyperparameters effects accuracy.
That’s the way to go niko, good job working on that exercise
Thank you so much for the tutorial. Im doing all the exercise.I got an accuracy of 81% on titanic dataset
Sujan that a decent score. Good job 👍👏
Thanks for helping me get my homework done, by God it was a mistake to wait till the last day
oh i couldn't agree more
Played with the test_size a bit and I managed to push out a score of 87% max.Appriciate the tutorial lot!
Your videos are absolutely awesome.... Those who wants a career transition in DS basically they use to spend more then 3k us dollars to do their certification and what they ultimately get is a diploma or a degree certification on Data Science not what exactly happening in data science, but when a scholar like you train us we come to know what's happening in it.
K Prabhu, thanks for your kind words of appreciation.
Hello sir, I received an accuracy of 97.97% for the given exercise. Thank you for the wonderful tutorials, all of them are very helpful and I am performing all exercises that you give at the end of the video.
Thank for these awesome videos. I have been learning a lot through your ML tutorials.
I replaced the missing values in the 'Age' column with the median. My test set was 20% and my accuracy on test data was 99.44%.
how? can u share the solution?
There is high chance that the model is overfitted, it is not generalized
Nd chances are that ur model has already seen your test data, better rerun from the first cell once and check...
Got accuracy as 76.22 %. Tried by tweaking train data & test data but no significant difference. Thank you very much for simple & clear explanation.
How to fill empty value on age feature
I got 74.4% accuracy. it is good to do everything by my own....
That’s the way to go anujack, good job working on that exercise
Simple explanation thank you! The excercise you have given got score of 98.18%... And it's predicting pretty well 👍 Thank you once again
Best_params_ plz
This is unbelieveable. I saw someone used Random forecast, SVM, Gradient Boosting etc. The best score on testing data is 84%. With simple Decsion Tree, best score would be around 82%, i think.
*for x in features.columns:*
*features[x] = le.fit_transform(features[x])*
How to write the predicted values into a csv file
For eg: model.predict(test_data), I want the output array in a csv file submission.csv
Thanks for this video. I have used train and test csv files of titanic. Cleaned both datasets and implemented Decision Tree Classifier and got a test score of 0.74 ❤️
That’s the way to go anil, good job working on that exercise
Hurray! Sir i got an accuracy of 97.38% by using interpolate method for Age column.😍✨
Did u use train_test_split method
Good job Prudhvi, that’s a pretty good score. Thanks for working on the exercise
It was easy.. i got 98.3%
can you walk me through what extra did u do for 97 score .. normally im getting 82 . i found right random state..
Best description of Information gain, your explanation is really the only resource that explains the intuition well
Exercise result for the titanic dataset: Score: 0.77 (using Decision Tree Classifier)
DUDE CAN U PLS SHARE ME THE CODE.... IM GETTING ACCURACY 1.0
@@cyberversary262 you are giving entire dataset to get trained ,
Better try with test_size != 1 (use 0.3-0.2 ) to get better results
@@prakashdolby2031 dude I have asked this question 3 months ago 😂😂😂
I got a 97.9% score, I replaced the NaN values in Age by the mean Age!
Thank you for these great tutorials^^
Good job Moustapha, that’s a pretty good score. Thanks for working on the exercise
i also did the same but i got only 81% accuracy.
i think you tested your score on training data set
@@zainsattar7364 You get a higher score if you don't split your dataset into train and test.
There are some NaN values in the Age column. I filled them through padding. Also, I spit my data for testing and at the end I got the accuracy of 0.8.
Use fillna with median and accuracy will be 0.9777 by normal method
@@piyushtale0001 i have used median() for Pclass, Age and Fare but got score = 78 around. How to improve?
i start to learn about machine learning and your video help me so much to make understanding
Score is 97.75% for exercise dataset. Filled the null values in Age column with median value
I did the same thing, but i still get accuracy around 79%. Any suggestions?
@@RohithS-ig4hlHey, I got 80% percent accuracy. I got also low accuracy like your.
I just increased the training ka dataset to 90% and score increased to 81%.
Awesome tutorial
That’s the way to go raj, good job working on that exercise
Thank you so much sir, I really appreciate your tutorial, I learnt a lot
Krijancool, thanks for the comment. By the way your name is really cool 😎
Thank you so much codebasics
I have some questions:
Why use label encoding for nominal categorical values such as company and job
Degree is the only Ordinal categorical value that requires Label encoding
Why instantiate the class for job and degree and use the one for company to fit and transform all the columns
Will never get tired to say thank you at every video I watched but honestly, you're the best! :) Keep posting great videos
I am happy this was helpful to you.
Thank you sir. I got 83.3% accuracy on the titanic exercise and used train_test_split.
👍😊
please to did you remove the NaN values because i used median
Amazing Video! But I have some doubts please help me here:
1. We made three Label encoder instances here. Cant we use just one to encode all three?
2. We Use label encoding and not OneHoteEncoding, however, the latter made more sense as our model might assume that our variables have some order/ precedence
It would be great if you clarify my doubts. Thanks!
It is necessary to understand the underlying logic of the algorithm. In regression, the algorithm tries to fit to a line, curve (or higher dimensional object in SVM), so, what the relative value (order, or where it is on the axis) is matters. In decision tree, the algorithm is just asking Yes/No questions, such as Is the company Facebook?, Does the employee have only a bachelors degree?, etc, so the order is not significant. Therefore, a the Label encoder is valid for decision tree.
While it could have been possible to lump the label encoders into one, say by using a power of 10 to distinguish them, it would have given too much weight to the highest power of 10 (the algorithm understands numbers, so it is going to ask >/< /= questions), but the whole point of using decision tree was for *the algorithm* to find the precedence of features that will give the quickest prediction. Therefore it is better to have more features (i.e. more Label encoders).
Then, if more features is better, one could re-ask the question of why not one-hot encoding, that would give even more encoders. Now, the issue is the tradeoff of accuracy vs conciseness. Here, there were only 3 companies, but there could be a case where a problem was examining over 100 companies. Having a one-hot encoder for all the companies would get quite cumbersome.
Hi! Thank you for this playlist
Hi Sir, Thanks for the great video.
I've a question, why didn't we use one hot encoding here for our categorical variables?
We can but for decision tree it doesn't make much difference that's why I didn't use it
@@codebasics Ohh, OK Sir. Thank you
@@codebasics But then doesn't the model give a higher priority(value) to Facebook than to google on the basis of the number assigned in Label Encoding ...just confused here.
97.88% score. you are thoughtful and great teacher
Perfect Mai. Thanks for working on exercise.
really appreciate your work. learning a lot... just want to confirm something from the tutorial @7:40 you are using fit_transform with le_company object for all the other columns and did not use le_job object and le_degree object. is it ok? or should we do it? Thank you very much again.
That's just the variable name you can use that way too..
thanks a lot sir i just learnt so many things without getting bored(usually we don't get to do hands on for these topic), this was super helpful
Your VIdeos are always Awesome!
Can u suggest me some websites where I can find Questions like those in ur Excercises and all?
Hey, honestly I am not aware of any good resource for this. Kaggle.com is there but it is for competition and little more advanced level. Try googling it. Sorry.
My model accuracy is 79.32
Thanks for the nice data science series🙏
Great Tutorials keep going but I have a doubt why haven't you used onehotencoder for company here as it is nominal variable? and please make a tutorial on what exactly these parameters are and on random forests
true, one hot encoding is better than labelEncoder as assigning categories would results in errors in prediction if that feature is chosen, because higher category is considered better over the others. so in this case if google =0 and Fb =1 , then FB>Google.
@@Bobette_2409 Thank you for the clarification, actually i was trying it with OneHotEncoder and resulted in mis-prediction.
Sir Accuracy for exercise given=98,20 percent. Thanks one again for great video
Great that's an excellent score Piyush. Good job :)
@@codebasics thanks sir . your ML series is grt source to learn. i do all your exercise
Thank you so much for making it very simple. As an ML learner, will do we need to understand the code behind each of these sklearn functions ?
Not necessary. If you know the math and internal details then it can help if you want to write you own customised ML algorithm but otherwise no.
@@codebasics can you recommend videos for understanding the math behind it, thanks
Thank you sitr, for your excellent class . my score is 76.5%
i have only started to learn about data science using python and i have a question: Why use labelencoder rather than getting dummy variables for the categorical variables? Is it more efficient using labelencoder?
I prefer the .get_dummies()
you can also write the Label Encoder part like this:
le_company = le_job = le_degree = LabelEncoder()
this worked for me!
Thanks for the top Muhammed
I think only one instance of labelencoder is enough i guess!
Do you have any thing related to sentiment analysis/Text mining/Text analysis? please have a tutorial for the text analytics as the other videos are so good
I also request you to create chats for AUC and also create a model evaluation according to CRISP DM model
Thanks for sharing this awesome video. I have learned more about ML using this.
Great to hear!
thank you for such amazing, well detailed and easy to understand tutorial(s) !
im following your channel exclusively for learning ML, along with kaggle competitions.
also recommending your channel to my peers.
great work..!
PS - i got 75.8% as the score of my model in for the exercise.
any tips to improve the score?
take test_size=0.5 it increases to 78.15%
re execute the test train split function as it generates rows randomly. Then Again fit the model and execute. Continue this for 4-5 time until u get somewhere around 95% accuracy. So this set of data is the most accurate for training the model.
much better explanation than my prof!
As usual, all your videos are awesome to watch. Thanks for the same :)
Thank you so much sir...All videos are very helpful....
Why we have not created dummy variables here as we have done in Logistic Regression using OneHotEncoder
In one hot encoding turorial you mentioned its better cos then we dont have encoding which has relation to each other. Please clarify. These videos are teaching me a lot.
Yes same doubt. Have you cleared your doubt? If yes, then please tell.
I think company should be given one hot encoding while job and degree should be label encoded.
Got a score of 0.9845 using decisiontree. Thanks for the great tutorials.
I also used the same dataset for training and also for the score but i did not got score 1. Why?
That’s the way to go ashish, good job working on that exercise
Why didn't we use dummy column concept here like we did for linear regression?
As in trees we have many levels so here dummy variables concept doesnt work well so we try to avoid it
@@naveedarif6285 how can we train and split dataset in this? Please help
Thank you very much for this course! Super helpful. I was able to get an accuracy of 83.24%
Sir, In the Exercise you perform map on sex column and I did it using LabelEncoder. I liked when you give us a difference approach to perform a same task .and one more question Sir, instead of mean why cant we use mode on age column ........btw My score is 79%
my score : 0.8044692737430168
Such a nice explanation , now I dont need to watch any further videos. This video was very satisfactory and convincing !!
can anyone tell me why didn't we use OneHotEncoding in this example????
does it mean that we need dummy variable only in Regression algorithms???
I also got the same question. I appreciate if somebody help.
Maybe here is the answer: "Still there are algorithms like decision trees and random forests that can work with categorical variables just fine". datascience.stackexchange.com/questions/9443/when-to-use-one-hot-encoding-vs-labelencoder-vs-dictvectorizor
use pandas.get_dummies
Using One hot encoding worsens the accuracy of trees...therefore it's recommended to use label encoding
thank you for this ML playlist....your way of teaching is the best anybody can understand if they watch videos in sequence
my model score is 1
i replace all the NaN values in age by mean value of age by Pclass
you didn't split the dataset into training and test and maybe that's why its 1 coz your test is same as train model.
split the dataset and check the score
@@abhishekgoyal7580 i split the data but i used x_train,y_train as parameter in score method. now my score show .79 thanks for correcting me
@@moushmi_nishiganddha just saw your profile. You’re from houston too?
@@abhishekgoyal7580 yes
Thanks so much for these tutorials! These are the best tutorials I've found so far. The code shared by you for examples and exercises are very helpful.
I got score 76% for the exercise. How is it possible to get a different score for the same model and the same data? The steps followed are the same too.
In train_test_split it will generate different samples Everytime so even when you run your code multiple times it will give different score. Specify random_state in train_test_spkit method, let's say 10, after that when you run your code you get same score. This is because now your train and test samples are same between different runs.
@@codebasics Got it. Thanks!
Same, I too got an accuracy of 76% but was aware about the random_state attribute! :)
My model got a score of 78%. I imputed the Age Na values and then label-encoded the Sex column , used a test size of 0.2 with the remainder of 0.8 as the training size. criterion = log_loss, splitter = 'random'
Please can any one tell me how to increase our model's accuracy? i.e. Score
Increasing score is an art as well as science. If your question is specific to only decision tree then try fine tunning model parameters such as criterian, tree depth etc. You can also try some feature engineering and see if it helps.
I tried with increasing training data and score is increased.
For testing 0.79 For training 0.985
thank you for the lectures these are smooth to learn the machine learning
How to fill empty value on age feature
Thank you for this awesome tutorial Sir
I got accuracy of 97.98%
I replaced the missing age values with mean of whole age column.
where did you get that data base
@@surajraika9245 You can find the dataset on his github repo
@@mukulborole thanks
Really loved the way you have explained the concept..you made it tooo easy.thanks a lot and keep making more videos.
Thanks a lot 😊
My score is:
Without Train Test Split - 0.97
With Train Test Split - 0.77
Thanks for your video!
Hood work. thanks for working on the exercise
This is how machine learning or in general anything should be taught, not just start lecturing in white board with marker.
Sir Thank You So Much for these wonderful lectures .I got an accuracy of 83% on Titanic dataset.
Good job Ram, that’s a pretty good score. Thanks for working on the exercise
@@codebasics Thanks a lot Sir ✨
Very apt tutorial, simplified everything.
this really helped me. Thank you
Thanks a lot Sir.
It was Awesome and Excellent.
I tried the exercise, filled the Age gaps with median and included that column in the data frame. Then trained my model and score cam upto 0.97979 or 97.97%
l also got 97.97%
Hi Sir,
I got the score
model.score(df_n,target)
Out[247]: 0.8799102132435466
model.predict([[2,1,29]])
Out[251]: array([0], dtype=int64)
model.predict([[0,0,52]])
Out[252]: array([1], dtype=int64)
Thanks for the wonderful videos..
I got 100 percent accurate score 🤩
Thank you very much! You really helped me
Glad I could help!
Thank you, sir, the exercise that you gave at the end of your lectures help us to experiment and get an in-depth knowledge of the algorithm. accuracy achieved =0.87
Perfect. thats a pretty good score. Good job.
@@codebasics sir, i got 97.7% accuracy
@@jaihind5092 how did you acheibe a score of 97.7 % ?
i only achevied 82 :( even after removing all NAN values from age and conveting age n fare to int
my score went from 74 to 80 to finally flattened at 82 !
help me improve .
how did you acheibe a score of 87 % ?
i only achevied 82 :( even after removing all NAN values from age and conveting age n fare to int
my score went from 74 to 80 to finally flattened at 82 !
help me improve .
thanks
I got an accuracy of 97.75% ! thanks for this extremely useful content. keep it up please ! :)
That’s the way to go Amir, good job working on that exercise
how did you acheibe a score of 97.75 % ?
i only achevied 82 :( even after removing all NAN values from age and conveting age n fare to int
my score went from 74 to 80 to finally flattened at 82 !
help me improve .
Thanks
@@HarshalDev hi. i put my Jupyter notebook on GitHub on link below. check it out and if you had any questions i'd be happy to help ;)
github.com/uncleamir/Decision-tree-code-basics-solution
test_size=0.2; model.score=0.9797. Thank You!
Amazin video, thank you so much!
I have a question.. In the dummy variable video, you had mentioned that we should always make sure when we do the One Hot Encoding, we should create different columns. ie. if Monroe township = 1, Robbinville = 2 and West Windosor = 3.. and so we want to avoid confusing the model which may assume Monroe township < Robbinville < West Windosor..
But in this video, you're assigning company names Google = 0, ABC Pharma = 1 and Facebook = 2.
Is it the right thing to do?
Decision tree is one of those algorithms where label encoding works ok in some cases like ours and you can save some memory space by not using OHE. Check this for some insights: datascience.stackexchange.com/questions/9443/when-to-use-one-hot-encoding-vs-labelencoder-vs-dictvectorizor
Having said that since a number of categories are small we can use OHE as there is no concern with sparsity. If I have to re-record this session, I'd probably use OHE.
i got 80.67% accuracy on titanic thanks a lots sir i I did it myself
Nice work!
Amazing explanation on the hands on. Thanks.
With LogisticRegression, I got 78.9% and discovered that when sex was ==1, the model reads wrongly. I also used train_test_split with an accuracy of 79.3% (training size=0.3) and similar problems with logistic regression. Using the Decision tree, I got a score of about 92% and the prediction was superb.
can you please help me with your code...
I'm a beginner and getting 78% accuracy
I want to learn how you are getting 92% accuracy, please
Thank you for the straightforward explanation!
Glad it was helpful!
you explain so well. thanks.
Your videos are quite simple and very understandable. It is very useful for a beginner. I am requesting you please make some videos about SQL and SAS. That will be very helpful for us thanks.
Thanks for commenting Vivek 👍
you are amazing teacher
After conducting the titanic assignment you gave, i got a score of 97.75% approximately 98%. Thank you for the straight forward tutorials
how did you deal with fillna? I used ffill and score 98%
Simple and short, many thanks
I truly appreciate your effort, sir. please make more videos. Take love from Bangladesh
Hello Sir,
Great tutorial. My model's accuracy for the titanic dataset came out to be 82%. Thank you.
Learning quite a lot through these wonderful tutorials, thanks Codebasic.