Answers.Body: <p>You're basically looking for is <a href="https://en.wikipedia.org/wiki/Unsupervised_learning" rel="nofollow noreferrer">unsupervised learning</a> (UL).  There are a lot of UL techniques around, but I'm not sure you'll find one that does exactly what you want with no user input at all. Still, if you skim the literature on these approaches, you may well find something useful.</p>
  
  <p>One option is <a href="https://en.wikipedia.org/wiki/DBSCAN" rel="nofollow noreferrer">DBSCAN</a>, a very popular clustering algorithm that does not require the user to input an initial target number of clusters (something that most clustering algorithms do require).  But even then, you still have to give the algorithm values for <code>epsilon</code> (a distance used in calculating the clusters) and <code>minPts</code> (the minimum number of points required to constitute a "dense" region). </p>
  
  <p>You might also look at <a href="https://en.wikipedia.org/wiki/Self-organizing_map" rel="nofollow noreferrer">self-organizing maps</a>, an approach to unsupervised learning for neural networks.  </p>
  
  <p>Some other search terms that might lead you in a useful direction include "data mining" and "knowledge discovery in databases" (KDD). </p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2017-04-11T01:03:32.660Z
Answers.LastActivityDate: 2019-06-25T16:53:08.227Z
Answers.LastEditDate: 2019-06-25T16:53:08.227Z
Answers.UserDisplayName: mindcrime
Answers.Body: <p>First, you must classify each chunk of the CSV file and label it based on the current situation, like A) optimal situation B) critical.</p>
  
  <p>Then you cluster your data with an unsupervised learning algorithm, like SOM or k-means, and then you simply classify the classes you will get.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2017-03-08T08:16:42.453Z
Answers.LastActivityDate: 2019-06-25T16:49:30.643Z
Answers.LastEditDate: 2019-06-25T16:49:30.643Z
Answers.UserDisplayName: simonepi
Answers.Body: <p>Restricted Boltzmann Machines (RBMs) can identify patterns in a CSV file without the user specifying any conditions. They are well fitted for generating, "distributed and graded representations," of a, "complex set of features composing real high-dimensional data is crucial for achieving high performance in machine–learning tasks."<sup>1</sup></p>
  
  <p>Because the CSV format is specifically designed to represent instances in rows and a static set of attributes in columns, the set up of the training is straightforward. If the goal is to identify temporal patterns, a windowing strategy may be required.</p>
  
  <p>K-RBMs are a merger of k-mean approaches with RBMs. The choice of approach has much to do with what kinds of patterns are sought. The term pattern can apply to simple trends in numbers over time, common patterns found in textual columns, or complex patterns inferred from multiple columns.</p>
  
  <p><strong>References</strong></p>
  
  <p>[1] <a href="https://arxiv.org/pdf/1611.06759.pdf" rel="nofollow noreferrer"><em>Emergence of Compositional Representations in Restricted Boltzmann Machines</em>, J. Tubiana, R. Monasson, 2017)</a></p>
  
  <p>[2] <a href="https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/41320.pdf" rel="nofollow noreferrer"><em>Learning Multiple Non-Linear Sub-Spaces using K-RBMs</em>, Siddhartha Chandra, Shailesh Kumar &amp; C. V. Jawahar</a></p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-12-08T09:39:05.007Z
Answers.LastActivityDate: 2018-12-08T09:39:05.007Z
Answers.UserDisplayName: Douglas Daseeco
Answers.Body: <blockquote>
    <p>I need a machine learning algorithm to identify any patterns in a CSV file</p>
  </blockquote>
  
  <p>You want to do <a href="https://en.wikipedia.org/wiki/Unsupervised_learning" rel="nofollow noreferrer">unsupervised learning</a>. The Wikipedia definition of the same is:</p>
  
  <blockquote>
    <p>Unsupervised machine learning is the machine learning task of inferring a function to describe hidden structure from "unlabeled" data (a classification or categorization is not included in the observations).</p>
  </blockquote>
  
  <p>I shall recommend you to go through the list of unsupervised learning algorithms <a href="https://en.wikipedia.org/wiki/Unsupervised_learning" rel="nofollow noreferrer">here</a> and use the one which would fit your need.</p>
  
  <p>If you're starting out, then I would recommend starting with learning the <a href="https://en.wikipedia.org/wiki/K-means_clustering" rel="nofollow noreferrer">K-means clustering algorithm</a>.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2017-04-10T17:55:02.690Z
Answers.LastActivityDate: 2019-06-25T16:45:04.607Z
Answers.LastEditDate: 2019-06-25T16:45:04.607Z
Answers.UserDisplayName: Dawny33
Body: <p>I need a machine learning algorithm to identify patterns in a dataset (saved in a CSV file) that contains details of the cache performance of a CPU. More specifically, the dataset contains columns like <code>Readhits</code>, <code>Readmiss</code> or <code>Writehits</code>.</p>
  
  <p>The patterns the algorithm identifies should be helpful in the following ways.</p>
  
  <ol>
  <li><p>help the user to increase the performance of the workload next time,</p></li>
  <li><p>help to identify any problems based on the features, or</p></li>
  <li><p>help the user to predict future data values or future events that may occur based on the patterns.</p></li>
  </ol>
  
  <p>Which ML algorithms can I use?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-12-08T18:47:06.163Z
