Answers.Body: <p>Most standard algorithms will work well on binary data, like:</p>
  <ul>
  <li>Decision trees (and random forest)</li>
  <li>Nearest Neighbors</li>
  <li>Neural Networks</li>
  <li>etc</li>
  </ul>
  <hr />
  <p>But your choice depends on many other things, like:</p>
  <ul>
  <li>What is the expected output?
  <ul>
  <li>Are you doing classification?</li>
  <li>Regression?</li>
  <li>Is it deterministic (same features should always give the same outcome) or stochastic (random factor).</li>
  </ul>
  </li>
  <li>What is the nature of the database and relationship between the features?
  <ol>
  <li>A 20x20 black-white image.</li>
  <li>A phrase embedded as 20 sequences of 20-size-token.</li>
  <li>A 400 questions true/false exam.</li>
  </ol>
  <ul>
  <li>They can all have the same shape, but are very different in nature and would perform better with different algorithms.</li>
  <li>How disperse / smooth is your data?</li>
  <li>Do all 400 features have the same importance?</li>
  <li>How independent are they?</li>
  </ul>
  </li>
  <li>How complex the problem really is?</li>
  <li>How much performance do you really need?</li>
  <li>How much work and tuning are you willing to put on this?</li>
  </ul>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-08-24T18:08:12.887Z
Answers.Text: Classification - end result is true/false, deterministic
  
  A 400 questions true/false exam is the best description. Unclear on importance of the features.
  
  False positives are not an issue, as long as true negatives are minimal to non-existent. 
  How much work and tuning are you willing to put on this? 1-2 weeks full time
Answers.UserDisplayName: Darko
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-08-24T18:17:23.950Z
Answers.Text: If you could just describe the problem, it would make it easier to recommend something.
Answers.UserDisplayName: Andre Goulart
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-08-24T18:21:06.797Z
Answers.Text: If it's like an exam, with a previously expected answer for each feature, a simple neuron network with a threshold would perform fine. If each feature impacts on another, the network must be deeper. If features are highly correlated, you might want to reduce them... There are too many IFs to provide a straight answer.
Answers.UserDisplayName: Andre Goulart
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-08-24T19:02:09.240Z
Answers.Text: The features are unrelated. The closest to the scenario is: a user selects if they like or don't like 400 products, and based on that i am trying to determine if they will like the label product.
Answers.UserDisplayName: Darko
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-08-24T19:26:43.030Z
Answers.Text: If the data is about preference (like or don't like), I would consider a neighbor approach (like KNN). If you have no idea and low previous knowledge, I'd also consider some AutoML approach for setting a quick baseline.
Answers.UserDisplayName: Andre Goulart
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-08-24T17:55:26.843Z
Answers.LastActivityDate: 2021-08-24T17:55:26.843Z
Answers.UserDisplayName: Andre Goulart
Body: <p>I am working with a dataset with about 400 features, all binary (1 or 0). What approach would you recommend? Data set is about 500k records.</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-08-24T14:51:47.687Z
Comments.Text: What's wrong with treating the 0s as 0s and the 1s as 1s?
Comments.UserDisplayName: Criticize SE actions means ban
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-08-24T14:52:50.257Z
Comments.Text: Nothing wrong with it, just didn't get me anywhere, so was wondering if maybe there are some rules that say "Binary 1/0 features need to be treated differently than 0-1 range features"
Comments.UserDisplayName: Darko
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-08-24T14:58:32.097Z
Comments.Text: I think it has more to do with the model you're working with, than with how you input the features.
Comments.UserDisplayName: Criticize SE actions means ban
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-08-24T15:23:42.837Z
Comments.Text: What do you want to do with the data in the first place?
Comments.UserDisplayName: Oliver Mason
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-08-24T19:02:45.733Z
Comments.Text: more details was provided in the comments under Andre Goulard's answer
Comments.UserDisplayName: Darko
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-08-24T23:11:49.743Z
Comments.Text: @Darko Please, edit directly your post to include the details of your problem (because comments are temporary). It's not even clear if you're trying to solve a classification problem or any other problem. In this type of question, it's also important to show us what you have found or tried so far. So, I would suggest that in your edit you also include these details.
Comments.UserDisplayName: nbro
Tags: <machine-learning><learning-algorithms>
Title: Best algorithms/approaches for data sets of binary (1/0) features
UserDisplayName: Darko
ThreadText: # Best algorithms/approaches for data sets of binary (1/0) features
  
  (Asked by: username_0 on 2021-08-24)
  
  I am working with a dataset with about 400 features, all binary (1 or 0). What approach would you recommend? Data set is about 500k records.
  
  **Tags:** machine-learning, learning-algorithms
  > **Comments:**
  > **username_1**: What's wrong with treating the 0s as 0s and the 1s as 1s?  
  > **username_0**: Nothing wrong with it, just didn't get me anywhere, so was wondering if maybe there are some rules that say "Binary 1/0 features need to be treated differently than 0-1 range features"  
  > **username_1**: I think it has more to do with the model you're working with, than with how you input the features.  
  > **username_2**: What do you want to do with the data in the first place?  
  > **username_0**: more details was provided in the comments under Andre Goulard's answer  
  > **username_3**: @Darko Please, edit directly your post to include the details of your problem (because comments are temporary). It's not even clear if you're trying to solve a classification problem or any other problem. In this type of question, it's also important to show us what you have found or tried so far. So, I would suggest that in your edit you also include these details.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_4 on 2021-08-24. Score: 1
  
  Most standard algorithms will work well on binary data, like:
  
  * Decision trees (and random forest)
  * Nearest Neighbors
  * Neural Networks
  * etc
  
  ---
  
  But your choice depends on many other things, like:
  
  * What is the expected output?
    + Are you doing classification?
    + Regression?
    + Is it deterministic (same features should always give the same outcome) or stochastic (random factor).
  * What is the nature of the database and relationship between the features?
    1. A 20x20 black-white image.
    2. A phrase embedded as 20 sequences of 20-size-token.
    3. A 400 questions true/false exam.
    + They can all have the same shape, but are very different in nature and would perform better with different algorithms.
    + How disperse / smooth is your data?
    + Do all 400 features have the same importance?
    + How independent are they?
  * How complex the problem really is?
  * How much performance do you really need?
  * How much work and tuning are you willing to put on this?
  
  > **Comments:**
  > **username_0**: Classification - end result is true/false, deterministic  A 400 questions true/false exam is the best description. Unclear on importance of the features.  False positives are not an issue, as long as true negatives are minimal to non-existent.  How much work and tuning are you willing to put on this? 1-2 weeks full time  
  > **username_4**: If you could just describe the problem, it would make it easier to recommend something.  
  > **username_4**: If it's like an exam, with a previously expected answer for each feature, a simple neuron network with a threshold would perform fine. If each feature impacts on another, the network must be deeper. If features are highly correlated, you might want to reduce them... There are too many IFs to provide a straight answer.  
  > **username_0**: The features are unrelated. The closest to the scenario is: a user selects if they like or don't like 400 products, and based on that i am trying to determine if they will like the label product.  
  > **username_4**: If the data is about preference (like or don't like), I would consider a neighbor approach (like KNN). If you have no idea and low previous knowledge, I'd also consider some AutoML approach for setting a quick baseline.  
  
  ---
  
  