I'm new to Machine Learning.
Q: How can I use ML to classify graphs?
My goal is to create a machine learning model that can take a function as an input and return a string that classifies the graph as an output. For example, given $\sin(x)$, the graph will return "sinusoidal". Of course, I'll put a bound on the types of graphs that can be classified (i.e., only sinusoidals, exponentials, and lorentzians). For instance:
Even though this is a simple classification task, I'm not sure how to tackle it. Here are some of my questions:
- Is there any specific python ML library suited for this type of classification task?
- Is there an existing sci-kit learn model that I can modify to my needs?
- How should I acquire my training data? On the one hand, I could manually take hundreds of screenshots of different graphs, but that would be a lot of work. Alternatively, much like I did here, I can randomly generate graphs and then feed points from the graphs into the machine learning model. The second method seems to be much easier, but then I can't use a CNN anymore. What can I use, if anything?
Any help is appreciated. Thank you.