Answers.Body: <p>From the description it sounds like a usual classification problem, which implies you can try every classification algorithm you want e.g. those listed on <a href="https://scikit-learn.org/stable/supervised_learning.html" rel="nofollow noreferrer">Scikit-Learn's doc</a>.</p>
  <p>In terms of speed linear model should be fastest (let alone dummy classifier). In terms of performance the state of the art is the gradient-boosted tree family e.g. <a href="https://lightgbm.readthedocs.io/en/stable/" rel="nofollow noreferrer">Lightgbm</a>. You can experiment and see what fits your scenario.</p>
  <p>The rule of thumb is to test your ideas on simple (and fast) methods first before going deep and complex.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-04-11T04:58:07.230Z
Answers.LastActivityDate: 2024-04-11T04:58:07.230Z
Answers.UserDisplayName: lpounng
Answers.Body: <p><em>Which ML algorithm will take the least amount of time to train and produce results?</em></p>
  <p>usually training time, prediction time and performances, don't really go along with eachother:</p>
  <ul>
  <li>KNN has O(1) training, O(n log k) complexity in evaluation, but doesn't really work most of the times</li>
  <li>linear regression has O(n^3) training time, O(1) evaluation, but most of the times it's too simple</li>
  </ul>
  <p>But all of this bounds are theoretical, and they are off by a constant, thus it definitely depends on the hyperparameters that you use, and the use case that you have to do with them</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-04-09T09:21:16.160Z
Answers.LastActivityDate: 2024-04-09T09:21:16.160Z
Answers.UserDisplayName: Alberto
Body: <p>I am doing research on proteins.</p>
  <p>I have 17,000 <code>*.CSV</code> files on my hard disk. These files represent the chains of proteins. I want to use these <code>*.CSV</code> files to train an ML algorithm.</p>
  <pre><code>   5 CYS C  6.291   8.720 11.751 0 0 0 0  0  0
     6 TRP C  6.400   9.519 11.188 0 0 0 0  0  0
     7 VAL C  6.095   8.796 11.456 0 0 0 0  0  0
     8 ASP C  5.517   7.230  9.510 0 0 0 0  0  0
     9 ASN C  5.843   8.836 10.235 0 0 0 0  0  0
    10 GLU C  5.553   6.811 10.546 0 0 0 0  0  0
    11 GLU C  6.594   7.723  8.656 0 0 0 0  0  0
    12 ASP C  6.034   8.717 10.241 0 0 0 0  0  0
    13 ILE H  5.367   5.205  7.790 0 0 0 0  0  0
    14 ASP H  5.407   5.105  6.383 0 0 0 0  0  0
    15 VAL H  5.417   5.108  6.146 0 0 0 0  2  0
    16 ILE H  5.474   5.196  6.168 0 0 0 0  5  0
    17 LEU H  5.427   5.188  5.997 0 0 0 0  1  0
  </code></pre>
  <ol>
  <li>Residue number (for debug purpose only, NOT A FEATURE)</li>
  <li>Residue type (for debug purpose only, NOT A FEATURE)</li>
  <li>Secondary structure (TRUE LABEL)</li>
  <li>r13</li>
  <li>r14</li>
  <li>r15</li>
  <li>Neighbor count within 4Å</li>
  <li>Neighbor count within 4.5Å</li>
  <li>Neighbor count within 5Å</li>
  <li>Neighbor count within 6Å</li>
  <li>Neighbor count within 8Å</li>
  <li>Hydrogen bonds count</li>
  </ol>
  <p>I have been using neural networks thus far. However, I am fed up with the amount of time needed for each training run. Coz, the extensive amount of time hinders the progress of my research.</p>
  <p>Which ML algorithm will take the least amount of time to train and produce results?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2024-04-09T06:27:21.907Z
