I want to get into machine learning.
However, the field currently seems to prefer Python.
While I would very much like to learn a new language, I have to learn so much stuff for work and my other hobbies, that I really prefer to use Java (which I *kinda* know...).
From what I see, there's nothing particularly special about python for ML, only that there are lots of libraries and worked-out examples...
I bet Java might even do better performance!
Question is, is it feasible for me to start a small ML project with Java or it's a dead-end road?
In particular, my half-study-half-useful project is about an approximation pathfinder for mental unit conversion ("APMUC").
For example, KG to Lbs:
KG x 2 + 10% (I found this myself, with pen and paper)
This is two (three actually) steps of simple mental arithmetic and yields a pretty useful result (-0.21% accuracy)
1. Approximation should not yield results over a certain accuracy
2. Number of steps in the "found" path may not exceed the required number of steps
3. Only addition, subtraction, multiplication and division allowed (% also allowed)
4. Multiplication only by "easy" factors: 2, 3, 4, 5, 10
5. Division only by "easy divisors": 2, 10
6. Only "easy" percentages like: 1%, 10%...
Expected accuracy in absolute %
Exact factor (2.20462, in the above example)
Number of steps (should be 1-4, if we want to keep things memorable)
The ML will try to mix and match the rules to find any paths that cover the accuracy and step-number requriements
Output: a table of formulas (like: "<startingNumber> X 2 + 10%-of<startingNumber>"), with the "stepCount" and "accuracy" for each, for the user to pick the best approximation and use in daily life
I know there are various ML approaches to solving this but I guess anything that works will be fine.
Do you reckon I am likely to find the supporting libraries in Java or "the AI/ML train" has left the "java station"?
(yes, I know I can probably brute force this without ML, but I want to use this project to access ML knowledge a little bit, please!)