House Price Prediction in Python - Full Machine Learning Project
Ғылым және технология
Today we complete a full machine learning project and we go through the full data science process, to predict housing prices in Python.
◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾
📚 Programming Books & Merch 📚
🐍 The Python Bible Book: www.neuralnine.com/books/
💻 The Algorithm Bible Book: www.neuralnine.com/books/
👕 Programming Merch: www.neuralnine.com/shop
🌐 Social Media & Contact 🌐
📱 Website: www.neuralnine.com/
📷 Instagram: / neuralnine
🐦 Twitter: / neuralnine
🤵 LinkedIn: / neuralnine
📁 GitHub: github.com/NeuralNine
🎙 Discord: / discord
🎵 Outro Music From: www.bensound.com/
Timestamps:
(0:00) Intro
(0:44) Loading Data Set
(6:32) Data Exploration
(13:24) Data Preprocessing
(19:54) Feature Engineering
(22:40) Linear Regression Model
(30:02) Random Forest Model
(40:06) Outro
Пікірлер: 220
Hi. What I would recommend doing in the hyperparameter tunning phase on the RFR model. Is to use np.range() instead of a list with hard values the model has to use and which are limited to two options or three. Yes this might take a lot of time to run but using randomizedsearchCV would be okay as a starter then if you see the model improving you can use gridsearchcv instead.
Mate you explain everything so concisely and keep it so interesting! Really enjoyed this video
@felcycecelia
Жыл бұрын
I agree with you
Am impressed,your explanation is so smooth and i can keep tyrack and understand every step or code you input💯
Just found your channel! Im on a journey to become a data scientist and really build a solid understanding. This is a great first project to get under my belt. Having you by my side while going through the steps is awesome. I will try out doing projects all by myself also but first following along is a great start to get more comfortable and see the steps included and how u tackle it! Greetings from Sweden!
AT APPROX 31:00 - If ISLAND is not showing I just increased my test_size = 0.2 to 0.25, or until it became large enough that it did include the ISLAND. Not sure of a real fix but this worked to get past this hurdle. Take care
If you could brief explain what linear regression did ? Were all the variable taken into account and develop a slop to predict the value based on existing data? What if we removed some negatively correlated data and the response? I fail to understand what we did apart from cool images, if you can make a brief lectures on regression random decision tree cluster with some situation analysis- it would help us Thanks
11:47 train_data.corr(numeric_only=True)
@evolved__ca
11 ай бұрын
Thanks
@mohammedirshad2167
4 ай бұрын
this was really helpful
@lusc6
4 ай бұрын
thanks
@mitchellcook3349
3 ай бұрын
This saved me, thanks
@adamshenk9970
3 ай бұрын
bruh
Oh my!! Just amazing!! Make more such videos. Thank you so much.
a small summary : for those who are gonna start , he preprocessed the dataset a bit ( removing NaN values, adding features and splitting the catogerical value column to binary columns ) and then scaled,splitted and trained & tested on linear , random forest ..finding best estimator at last ( no explaination on what estimators are, so read forest ahead of doing this )
@mbulelondlovu9427
2 күн бұрын
how did he change ocean proximity from object to int?
your tutorials are the best thing i found on the internet
Randomforest algo takes features at random so if we literally change nothing and fit the model again and again we can see the scores changing(+-2%). Also only one variable median income was strongly related with target(bcoz it had correlation>0.5). If many variables would have been above 0.5 then we might had seen drastic changes during gridsearch min_features
This was a great video. Just discovered your channel today. Definitely going to subscribe!
Thank you much for the detailed video , everything was explained very feel , i would suggest this could be the best video to start with the machine learning projects as a beginner. And personally this video helped me a lot as i am taking up my first ML project..
Keep it up bro! Pls do more videos with predictions
One of the best machine learning tutorials on KZread, thanks a a lot for lucid and well detailed explanation.
@thinhtruong9405
4 күн бұрын
hi, do you have this code, can you give it to me ?
@softwareengineer8923
4 күн бұрын
@@thinhtruong9405 I would highly recommend you to watch the video until end, search for the concepts and try to write the code yourself. That's how you can fully take benefit of this content.
@thinhtruong9405
4 күн бұрын
@@softwareengineer8923 i see, but i have a problem so if you have this code pls give it to me :((, im from viet nam, my english is so bad
@thinhtruong9405
3 күн бұрын
@@softwareengineer8923 i see, but i have a problem, i want this code to do something, if you have please give it to me, sry im from vietnam so my English is so bad
@thinhtruong9405
3 күн бұрын
@@softwareengineer8923 i see, i have a problem so i need this code to do something, im from viet nam so my endlish is so bad :((
Amazing work man
Thanks for the vid! First day on ur chanel really happy found u! And it seems you use a sort of autocompite for typing when on terminal? or ur typing is just soo fast..
Thank you for nice explanation. Keep this good work. I want to know what is the outcome of this model. What insight I got after run the model.
What's the interpretation of the "score"? Is it R-squared for regression? How about for random forests? Do they compare from one model to another?
hello, what should I do if my X_test doesn't have any value in ISLAND? I can't perfom the reg.score thanks for your help
Explained everything perfectly, Your channel is going to be my go to channel, to learn data science!!!
You don't need to normalize data when dealing with linear regression, that's the main advantage of this method, it is based on coefficients, and those coeficients adjust to the order of magnitude of each variable !
Great video, thank's a lot. But I'm missing the most interesting part: How can I use the model for getting the house value for an object which isn't part of the used data?
@gustavosantiago6679
8 ай бұрын
did u discover that?
@techsnail8581
7 ай бұрын
u can create FCT with a model and X as an argument and then u can predict every value u want
@gustavosantiago6679
7 ай бұрын
@@techsnail8581 dattebayo
thank you !!! it was really helpful
explained better than my instructor xD thanks man
Best tutorial I've seen.
BTW, how do you copy and paste so quickly around minute 14 when you were doing the 'log' adjustment on the train_data? Which shortcut are you using?
@HoloqKing
Жыл бұрын
alt + shift + down arrow key.
boss so appreciated I can't even express it
🤯 Great video.
Hi. Very well explained! thank you.
Every thing was great but the fact that ive to debugg my entire code because we split earlier and had to pre process the test data again was so painfull speacially in jupyter lab
Guys please how was he able to copy and paste so fast @26:01min... Where he was trying to change train data to test data..?
tahts a great video, but how do i get the predicted values now? I mean i built the model and how would i get predictions?
Great video. Apart from Linear Regression and Random Forest, are there any other algorithms that might be suitable for this type of problem?
@princesamuelkyeremanteng5008
Жыл бұрын
KNN Regressor
@Anonymous-tm7jp
10 ай бұрын
Naive bayes, Gaussian naive bayes, KNN, Decision tree(Randomforest is collection of decision trees), gradient boosting and XGBoost. Try every one of them with different different parameters for each and select the best one with best set of parameters
Hi NeuralNine. I am having doubt in executing the corr() function. How can I move forward?
Continuity issue apparently: did you drop the ocean_proximity column before you ran the correlation matrix? My train_data.corr() fails due to values like '
@MatthewXiong-gk8nz
Жыл бұрын
plt.figure(figsize=(15,8)) sns.heatmap(train_data.loc[:, train_data.columns!='ocean_proximity'].corr(), annot=True, cmap="YlGnBu") I used this code to ignore the column. Hopefully this will help you get through it.
@vrajbirje5603
Жыл бұрын
@@MatthewXiong-gk8nz thanks so much buddy
Informative video, quick question why would you not want the values to be zero when taking the log of the values?
@TimothyMayes
Жыл бұрын
Because log(0) is undefined. That is, you cannot raise a number to a power to get 0.
I have two questions 1. Why didnt you use all feature in train_data (many columns were skewed) to convert via log 2. I didnt saw any change in histogram before and after . How did you decided that data is converted to normal distribution?
@user-kj6vz1qo4h
3 ай бұрын
the bars should fit in normal distribution curve which generally would be in middle
where can i get the notebook? i tried searching your gihub repository but dont see any related to house price prediction. Can you please share the notebook?
i got a value error when I used .corr() on my train data. something along the lines of not being able to convert the str into int. so I am unable to make a heat map. I am an absolute beginner so can someone please help me out. anything will be well appreciated
when you define the X_test_s ?? when i want to scaling i should use the X_test_s AS your code but i gets error i have not X_test_s
So how do you find the working details of the model? It's great to know the 'score' is 0.8 or whatever but what parameters are used to get that 0.8? In other words, I train a model with a score of 0.8 then get some new data points (lat, long, #bedrooms, total_bedrooms, etc (all except house price)) What's the equation I use to generate an expected house value and where do I get it? Great video though.
@Ailearning879
Жыл бұрын
The model/function is made by the algorithm and that cannot be inferred. All we can do is put the values parameters and get the prediction.
@harshans7712
Жыл бұрын
@@Ailearning879 but can you please help me where to test the model which is trained? since we only got the model's accuracy or score. And I'm a beginner in ML
hello there, can i ask for your help to make data preprocessing for a specific dataset. it have 53884 rows and 8 columns..
hey, broh where is the datase of california house price, i didn't get yet here or in your githab. or you haven't share with us alhough you said the link of the dataset is on the description.
How this channel doesn't get 1M yet !!
Man! Your computer runs effortlessly😅 It's soo smooth... What are the specs? 😅 I need to get one like that.😂
Gracias, es díficil encontrar buen contenido en mi idioma, así que lo asisto aquí, mismo que me toca con subtitulos. Thanks so much !
Is it just me who's getting the error "Input contains NaN, infinity or a value too large for dtype('float64')"? For both linear as well as random forest
Hey bro! Can you please guide me in number prediction in a specific position by reading existing excel data!? I wanted to generate 6 numbers with this logic
At 13:00 why didn't you apply np.log to 'median_income' and 'median_house_value'? They seem pretty skewed as well
great video. and o my wat is the intro music. im a music artist and would love to hear the full thing.
The good: feature engineering, I liked the one hot encoding explanation, and how easy you made it look. The bad: extremely superficial explanations. E.g., min 29, “we get a score of 66, which is not too bad, but also not too good” great, thanks for the in-depth explanation as to what 66 means and how to interpret. Most of these “tutorials” are just people recording themselves writing code, like it´s a big deal. The real important piece is understanding the business problem, and interpreting results in terms everyone can understand; I can copy/paste code from a hundred different websites. Also, linear regression is not about getting a 66 or whatever score, it´s about predicting a value, in this case, house prices; how is “66” relevant to that goal?? The ugly: speak way too fast for no reason at all. You´re making a tutorial, not speed racing. Thanks anyway.
why do we need normal distribution in total-rooms, population...?
Can you add custom code so that model predict saleprice when input code is given
How did you get the .corr() method to ignore the ocean_proximity column even though it had non-numeric values in the beginning??
@gongxunliu5237
9 ай бұрын
train_data.corr(numeric_only=True) will do
@fireguy9931
9 ай бұрын
@@gongxunliu5237 I didn't even know that was a parameter, tysm
@jonathanitty5701
5 ай бұрын
@@gongxunliu5237 wow I rewatched the video 10 times to understand how he was able to get past that error and am still lost... I ended up converting the ocean proximity column into an id column prior to running the model... did corr() used to automatically filter out the string columns or something in the past?
@morimementos
5 ай бұрын
@@jonathanitty5701 i think it was either that, or the default value changed from True to False, not sure which
Great content, but as a Newley founded developer interested in ML I do wish you went into a bit more detial on the key features being leveraged in the walkthrough. I would not mind spending an hour or so more to fully understand the methods and functions your leveraging in this demo. All in all thank you for your hard work and dedication in sharing what I believe to be humans biggest development since the Industrial Revolution. Keep on Techin sir.
@patricks2595
9 ай бұрын
You mean for instance explaining what the different hyper parameters actually are that were re-scaled in the random forest and such?
@pavelvlasov9307
7 ай бұрын
exactly@@patricks2595
Hi! How did you get those Vim bindings in jupyter?
As of this writing, I am not able to find the exact data set (.csv file ) for Californian house prices. If some one can provide me with the link for the same one used in this video this will be greatly appreciated!
May I ask why the longitude and longitude are not applied encoding?
I am stuck at "reg.score". please resolve my error
7:27 wouldn't you rather use data.isna().sum()? If you have a missing value in the whole row you might not catch that.
@meenupatel1256
7 ай бұрын
isnull().sum()?
it was great thank you a lot bro.
Heatmap cannot be render while there are non-numerical values (ocean_proximity) in the train data
@zawichrowana
2 ай бұрын
I have experienced the same issue - how did the author manage to render a heatmap without dropping this column?
@_KobbyOb
Ай бұрын
Try sns.heatmap(train_data.corr(numeric_only = True), annot=True, cmap= "YlGnBu")
Saw this as how to build project , this is my first one , let's see where this will take me - 1.
why you said this is classification at 39:39 when it is regression problem ?
Thanks for the vid
I can't get over you sir You are a legend
sorry to say but in my code "ocean proximity"is not shown.
x_test_s = scaler.transform(x_test) is not working .Can anyone help me to resolve
how to get same dataset? where?
my ISLAND column gets deleted when creating test_data - any way to fix this?
@vidushibamnotey6272
15 күн бұрын
sameeee
How did you get 0.66 score? I made similar data transformations and got only 0.25 score and 0.78 MSE
2330 """ ValueError: columns overlap but no suffix specified: Index(['longitude', 'latitude', 'housing_median_age', 'total_rooms', 'total_bedrooms', 'population', 'households', 'median_income', 'ocean_proximity'], dtype='object') i got this error when i tried to join the train data ,that goses like this ( train_data= x_train.join(y_train)). now how do i solve this.
@aituition8336
Жыл бұрын
There should be no overlap, your X data are your 'features' - the attributes that your model uses to make a prediction of y 'labels'. In this scenario, the features are things like long, lat, bedrooms, population etc.. the label is the median house price because that is the value you want to predict. You have to drop the median house prices column from the X data frame and assign that column to the y variable. Then once you join X and y, you shouldn't have any overlaps
What to do if I get notified error
Nice, ty
is there a link to the pyhton notebook?
where can i get total code
For those in the comments section, never do inplace=True.
@skripandthes
Жыл бұрын
why?
@olanrewajuatanda533
Жыл бұрын
What should we do to substitute that?
@ebek4806
Жыл бұрын
True
@ebek4806
Жыл бұрын
@@skripandthes You are making changes into the dataframe you can't reverse unless you restart the whole runtime on your workspace. Like jupyter notebook.
@ebek4806
Жыл бұрын
@@olanrewajuatanda533 Just define a new dataframe. Instead of doing this: Df.dropna(col, axis=1, inplace=true) Do this: Df = Df.dropna(col, axis=1) This way you don't hard code new changes to the dataframe and you can just edit the cell and run it again to correct any mistakes.
ya think? I should have cut my losses when you made the test/train split that early, .at around 28:00 the instructions became to confused to be useful. Until then, thanks for the instructions.
@trusttheprocess4775
3 ай бұрын
Exactly lmao, i for the life of me could not understand why he would not completely preprocess the data first and then split the data
where is the source code of this project I get an some error
sir i am getting -1.25 score! what to do now!
I don't know, but errors are generated in my code, though I write exactly same thing as you do . And I have no idea what to do. 😅
when I ran x_test_s, I got: could not convert string to float: 'INLAND'. how to solve it?
@aurum18247
Жыл бұрын
same here
@Borolad116
Жыл бұрын
I wouldn't waste your time. This code doesn't work and he races through everything. Much better tutorials out there.
@sumankumarsahu9711
Жыл бұрын
Bro preprocess the data properly
@PulakKabir
Жыл бұрын
@@sumankumarsahu9711 i followed the eaxct way he showed here
@evolved__ca
11 ай бұрын
@@PulakKabir .corr(numeric_only=True) Fixed the correlation portion at least
Can you upload the data path over here
At minute 28:40 line "31" I typed the same "reg.score(X_test, y_test)" but it does'nt work. The ValueError is "Input X contains NaN." What I did wrong? Can anyone help me? I would like to complete this project. Thank you
@samarthamera
10 ай бұрын
run all cells again
@imansaid2321
4 ай бұрын
@@samarthamera doesn't work
@noraalharik9488
3 ай бұрын
@@imansaid2321did you figure it out? It’s not working with me
11:50 I got an error using corr() because of non-numeric column 'ocean_proximity'. How did you do it? Did you change the code of pandas? Edit: I found it myself. Go to python installation path/libraries/pandas/core/frame.py Go to corr function definition and set numeric_only: bool = True.
@elbishmaharjan4721
6 ай бұрын
Thanks bro
at minute 16:53 I am facing this issue were it suppose to provide the output with binary values instead it is displaying bool values is there anyway I can covert the values from boolean to binary?
@georgeharris6151
8 ай бұрын
I'm having the same issue is there any fix?
@Vedanti_koli
7 ай бұрын
df = pd.get_dummies(train_data.ocean_proximity) print(df) df=df.replace({True:1, False:0}) print(df)
what if im missing a column ISLAND?
@adamshenk9970
3 ай бұрын
I found that I could increase the test_size from 0.2 to 0.25 or until it became large enough that it included the island by change. Not a real fix but works for this. Take care
can you provide the code please
thankkk youuu !!!!
Hey how come your channel is much more interesting, and you have less followers. I think you need to make more series on different languages mainly on c#.
love this
Just Nice
In X test I am getting 14 col while in X train I am getting 15 cols what should I do?
@parth1211
Жыл бұрын
Add one more blank column / variable to test which gonna be your target variable
@suryanshtomar5907
Жыл бұрын
@@parth1211 how to do that?
@raghunathraoarcot8744
Жыл бұрын
Hey hav u solved this error
no matter what i do i cant get the join method
@Smylesss
10 ай бұрын
same here
Please Source Code Link.Please Please Please,
plt.figure(figsize=(15,8)) sns.scatterplot(x='latitude', y='longitude', df = train_df, hue='median_house_value', palette='coolwarm') this line of code is note working. its showing ValueError: Could not interpret value `latitude` for parameter `x` how can i fix this?
@andyn6053
12 күн бұрын
ask chat gpt
bro can i have the code please
Timestamp : 20:00
Great tutorial! One correction at 12:45 - longitude is inveresely correlated with latitude rather than the median house income.
@illusion7795
4 ай бұрын
How did you fix it