Comments.Text: I would personally go with k-means clustering. Its designed for problems like this.
Comments.UserDisplayName: William Scott
Tags: <machine-learning><algorithm><unsupervised-learning><pattern-recognition>
Title: Which machine learning algorithm can be used to identify patterns in a dataset of the cache performance of a CPU?
UserDisplayName: aAAAAAAa
ThreadText: # Which machine learning algorithm can be used to identify patterns in a dataset of the cache performance of a CPU?
  
  (Asked by: username_0 on 2017-03-06)
  
  I need a machine learning algorithm to identify patterns in a dataset (saved in a CSV file) that contains details of the cache performance of a CPU. More specifically, the dataset contains columns like `Readhits`, `Readmiss` or `Writehits`.
  
  The patterns the algorithm identifies should be helpful in the following ways.
  
  1. help the user to increase the performance of the workload next time,
  2. help to identify any problems based on the features, or
  3. help the user to predict future data values or future events that may occur based on the patterns.
  
  Which ML algorithms can I use?
  
  **Tags:** machine-learning, algorithm, unsupervised-learning, pattern-recognition
  
  > **Comments:**
  > **username_1**: I would personally go with k-means clustering. Its designed for problems like this.  
  
  ---
  
  ## 4 answers
  
  ### Answer by username_2 on 2017-04-11. Score: 3
  
  You're basically looking for is [unsupervised learning](https://en.wikipedia.org/wiki/Unsupervised_learning) (UL). There are a lot of UL techniques around, but I'm not sure you'll find one that does exactly what you want with no user input at all. Still, if you skim the literature on these approaches, you may well find something useful.
  
  One option is [DBSCAN](https://en.wikipedia.org/wiki/DBSCAN), a very popular clustering algorithm that does not require the user to input an initial target number of clusters (something that most clustering algorithms do require). But even then, you still have to give the algorithm values for `epsilon` (a distance used in calculating the clusters) and `minPts` (the minimum number of points required to constitute a "dense" region).
  
  You might also look at [self-organizing maps](https://en.wikipedia.org/wiki/Self-organizing_map), an approach to unsupervised learning for neural networks.
  
  Some other search terms that might lead you in a useful direction include "data mining" and "knowledge discovery in databases" (KDD).
  
  
  ---
  
  ### Answer by username_3 on 2017-03-08. Score: 0
  
  First, you must classify each chunk of the CSV file and label it based on the current situation, like A) optimal situation B) critical.
  
  Then you cluster your data with an unsupervised learning algorithm, like SOM or k-means, and then you simply classify the classes you will get.
  
  
  ---
  
  ### Answer by username_4 on 2018-12-08. Score: 0
  
  Restricted Boltzmann Machines (RBMs) can identify patterns in a CSV file without the user specifying any conditions. They are well fitted for generating, "distributed and graded representations," of a, "complex set of features composing real high-dimensional data is crucial for achieving high performance in machine–learning tasks."1
  
  Because the CSV format is specifically designed to represent instances in rows and a static set of attributes in columns, the set up of the training is straightforward. If the goal is to identify temporal patterns, a windowing strategy may be required.
  
  K-RBMs are a merger of k-mean approaches with RBMs. The choice of approach has much to do with what kinds of patterns are sought. The term pattern can apply to simple trends in numbers over time, common patterns found in textual columns, or complex patterns inferred from multiple columns.
  
  **References**
  
  [1] [*Emergence of Compositional Representations in Restricted Boltzmann Machines*, J. Tubiana, R. Monasson, 2017)](https://arxiv.org/pdf/1611.06759.pdf)
  
  [2] [*Learning Multiple Non-Linear Sub-Spaces using K-RBMs*, Siddhartha Chandra, Shailesh Kumar & C. V. Jawahar](https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/41320.pdf)
  
  
  ---
  
  ### Answer by username_5 on 2017-04-10. Score: 0
  
  > I need a machine learning algorithm to identify any patterns in a CSV file
  
  You want to do [unsupervised learning](https://en.wikipedia.org/wiki/Unsupervised_learning). The Wikipedia definition of the same is:
  
  > Unsupervised machine learning is the machine learning task of inferring a function to describe hidden structure from "unlabeled" data (a classification or categorization is not included in the observations).
  
  I shall recommend you to go through the list of unsupervised learning algorithms [here](https://en.wikipedia.org/wiki/Unsupervised_learning) and use the one which would fit your need.
  
  If you're starting out, then I would recommend starting with learning the [K-means clustering algorithm](https://en.wikipedia.org/wiki/K-means_clustering).
  
  
  ---
  
  