There are different programming languages in the tech-sphere, but most preferred programming language for ML are Python and R.
Python is more recommended. Why? Because its popular, easy to learn and future-ready.
With Python, you can switch domains easily too. Python offers popular frameworks like Django and Flask for backend development, Tkinter for GUI development, Pygames for Game development, etc.
If you go with Python, you must learn sklearn for Machine Learning. Sklearn is a modern machine learning library written in Python.
The best thing about sklearn is that most of the Machine learning algorithms are written for you already. It has a lot of useful classes for preprocessing your data for further analysis
You should also look into the Tensorflow module, which can help you build a neural network without many efforts.
You can follow any of the resources below according to which you are comfortable with:
- Python Crash Course (Book)
- Head First Python (Book)
- Python (official website)
- And Other websites like geeksforgeeks, realpython, programmiz, w3school.
Yes, there's maths here too. You should learn Linear Algebra if you want to master Machine Learning.
This is essential because if you want to tune your models with maximum flexibility, you need to know how they work, and knowing linear algebra is a must for that!
You can start learning linear algebra paralley with Programming Language.
- Notes on Linear Algebra (Book)
- Mathematics for Machine Learning (Book)
- Videos Tutorial by IIT Rorkee
You should have the good knowledge of Statistics and Probability. It is required for Machine Learning because with a decent understanding of statistical methods you can convert raw observations into information that is easy to understand, digest, and share. This will allow you to create machine learning models that will consistently deliver results.
After haviing the good knowledge of Programming Fundamentals; you should explore libraries:
- Numpy
- Pandas
- All this will be helpful to debug the python/sklearn code.
In order to get an idea of how these Machine learning algorithms work from within, look into:
- Supervised vs Unsupervised learning
- KNN (K Nearest Neighbours)
- SVM (Support Vector Machine)
- Decision Tree
- Random Forest
- Overfitting, Underfitting
- Regularization
- Gradient Descent
- Slope
- Reinforcement Learning
- Basic Linear Regression
- Logistic Regression
- Clustering
- Confusion Matrix
- Working of all such similar models
- Machine Learning For Dummies (Book)
- Python Machine Learning (Book)
- Supervised Machine Learning: Regression and Classification
- Made With ML
- Stanford CS229: Machine Learning Full Course
Machine Learning is not only about the Algorithms. It also depends upon the data. So, for higher accuracy of Machine you should also learn:
- Handling Null Accuracy
- Standardization
- Handling Categorial Values
- One-Hot Encoding
- Feature Scaling
Now, after having the clear concepts of Programming Language, its libraries, and ML Algorithms you can move forward to learn ML libraries:
- Scikit Learn
- Matplotlib
- Tensorflow
- Machine Learning Crash Course with TensorFlow
- Scikit Learn
- Tensorflow
- Matplotlib
- Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow (Book)
To host your machine learning models with a powerful backend, you will need to learn frameworks like Django and Flask.
Docker and Kubernetes can be of great help if you want to ship and deploy your models quickly.
Streamlit is worthy of looking into if you wish to build custom web apps for machine learning and data science.
After Learning theories and learning from different resources start doing practice and enhance your skills.