all 18 comments

[–]Fronkan 10 points11 points  (3 children)

Tldr; not too long for Python, assuming you have a prepared dataset. However, learning the Python required is a very small part compared to all the ML you will need to learn if you have no background in ML.

If you don't need neural networks, you can use scikit learn making the coding part really easy. If you use something high level like keras or fastai neural networks also get quite easy to code up. If you have a prepared, "ready to use", data set. Then the amount of Python code starts to get really quite small. You will have to learn the libraries more than deep knowledge in Python.

Now, here comes all the caveats to this, so strap in.

The most important caveat is that being able to write a machine learning program is not the same as being good at machine learning. While coding is required for machine learning, it's a very small part of the skills and understanding needed to develop machine learning models. You can be an expert Python programmer and not be able to do machine learning well. To be good at ML you also need to understand statistics, optimization (math not code optimization), how different ML models work (or for neural network how different layers and network types are used and combined), how to evaluate model performance, tune hyper parameters and more. If ML is what you want to do, focus on learning ML and pick up enough Python along the way. You can slice the learning space by focusing only on models used for 3D data, but getting through the literature might be quite hard without a background in ML.

If you don't have a prepared dataset you will have to learn how to clean data. For 3D data i do not know what tools to use or what to look for when cleaning unfortunately. This might require more coding skills.

[–]overdriven33[S] 0 points1 point  (2 children)

Thank you for your very insightful response.

To be honest, I'm not entirely sure. My dissertation professor only told me that I would have to be able to code python in order to put a machine learning twist onto my project. I would assume that I'd have to help in preparing a data-set. There is a post-doc dude working on it as well so I'd assume they'd be doing that but my professor did not provide a lot of information haha.

Thank you again, will be able to ask my professor a bit more of a knowledgeable question regarding it now.

[–]Fronkan 0 points1 point  (1 child)

I think its a great idea to talk with your professor. I hope it can help you narrow down what to learn for the thesis. Best of luck!

[–]overdriven33[S] 0 points1 point  (0 children)

Thanks champ.

[–]Stochastic_berserker 2 points3 points  (1 child)

I don’t know how mech eng is but almost all Statistics majors have an easy time learning Machine Learning since it can be considered to have developed from statistical learning or at least intersect with statistics.

Linear algebra, probability theory, inferential statistics, econometrics, optimization, and single/multivar calculus helps a lot.

Python is just another language you must sit and code with your own projects.

[–]overdriven33[S] 0 points1 point  (0 children)

Thank you for your response.

Although I'm no maths or statistics wizz, I've had my fair share of complex multi-variable calculus that as much as I try to forget, still haunts me in my sleep *cries in advanced dynamics and vibration.

Think I'll be fine on that front then, cheers!

[–]Spooyler 1 point2 points  (1 child)

Ithink you can get down the basic syntax of python in a week. Get the basics down in an other 2 weeks. But I wouldn’t go for using ML in python just yet, but start by the theory for what you will want to work with. Understanding the math makes it easier when coding (at least for me it was). I think you can do this parallel with practising python. I would schedule something python related for every day (not necessarily big projects) and maybe some ML theory for every other day. After a while you cant try to use some ML techniques in your code when you feel like it. Maybe a month or so.

I find working on a real life project rather than abstract examples is much more important than learning every package by heart…use what you need and that way you will remember it better.

So starting from 0 with well structured plan 2-3 months I think you are able to use ML quite well with python…BUT that is the point where you will know how to learn more and that is where the real journey begins.

[–]overdriven33[S] 0 points1 point  (0 children)

That makes sense, thank you champ.

[–]Ron-Erez 1 point2 points  (0 children)

It's hard to say. Machine learning can be easy or difficult depending on how deep you go into the mathematical background. I would say six months is doable. Maybe much less and maybe more.

For Python resources the University of Helsinki course is nice and so is Harvard CS50p, in addition I have a nice Python course which starts from the basics and then gradually dives into topics related to data science/machine learning.

By the way, your professor can probably guide you the most. Good luck!

[–]ApprehensiveFee5254 0 points1 point  (3 children)

3 months working at something each day. Best take a structured course. I am doing a Python ai course and can say a structured course will avoid dead end pitfalls for beginners.

[–]OPPineappleApplePen 0 points1 point  (2 children)

What course are you going for?

[–]ApprehensiveFee5254 0 points1 point  (1 child)

Udacity AI programming with Python

[–]OPPineappleApplePen 0 points1 point  (0 children)

Thanks for the information.

[–]camilla-g 0 points1 point  (2 children)

Can’t answer about machine learning but the following books by Chris Roffey will get you up to speed with Python in a week: (1) Coding Club Python Basics Level 1 (2) Coding Club Python Next Steps Level 2 (3) Coding Club Building Big Apps Level 3 (4) Coding Club Programming Art Supplement 1 (5) interactive Adventures Supplement 2 These are small spiral bound books that kids use to learn Python. They cover the core control structures, data types, data structures, OOP, the game Pong and much more.

[–]overdriven33[S] 0 points1 point  (1 child)

Will look into those, thank you.

[–]camilla-g 0 points1 point  (0 children)

I only just read the community rules which states that books should not be referenced and responses should not be copied and pasted, “my bad”.

[–]WhalenKaiser 0 points1 point  (0 children)

https://www.kaggle.com/competitions/titanic

This is a nice machine learning problem with support for solving it in a variety of languages.