Answers.Body: <p>This should be possible, but it's not completely clear what you are trying to do.</p>
  
  <p>If you're trying to predict customer age and gender from a video, then you've got a computer vision problem. Deep learning methods are the state of the art for this, and probably some sort of <a href="https://en.wikipedia.org/wiki/Convolutional_neural_network" rel="nofollow noreferrer">convolutional deep neural network</a> is your friend. </p>
  
  <p>If you're trying to predict whether the customer will enter the shop from their age and gender, then @DuttA suggestion to start with simple classification techniques is probably the best bet. Try out <a href="https://en.wikipedia.org/wiki/Logistic_regression" rel="nofollow noreferrer">logistic regression</a> as a starting point. </p>
  
  <p>If you really want to do both of these things at once, you can again try out a deep convolutional neural network. </p>
  
  <p>All that said, it's not completely clear that there is signal in the videos you want to collect: it might be that predicting whether they'll enter the shop is not really possible on the basis of a short video. The only way to know for sure is to give it a try however.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-05T02:33:12.757Z
Answers.Text: Thank you very much for your answer. If I were to use CNN to complete both the tasks at once, do I still need to annotate the features(age,gender,etc)? To be clear what I aim to do is to identify the customer features and predict whether they come into the shop or not in one go(The third option you mentioned). I am also planning to train the model to classify a new type of images(such as company worker, housewives,etc).
Answers.UserDisplayName: Duke Glacia
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-05T11:07:30.290Z
Answers.Text: @DukeGlacia If you annotate with features that are actually predictive, then your model should learn faster. If you annotate with features that are not predictive, it might actually slow things down though.
Answers.UserDisplayName: John Doucette
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-05T11:29:00.220Z
Answers.Text: This might be a very dumb question but why did it take a long time to achieve a facial recognition system of reasonable accuracy? Isn't it sufficient to feed the data with lots of images? 
  
  I'm starting to think my project may face the same type of problem. i.e too many features to learn but very fewer data.
Answers.UserDisplayName: Duke Glacia
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-05T11:36:09.640Z
Answers.Text: @DukeGlacia it take a very large number of images, and a very large amount of computational time. If you don't have a pretty large number of images (at least many thousands), then this probably won't work.
Answers.UserDisplayName: John Doucette
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-05T11:41:13.000Z
Answers.Text: Thanks a lot. Additionally, given that my I have sufficient data. Is it possible to detect the object from a video file and output(the customer data) as a csv file?
Answers.UserDisplayName: Duke Glacia
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-05T11:43:34.197Z
Answers.Text: @DukeGlacia Yes, if you program your system to output a cvs, it should work fine.
Answers.UserDisplayName: John Doucette
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-05T11:45:06.437Z
Answers.Text: I see. So it wouldn't be a problem to train on still images and test on video images? (I guess there shouldn't be any problem as videos are just a series of photos?)
Answers.UserDisplayName: Duke Glacia
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-06T02:12:15.790Z
Answers.Text: @DukeGlacia That is probably okay. You'll have better luck if you keep as much as possible consistent across the training and test images though.
Answers.UserDisplayName: John Doucette
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-04T11:11:50.793Z
Answers.LastActivityDate: 2018-09-04T11:11:50.793Z
Answers.UserDisplayName: John Doucette
Body: <p>So as my university project I am planning to make a prediction system as described in the title. My current idea is to use the age/gender classifier and run it on a video(taken in front of a shop) which outputs a csv file of the age/gender/Customer ID. In addition, I will use the existing data of the shop of who came in/who didn't come into the shop but passed by the shop and by running XGBoost on this csv data I can predict which customer will come into the shop or not. </p>
  
  <p>Do you think this idea is possible? Is there any other way to implement this idea. It would also be great if we could implement this in such a way as to make the deep learning model learn the various features of those who come into the shop or not. </p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-09-04T10:44:23.273Z