Comments.Text: Probably it depends on the task and the goal you want to achieve and the data you got?
Comments.UserDisplayName: Dave
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2024-04-09T10:13:32.157Z
Comments.Text: I think it also depends on the programming language the algorithm is implemented in, and if (+how) the implementation makes use of parallelization .
Comments.UserDisplayName: knb
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2024-04-10T10:43:09.307Z
Comments.Text: same question as @Dave. At least some examples of what the input and output look like? It is hard to tell what are feasible without knowing what the problem is.
Comments.UserDisplayName: lpounng
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2024-04-10T11:28:30.520Z
Comments.Text: @Dave, Edited...
Comments.UserDisplayName: user366312
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2024-04-11T01:37:38.730Z
Comments.Text: @user366312 can I take that basically you have 4-12 as features and trying to predict the label 3?
Comments.UserDisplayName: lpounng
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2024-04-11T04:32:51.730Z
Comments.Text: @lpounng, Yes...
Comments.UserDisplayName: user366312
Tags: <neural-networks><machine-learning>
Title: Which type of ML algorithm takes the least amount of time for training?
UserDisplayName: user366312
ThreadText: # Which type of ML algorithm takes the least amount of time for training?
  
  (Asked by: username_0 on 2024-04-09)
  
  I am doing research on proteins.
  
  I have 17,000 `*.CSV` files on my hard disk. These files represent the chains of proteins. I want to use these `*.CSV` files to train an ML algorithm.
  
  ```
     5 CYS C  6.291   8.720 11.751 0 0 0 0  0  0
     6 TRP C  6.400   9.519 11.188 0 0 0 0  0  0
     7 VAL C  6.095   8.796 11.456 0 0 0 0  0  0
     8 ASP C  5.517   7.230  9.510 0 0 0 0  0  0
     9 ASN C  5.843   8.836 10.235 0 0 0 0  0  0
    10 GLU C  5.553   6.811 10.546 0 0 0 0  0  0
    11 GLU C  6.594   7.723  8.656 0 0 0 0  0  0
    12 ASP C  6.034   8.717 10.241 0 0 0 0  0  0
    13 ILE H  5.367   5.205  7.790 0 0 0 0  0  0
    14 ASP H  5.407   5.105  6.383 0 0 0 0  0  0
    15 VAL H  5.417   5.108  6.146 0 0 0 0  2  0
    16 ILE H  5.474   5.196  6.168 0 0 0 0  5  0
    17 LEU H  5.427   5.188  5.997 0 0 0 0  1  0
  
  ```
  
  1. Residue number (for debug purpose only, NOT A FEATURE)
  2. Residue type (for debug purpose only, NOT A FEATURE)
  3. Secondary structure (TRUE LABEL)
  4. r13
  5. r14
  6. r15
  7. Neighbor count within 4Å
  8. Neighbor count within 4.5Å
  9. Neighbor count within 5Å
  10. Neighbor count within 6Å
  11. Neighbor count within 8Å
  12. Hydrogen bonds count
  
  I have been using neural networks thus far. However, I am fed up with the amount of time needed for each training run. Coz, the extensive amount of time hinders the progress of my research.
  
  Which ML algorithm will take the least amount of time to train and produce results?
  
  **Tags:** neural-networks, machine-learning
  
  > **Comments:**
  > **username_1**: Probably it depends on the task and the goal you want to achieve and the data you got?  
  > **username_2**: I think it also depends on the programming language the algorithm is implemented in, and if (+how) the implementation makes use of parallelization .  
  > **username_3**: same question as @username_1. At least some examples of what the input and output look like? It is hard to tell what are feasible without knowing what the problem is.  
  > **username_0**: @username_1, Edited...  
  > **username_3**: @username_0 can I take that basically you have 4-12 as features and trying to predict the label 3?  
  > **username_0**: @username_3, Yes...  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_3 on 2024-04-11. Score: 2
  
  From the description it sounds like a usual classification problem, which implies you can try every classification algorithm you want e.g. those listed on [Scikit-Learn's doc](https://scikit-learn.org/stable/supervised_learning.html).
  
  In terms of speed linear model should be fastest (let alone dummy classifier). In terms of performance the state of the art is the gradient-boosted tree family e.g. [Lightgbm](https://lightgbm.readthedocs.io/en/stable/). You can experiment and see what fits your scenario.
  
  The rule of thumb is to test your ideas on simple (and fast) methods first before going deep and complex.
  
  
  ---
  
  ### Answer by username_4 on 2024-04-09. Score: 1
  
  *Which ML algorithm will take the least amount of time to train and produce results?*
  
  usually training time, prediction time and performances, don't really go along with eachother:
  
  * KNN has O(1) training, O(n log k) complexity in evaluation, but doesn't really work most of the times
  * linear regression has O(n^3) training time, O(1) evaluation, but most of the times it's too simple
  
  But all of this bounds are theoretical, and they are off by a constant, thus it definitely depends on the hyperparameters that you use, and the use case that you have to do with them
  
  
  ---
  
  