Downsampling the dataset to create balanced dataset for neural models












0












$begingroup$


I have a classification dataset with 10k instances and 4 classes and it is unbalanced. 7000 of it belongs to first class, 2000 of it belongs to second 800 of it belongs to third class and remaining instances are belong to fourth class. I have a single neural network based on MLP.



At the end of down-sampling process, I am planning to have 2000,2000,800,200 instances. (I can even further down-sample first 3 classes until I have 200 instances from each class but I don't want to decrease size of the dataset that much).



My question is: If I train my MLP for N epoch, should I use the same subset for class-1 for all of the epochs or should I generate this subset randomly for each epoch?










share|improve this question









$endgroup$




bumped to the homepage by Community 12 mins ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.




















    0












    $begingroup$


    I have a classification dataset with 10k instances and 4 classes and it is unbalanced. 7000 of it belongs to first class, 2000 of it belongs to second 800 of it belongs to third class and remaining instances are belong to fourth class. I have a single neural network based on MLP.



    At the end of down-sampling process, I am planning to have 2000,2000,800,200 instances. (I can even further down-sample first 3 classes until I have 200 instances from each class but I don't want to decrease size of the dataset that much).



    My question is: If I train my MLP for N epoch, should I use the same subset for class-1 for all of the epochs or should I generate this subset randomly for each epoch?










    share|improve this question









    $endgroup$




    bumped to the homepage by Community 12 mins ago


    This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.


















      0












      0








      0





      $begingroup$


      I have a classification dataset with 10k instances and 4 classes and it is unbalanced. 7000 of it belongs to first class, 2000 of it belongs to second 800 of it belongs to third class and remaining instances are belong to fourth class. I have a single neural network based on MLP.



      At the end of down-sampling process, I am planning to have 2000,2000,800,200 instances. (I can even further down-sample first 3 classes until I have 200 instances from each class but I don't want to decrease size of the dataset that much).



      My question is: If I train my MLP for N epoch, should I use the same subset for class-1 for all of the epochs or should I generate this subset randomly for each epoch?










      share|improve this question









      $endgroup$




      I have a classification dataset with 10k instances and 4 classes and it is unbalanced. 7000 of it belongs to first class, 2000 of it belongs to second 800 of it belongs to third class and remaining instances are belong to fourth class. I have a single neural network based on MLP.



      At the end of down-sampling process, I am planning to have 2000,2000,800,200 instances. (I can even further down-sample first 3 classes until I have 200 instances from each class but I don't want to decrease size of the dataset that much).



      My question is: If I train my MLP for N epoch, should I use the same subset for class-1 for all of the epochs or should I generate this subset randomly for each epoch?







      neural-network scikit-learn dataset sampling






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Sep 26 '18 at 9:34









      zwlayerzwlayer

      1061




      1061





      bumped to the homepage by Community 12 mins ago


      This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.







      bumped to the homepage by Community 12 mins ago


      This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
























          1 Answer
          1






          active

          oldest

          votes


















          0












          $begingroup$

          You will get better results if you change subset of images from downsampled class randomly at each epoch. It will help in building a robust model as well. And use data augmentation techniques for minor classes.






          share|improve this answer











          $endgroup$













          • $begingroup$
            I guess you missed my question. I am not asking how to balanced my dataset, I am asking should I changed my down-sampled class at each epoch or keep it same during traning of my neural net.
            $endgroup$
            – zwlayer
            Sep 26 '18 at 11:02












          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "557"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f38805%2fdownsampling-the-dataset-to-create-balanced-dataset-for-neural-models%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0












          $begingroup$

          You will get better results if you change subset of images from downsampled class randomly at each epoch. It will help in building a robust model as well. And use data augmentation techniques for minor classes.






          share|improve this answer











          $endgroup$













          • $begingroup$
            I guess you missed my question. I am not asking how to balanced my dataset, I am asking should I changed my down-sampled class at each epoch or keep it same during traning of my neural net.
            $endgroup$
            – zwlayer
            Sep 26 '18 at 11:02
















          0












          $begingroup$

          You will get better results if you change subset of images from downsampled class randomly at each epoch. It will help in building a robust model as well. And use data augmentation techniques for minor classes.






          share|improve this answer











          $endgroup$













          • $begingroup$
            I guess you missed my question. I am not asking how to balanced my dataset, I am asking should I changed my down-sampled class at each epoch or keep it same during traning of my neural net.
            $endgroup$
            – zwlayer
            Sep 26 '18 at 11:02














          0












          0








          0





          $begingroup$

          You will get better results if you change subset of images from downsampled class randomly at each epoch. It will help in building a robust model as well. And use data augmentation techniques for minor classes.






          share|improve this answer











          $endgroup$



          You will get better results if you change subset of images from downsampled class randomly at each epoch. It will help in building a robust model as well. And use data augmentation techniques for minor classes.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Sep 26 '18 at 11:24

























          answered Sep 26 '18 at 10:24









          Poonam LigadePoonam Ligade

          413




          413












          • $begingroup$
            I guess you missed my question. I am not asking how to balanced my dataset, I am asking should I changed my down-sampled class at each epoch or keep it same during traning of my neural net.
            $endgroup$
            – zwlayer
            Sep 26 '18 at 11:02


















          • $begingroup$
            I guess you missed my question. I am not asking how to balanced my dataset, I am asking should I changed my down-sampled class at each epoch or keep it same during traning of my neural net.
            $endgroup$
            – zwlayer
            Sep 26 '18 at 11:02
















          $begingroup$
          I guess you missed my question. I am not asking how to balanced my dataset, I am asking should I changed my down-sampled class at each epoch or keep it same during traning of my neural net.
          $endgroup$
          – zwlayer
          Sep 26 '18 at 11:02




          $begingroup$
          I guess you missed my question. I am not asking how to balanced my dataset, I am asking should I changed my down-sampled class at each epoch or keep it same during traning of my neural net.
          $endgroup$
          – zwlayer
          Sep 26 '18 at 11:02


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Data Science Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          Use MathJax to format equations. MathJax reference.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f38805%2fdownsampling-the-dataset-to-create-balanced-dataset-for-neural-models%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          How to label and detect the document text images

          Vallis Paradisi

          Tabula Rosettana