Comments.Text: Yup, that's exactly what I thought. Is it possible for the model to learn features(neural network) given the input video file?
Comments.UserDisplayName: Duke Glacia
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-09-04T12:04:44.120Z
Comments.Text: I think it's hard to tell from a short video of a camera, if a customer come into the shop or not.... I guess the only way to do so is actually to see the direction where the person goes... But as @JohnDoucette said in the answer, the only way to know is to try.....
Comments.UserDisplayName: Jérémy Blain
Tags: <machine-learning><deep-learning><tensorflow><keras><data-science>
Title: Automatic prediction of whether a customer will come into the shop or not
UserDisplayName: Duke Glacia
ThreadText: # Automatic prediction of whether a customer will come into the shop or not
  
  (Asked by: username_0 on 2018-09-04)
  
  So as my university project I am planning to make a prediction system as described in the title. My current idea is to use the age/gender classifier and run it on a video(taken in front of a shop) which outputs a csv file of the age/gender/Customer ID. In addition, I will use the existing data of the shop of who came in/who didn't come into the shop but passed by the shop and by running XGBoost on this csv data I can predict which customer will come into the shop or not.
  
  Do you think this idea is possible? Is there any other way to implement this idea. It would also be great if we could implement this in such a way as to make the deep learning model learn the various features of those who come into the shop or not.
  
  **Tags:** machine-learning, deep-learning, tensorflow, keras, data-science
  > **Comments:**
  > **username_0**: Yup, that's exactly what I thought. Is it possible for the model to learn features(neural network) given the input video file?  
  > **username_1**: I think it's hard to tell from a short video of a camera, if a customer come into the shop or not.... I guess the only way to do so is actually to see the direction where the person goes... But as @JohnDoucette said in the answer, the only way to know is to try.....  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2018-09-04. Score: 1
  
  This should be possible, but it's not completely clear what you are trying to do.
  
  If you're trying to predict customer age and gender from a video, then you've got a computer vision problem. Deep learning methods are the state of the art for this, and probably some sort of [convolutional deep neural network](https://en.wikipedia.org/wiki/Convolutional_neural_network) is your friend.
  
  If you're trying to predict whether the customer will enter the shop from their age and gender, then @DuttA suggestion to start with simple classification techniques is probably the best bet. Try out [logistic regression](https://en.wikipedia.org/wiki/Logistic_regression) as a starting point.
  
  If you really want to do both of these things at once, you can again try out a deep convolutional neural network.
  
  All that said, it's not completely clear that there is signal in the videos you want to collect: it might be that predicting whether they'll enter the shop is not really possible on the basis of a short video. The only way to know for sure is to give it a try however.
  
  > **Comments:**
  > **username_0**: Thank you very much for your answer. If I were to use CNN to complete both the tasks at once, do I still need to annotate the features(age,gender,etc)? To be clear what I aim to do is to identify the customer features and predict whether they come into the shop or not in one go(The third option you mentioned). I am also planning to train the model to classify a new type of images(such as company worker, housewives,etc).  
  > **username_2**: @DukeGlacia If you annotate with features that are actually predictive, then your model should learn faster. If you annotate with features that are not predictive, it might actually slow things down though.  
  > **username_0**: This might be a very dumb question but why did it take a long time to achieve a facial recognition system of reasonable accuracy? Isn't it sufficient to feed the data with lots of images?   I'm starting to think my project may face the same type of problem. i.e too many features to learn but very fewer data.  
  > **username_2**: @DukeGlacia it take a very large number of images, and a very large amount of computational time. If you don't have a pretty large number of images (at least many thousands), then this probably won't work.  
  > **username_0**: Thanks a lot. Additionally, given that my I have sufficient data. Is it possible to detect the object from a video file and output(the customer data) as a csv file?  
  > **username_2**: @DukeGlacia Yes, if you program your system to output a cvs, it should work fine.  
  > **username_0**: I see. So it wouldn't be a problem to train on still images and test on video images? (I guess there shouldn't be any problem as videos are just a series of photos?)  
  > **username_2**: @DukeGlacia That is probably okay. You'll have better luck if you keep as much as possible consistent across the training and test images though.  
  
  ---
  
  