This repo contents all the informations regarding workshop on Machine Learning by NSU ACM SC.
- Introduction to Machine Learning
- Intuition of the most common ML Algorithms
- Applications of ML
- Pre-processing Data for ML models
- Use of different ML Algorithms
- Implementation of Algorithms
-
More Applications, Data Visualizations, Feature Engineering, Summary and Q/A
The instructors for this workshop are
Asif Ahmed Neloy
Mostafa Didar
Forked and modified for this workshop from - Beginner-Machine-Learning-Resources
Also published as a Article on Medium
-
Language :
python3
, you can opt forpython2
and many older tutorials or books are onpython2
but it will soon become obsolete, so its better to focus onpython3
. Yes you can go forJava
orC++
, but not recommended for beginners. Python just has better tools these days. -
Linear Algebra : You can follow resources given, also NSU offers
MAT125
course on Linear Algebra. -
Statistics : Again NSU offers
MAT361
for this purpose, if you're yet to do the course or if you think that you need easier or more elaborate resources you can follow the resource links. -
Reading a lot of books and the willingness to try them out, implement them writing code : This is important. You have to keep in mind that Machine Learning as a field is vast and you'll need to study a lot. So the key is to read, write code, discuss among your friends. Discussing is the best way to get things done because you will always meet someone who has some better idea or has a better concept or knows the topic better.
-
Follow people on twitter: Follow the experts of the field online. Ironically hardly any of them are on facebook so your best bet to find them is twitter. A list of people to follow is given at the end. Also read medium publication Towards Data Science. I haven't found any other publication that much organized on this topic.
-
Where to get ideas about projects?: Github is a good place to start with.
-
Don't waste time running after everything: Do one thing at a time, it's very tempting to run after cool things people are doing. Fine, you're a beginner, hold your horses, learn things better, then you'll see that you can make things better and cooler than those guys. 🤓
-
If things get difficult?: Things will get difficult at times. So, don't lose hope. Be on your path and things will get just fine 😄
-
Practice on Kaggle: You should practice there. The best place to practice actually but first learn some basics. Kaggle is to machine learning what UVA is to Competitive Programming.
-
If you're Windows: Some python packages are difficult to install on Windows. No that doesn't mean you have to get Linux or macOS to do things (well things are easier there!). Instead of using Python from their official site, you can download and install Anaconda, a python distribution that comes with all the packages you need to get started with machine learning/ data science/ scientific computing.
These are probably the best resources to begin with, follow whichever you like, all do the same job though. (Don't go to follow everything at once!)
- edx Python for Data Science
- Using Python for Research by Harvard edx
- Sentdex Introduction to Matplotlib for data Visualization
Only IDE I can suggest in a heart beat is Pycharm. The community edition is free and you get the Professional Edition for free if you register with your NSU Email in the Jetbrains Student Program.
-
One rule of thumb is, when you're beginning to learn theoretical topics, it's best not to touch frameworks, use only what is necessary and try writing things from scratch, this way you get to know more and also the problems you face and solve will deepen your understanding on the topic.
-
Still there are some python modules you need to use to make life easier. Just use
numpy
for mathematical stuff andmatplotlib
for visualizing graphs. -
When you've a good grasp of things: use
scikit-learn
-
You'll get more information on this in the online courses! 😅
- Introduction to Machine Learning by Andrew NG
- Machine Learning Foundations: A Case Study Approach
- Applied Machine Learning in Python
- Practical Machine Learning
- Machine Learning Fundamentals by UCSanDiego on Edx
- Sentdex - Machine Learning with Python
- Udacity Intro to Machine Learning
So many resources, what to follow eh? Good question. One thing about learning is that there's nothing called a universal good resource. It depends on the learners what they find best. Start exploring and find out the best one for you. 🧐
And this list is not the end of the world, you may find sources that are better!
Best and the easiest courses? Follow Khan Academy -
Some prefer books for then online courses and the problem with books is that different books take different approaches. Thanks to our friends at NSU ACM SC R&D, they've created a nice repository of books in digital format - link here. Books ain't cheap, and you won't find every book in the local market as well.
Well distributing digitals copies is kind of illegal but we live in a country where buying a book with 4~5K BDT isn't feasible.
You can use libgen.io to get books in PDF or ePub format.
If you want to get literature, visit scihub. You can also get IEEE or ACM Library membership (you need to pay yearly for that) to read papers and books (unless you want to use scihub or libgen)
Very few people have the guts to go in depth and discuss things in Bangla, and Manash vai is one of them. His online book on machine learning is one of the best and it's in Bangla! And you can read it for free. Also you can follow his projects on his github repo.
- Link : https://ml.manash.me
- Start with any of the online courses (other than the case study approach, do that after you have done at least one course).
- Some people understand theories better, for them the Andrew NG course is the best place to start.
- Some people understand theories better when it's discussed in code. So for coder people (like me 🤓) start with any other course in the list.
- Things may seem overwhelming at times, so do this, drink more water, because human brain works better when it's swimming in a bath of fluid, take breaks, stop punishing yourself, discuss things with people, use groups, search in Google, annoy people who can help you and etc.
- Avoid wannabe people. Machine Learning has gained greater hype than the Justice League Trailer. So obvious there will be no shortage of people online who know very little and will pretend they know a lot. So, avoid those people.
- Anaconda installation guide : https://github.com/NeloyNSU/Install-Anaconda-on-Windows-10/blob/master/README.md
- jupyter notebook guide : https://github.com/NeloyNSU/Jupyter-Notebook-Guide-for-Windows-10/blob/master/README.md
- Get active on Quora. Ask questions, search and try to answer.
- Medium Towards Data Science
- NSU ACM SC Medium Publication
The discussion has been divided into multiple markdown files in the docs folder. You can read the from there or just click on the links below to get there.