This is an overview of the most popular data science (machine learning, data mining, and artificial intelligence) tools for Python.

Interest in these fields (artificial intelligence (AI), machine learning (ML), etc.) has increased over the past 5 years and python earned the first place as the most popular "data science" language.

machine learning in python

So, here is the list of top seven data science tools, frameworks, services, and modules for python


TensorFlow is an end-to-end open-source platform for machine learning. It has a comprehensive, flexible ecosystem of tools, libraries and community resources that lets researchers push the state-of-the-art in ML and developers easily build and deploy ML-powered applications.

It's originally developed by Google and currently supported by a huge community of machine learning professionals. Source code is available on GitHub and the community is open for contributions.

TensorFlow was designed to easily build ML models by using intuitive high-level APIs like Keras, train and deploy them in the cloud, and simplify the experimentations for researchers.

On the official website, you can find comprehensive documentation and a quick starting  guide


PyTorch is an open-source machine learning framework that accelerates the path from research prototyping to production deployment.

PyTorch does two things quite good. The first one, it accelerates tensor computation using a powerful GPUs. The second one, it builds dynamic neural networks on a tape-based autograd system, thus allowing re-use and better performance. If you’re an academic or an engineer who wants an easy-to-learn package to perform these two things, PyTorch is for you.

They also have a really good "Get Started" section with a lot of examples.


SciPy (pronounced “Sigh Pie”) is a Python-based ecosystem of open-source software for mathematics, science, and engineering that includes several packages. If you’re a data scientist or engineer who wants the whole kitchen sink when it comes to running scientific computing, you’ve definitely should have SciPy installed.

It includes a few modules:

You can easily start using after reading getting start section of the website.

Here is the simplest example:

import numpy as np
print("I like ", np.pi)


Scikit-Learn is a set of simple and efficient tools for predictive data analysis accessible to everybody, and reusable in various contexts. It's open-source (BSD license) and built on NumPy, SciPy, and matplotlib.

David Cournapeau started it as a Google Summer of Code project. Since then, it’s grown to over 25,000 commits and more than a hundred releases. Companies such as J.P. Morgan and Spotify use it in their work.

Because Scikit-Learn has a gentle learning curve, the people on the business side of an organization can use it too. A range of tutorials on the Scikit-Learn website shows you how to analyze real-world data sets. If you’re a beginner and want to pick up a machine learning library, Scikit-Learn is the one to start with.


Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlowCNTK, or Theano. It was developed with a focus on enabling fast experimentation. Being able to go from idea to result with the least possible delay is key to doing good research.

Keras is popular amongst deep learning library aficionados for its easy-to-use API. Jeff Hale created a compilation that ranked the major deep learning frameworks, and Keras compares very well.


pandas is an open-source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language.

While it's not strictly a machine learning library, it’s well-suited for data analysis and manipulation for large data sets. In particular, people enjoy using it for its data structures, such as the DataFrame, the time series manipulation and analysis, and the numerical data tables. Many business-side employees of large organizations and startups can easily pick up pandas to perform analysis. Plus, it’s fairly easy to learn, and it rivals competing libraries in terms of its features in data analysis.


Caffe is a deep learning framework made with expression, speed, and modularity in mind. It is developed by Berkeley AI Research (BAIR) and by community contributors. Yangqing Jia created the project during his Ph.D. at UC Berkeley. Caffe is released under the BSD 2-Clause license.

I should highlight that Caffe assumes you have at least a mid-level knowledge of machine learning, although the learning curve is still relatively gentle.


It's just an overview article, no specifics or comparison. Just to give you a global view on the data science ecosystem in python. There are more great tools, frameworks, and services available in python that are not part of this overview.

This article was made in collaboration with Kite and based on the article in Kite's blog.