When you work in python, you'll be working with several frameworks and many of them work only on specific versions of python.
Now imagine downloading a new version of python and then installing it for every framework you want to work with. 😬
Meet Anaconda which allows you to run several versions of python. It comes pre-installed with several data sciences and machine learning frameworks.
Pip-env is also a way of maintaining several versions of Python and comes pre-installed with Python.
You can use pip env or Anaconda, whichever works best for you.
Jupyter notebooks is an IDE just like VS Code or Sublime. The special thing about Jupiter is that you can parts of code in mini code editors called cells. This is great for prototyping and testing code.
Collab is a jupyter notebook running on google's servers which gives you access to GPUs and TPUs for training machine learning models faster for free, yes free.
I like to call Kaggle the codepen for machine learning and data science. This is the place where you show off your machine learning skills. You have access to datasets for which you can make machine learning models and compete with other people around the world.
TensorFlow is a framework for machine learning,it has variants like TensorFlow.js for machine learning in the browser, TensorFlow lite for machine learning on mobile phones, and the standard TensorFlow library.
PyTorch is an open-source machine learning library based on the Torch library, used for applications such as computer vision and natural language processing. It is very similar to TensorFlow in the things you can do in it with differences in the syntax.
Matplotlib is a library for plotting data into pie charts, bar charts, and whatever kinds of graphs you can imagine.
Numpy replaces the lists in Python with its lists, but why? Aren't the default lists good enough? The thing is that NumPy lists are much faster than Python lists, hence the wide usage of NumPy.
SciKit learn is a machine learning library that features various classification, regression, and clustering algorithms including support vector machines. These are complex computations you may need in training your machine learning model.
Pandas basically allows you to interact with Data in CSV files, databases etc. using something called a "dataframe".