Skip to main content

Can you predict sales for a retail store?

Another post starts with you beautiful people!
Hope you have enjoyed my last post about kaggle submission and you also tried to build your own machine learning model.
To continue the same spirit today I will discuss about my model submission for the Wallmart Sales Forecasting where I got a score of 3077 (rank will be 196) in kaggle.

Challenge: In this challenge, we are provided with historical sales data for 45 Walmart stores located in different regions since 2010-02-05 to 2012-11-01. Each store contains a number of departments, and we are tasked with predicting the department-wide sales for each store.

My Sollution: To solve this machine learning regression problem I followed below steps-

1) load the datasets.

 While loading the datasets, I ensured that required attributes only should be there in train and feature datasets.

The important key feature which affects the sales of a store mostly is 'markdown' because this feature contains the information of festival seasons.
So it really important to do feature engineering of this attribute.

2) divide the markdown into groups

3) combine the test,train,feature datasets with markdown grouping
It's always a good approach to combine the datasets so that you get more features as a combined dataset and then you can split them accordingly your need.
Please note applying a model into a dataset is only a 20% of your task but the 60% of the task is taken by the initial steps of your machine learning model; that is EDA of the problem.
For every column of your dataset first visualize how each column is co-related to the target variable that is in our case is sales.

In this dataset there is a Date column and it means you are dealing with time series data and it need your attention to handle this data.
For handling the date with holiday we need to write some logic in such a way that our logic handle the markdown with respect to every store and it's sales.

4) handle the missing values
Always check how many missing values are present in each attribute of your dataset. For the time saving people just simply remove those. But removing the missing values affect your model accuracy.
That's why it is important to analyze the data more and find out a way to deal the missing values.
For this problem I dealed with the markdown's missing values with the mean of it's values.

5) model the datasets
After doing the EDA your 80% task is done. Next task is to build the model for your problem. I choosed linear regression and ExtraTreesRegressor to build the model.

6) save the output in kaggle format
Each competition in kaggle requires it's own submission format that we have to follow.For this challenge they ask to save the output in a csv with two columns- Id and weekly_Sales.
The first column Id is in format as store id_dept id_date and second column is our target variable-sales.

For everyone who wish to see my actual code can see it from here- my code.
I request you all to please download my notebook from above url, upload in your jupyter norebook, explore it, think about new approaches,apply different different machine learning algorithms to improve the model and share your inputs with me also.

Meanwhile Friends! Go chase your dreams, have an awesome day, make every second count and see you later in my next post.






Comments

Popular posts from this blog

How to deploy your ML model as Fast API?

Another post starts with you beautiful people! Thank you all for showing so much interests in my last posts about object detection and recognition using YOLOv4. I was very happy to see many aspiring data scientists have learnt from my past three posts about using YOLOv4. Today I am going to share you all a new skill to learn. Most of you have seen my post about  deploying and consuming ML models as Flask API   where we have learnt to deploy and consume a keras model with Flask API  . In this post you are going to learn a new framework-  FastAPI to deploy your model as Rest API. After completing this post you will have a new industry standard skill. What is FastAPI? FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints. It is easy to learn, fast to code and ready for production . Yes, you heard it right! Flask is not meant to be used in production but with FastAPI you can use you...

Learn the fastest way to build data apps

Another post starts with you beautiful people! I hope you have enjoyed and learned something new from my previous three posts about machine learning model deployment. In one post we have learned  How to deploy a model as FastAPI?  I n the second post, we have learned  How to deploy a deep learning model as RestAPI ? and in the third post, we have also learned  How to scale your deep learning model API?   If you are following my blog posts, you have seen how easily you have transit yourselves from aspiring to a mature data scientist. In this new post, I am going to share a new framework-  Streamlit which will help you to easily create a beautiful app with Python only. I will show here how had I used the Streamlit framework to create an app for my YOLOv3 custom model. What is Streamlit? Streamlit’s open-source app framework is the easiest way for data scientists and machine learning engineers to create beautiful, performant apps in only a few hours!...

How can I make a simple ChatBot?

Another post starts with you beautiful people! It has been a long time of posting a new post. But my friends in this period I was not sitting  where I got a chance to work with chatbot and classification related machine learning problem. So in this post I am going to share all about chatbot- from where I have learned? What I have learned? And how can you build your first bot? Quite interesting right! Chatbot is a program that can conduct an intelligent conversation based on user's input. Since chatbot is a new thing to me also, I first searched- is there any Python library available to start with this? And like always Python has helped me this time also. There is a Python library available with name as  ChatterBot   which is nothing but a machine learning conversational dialog engine. And yes that is all I want to start my learning because I always prefer inbuilt Python library to start my learning journey and once I learn this then only I move ahead for another...