×

Best Python Libraries for Machine Learning

Machine Learning is an important technology in modern days. It helps us to do the things which were not possible in previous days. If you have interest in Machine Learning then you must know that we have to use different algorithms for this purpose. But it is very time taking process. Just think about an algorithm which has to be manually implemented. So, you have to write all the codes manually. It is very time consuming and boring. To get rid of this, we can use libraries, modules. You must know that Python is a very powerful language for machine learning. It has many libraries to implement Machine Learning algorithms. For this reason, it has become one of the strongest languages for implementing Machine Learning algorithms. In this article, we will discuss about Machine Learning algorithms in details. This article will be helpful for all people who have interest in machine learning. If you are a beginner in Machine Learning then it will be most useful for you.

Let’s see the different Python libraries for implementation of Machine Learning algorithms.

Different Python Libraries

  1. Keras
  2. Matplotlib
  3. Numpy
  4. Pandas
  5. PyTorch
  6. Scikit-learn
  7. Scipy
  8. TensorFlow
  9. Theano

1. Keras

It is one of the most famous and popular libraries of Python. It helps Machine Learning beginners a lot. It smoothly runs on both CPU and GPU. It is considered as high level neural network API. It can run on top of TensorFlow, CNTK, or Theano. One of the main advantage of keras is it can be used for fast and simple prototyping.

Example:

import numpy as nup  
from tensorflow import keras as ks  
from tensorflow.keras import layers as ls  
number_classes = 10  
input_shapes = (28, 28, 1)  
 (x_1_train, y_1_train), (x_2_test, y_2_test) = ks.datasets.mnist.load_data()  
  
x_1_train = x_1_train.astype("float32") / 255  
x_2_test = x_2_test.astype("float32") / 255  
x_1_train = nup.expand_dims(x_1_train, -1)  
x_2_test = nup.expand_dims(x_2_test, -1)  
print ("x_train shape:", x_1_train.shape)  
print (x_1_train.shape[0], "Training samples")  
print (x_2_test.shape[0], "Testing samples")  
y_1_train = ks.utils.to_categorical(y_1_train, number_classes)  
y_2_test = ks.utils.to_categorical(y_2_test, number_classes)  
model_1 = ks.Sequential(  
    [  
        ks.Input(shape = input_shapes),  
        ls.Conv2D(32, kernel_size = (3, 3), activation = "relu"),  
        ls.MaxPooling2D(pool_size = (2, 2)),  
        ls.Conv2D(64, kernel_size = (3, 3), activation = "relu"),  
        ls.MaxPooling2D(pool_size = (2, 2)),  
        ls.Flatten(),  
        ls.Dropout(0.5),  
        ls.Dense(number_classes, activation = "softmax"),  
    ]  
)  
model_1.summary() 

Output:

Best Python Libraries for Machine Learning

2. Matplotlib

This library mainly used for visualization of data. Data scientists use this to check the pattern of data. It mainly shows 2D graphs and charts. There is a module named Pyplot by which we can control different properties of graph or chart like axes, colour and other things. It is not directly related to Machine Learning but it helps developers to visualize the pattern of the data. It is very famous for data visualizing. It can be used to make interactive figures. We can zoom, pan or update these figures. By using this we can customize visual style and layout. We can export several file formats.

Example 1:

import matplotlib.pyplot as plot     
K_1 = [8, 4, 6, 3, 5, 10,   
      13, 16, 12, 21]  
R_1 = [11, 6, 13, 15, 17, 5,   
      3, 2, 8, 19]  
    
K_2 = [6, 9, 18, 14, 16, 15,  
      11, 16, 12, 20]  
R_2 = [16, 4, 10, 13, 18,   
      20, 6, 2, 17, 15]  
plot.scatter(K_1, R_1, c = "Black",   
            linewidths = 2,   
            marker = "s",   
            edgecolor = "Brown",   
            s = 50)   
plot.scatter(K_2, R_2, c = "Purple",  
            linewidths = 2,  
            marker = "^",   
            edgecolor = "Grey",   
            s = 200)  
plt.xlabel ("X-axis")  
plt.ylabel ("Y-axis")  
print ("Scatter Plot")  
plt.show()  

Output:

Best Python Libraries for Machine Learning

Example2:

import matplotlib.pyplot as plot  
import numpy as nup  
K = nup.linspace(2, 4, 8)  
R = nup.linspace(5, 7, 9)  
Q = nup.linspace(0, 1, 3)  
plot.plot(K, K, label = 'K')  
plot.plot(R, R, label = 'R')  
plot.plot(Q, Q, label = 'Q')  
plot.legend()  
plot.show()  

Ouput:

Best Python Libraries for Machine Learning

3. Numpy

It is one of the most famous libraries of Python for Machine Learning development. We can use this library for computations. This library can help us by forming multi-dimensional data from mathematical functions and formulas. This library is used for linear algebra.

Example 1:

import numpy as nup  
K = nup.array([[2, 4], [6, 8]])  
R = nup.array([[1, 3], [5, 7]])  
P = nup.array([10, 12])  
S = nup.array([9, 11])  
   
print ("Inner product of vectors: ", nup.dot(P, S), "\n")  
   
print ("Matrix and Vector product: ", nup.dot(K, P), "\n")  
   
print ("Matrix and matrix product: ", nup.dot(K, R))  

Output:

Best Python Libraries for Machine Learning

Example2:

import numpy as np
x = np.array([[1, 2], [3, 4]])
y = np.array([[5, 6], [7, 8]])
v = np.array([9, 10])
w = np.array([11, 12])
print(np.dot(v, w), "\n")
print(np.dot(x, v), "\n")
print(np.dot(x, y))

Output:

Best Python Libraries for Machine Learning

4. Pytorch

It is one of the most famous libraries of Python for Machine Learning development. By using this library you can do computational tasks. There are many tools available in this library. It is a open source Python Machine Learning library. It is implemented in C language.

Example1:

import torch as tch  
d_type = tch.float  
device_1 = tch.device("cpu")  
N_1 = 62  
D_in_1 = 1000  
H_1 = 110  
D_out_1 = 11  
   
K = tch.randn(N_1, D_in_1, device = device_1, dtype = d_type)  
R = tch.randn(N_1, D_out_1, device = device_1, dtype = d_type)  
   
K_1 = tch.randn(D_in_1, H_1, device = device_1, dtype = d_type)  
K_2 = tch.randn(H_1, D_out_1, device = device_1, dtype = d_type)  
   
learning_rate_1 = 1e-6  
for Q in range(500):  
    h_1 = K.mm(K_1)  
    h_relu_1 = h_1.clamp(min = 0)  
    y_pred_1 = h_relu_1.mm(K_2)  
   
    loss = (y_pred_1 - R).pow(2).sum().item()  
    print (Q, loss)  
   
    grad_y_pred = 2.0 * (y_pred_1 - R)  
    grad_K_2 = h_relu_1.t().mm(grad_y_pred)  
    grad_h_relu = grad_y_pred.mm(K_2.t())  
    grad_h = grad_h_relu.clone()  
    grad_h[h_1 < 0] = 0  
    grad_K_1 = K.t().mm(grad_h)  
   
    K_1 -= learning_rate_1 * grad_K_1  
    K_2 -= learning_rate_1 * grad_K_2  

Output:

Best Python Libraries for Machine Learning

Example2:

import torch
import math
dtype = torch.float
device = torch.device("cpu") 
x = torch.linspace(-math.pi, math.pi, 2000, device=device, dtype=dtype)
y = torch.sin(x)
a = torch.randn((), device=device, dtype=dtype)
b = torch.randn((), device=device, dtype=dtype)
c = torch.randn((), device=device, dtype=dtype)
d = torch.randn((), device=device, dtype=dtype)
learning_rate = 1e-6
for t in range(2000):
y_pred = a + b * x + c * x ** 2 + d * x ** 3
loss = (y_pred - y).pow(2).sum().item()
if t % 100 == 99:
print(t, loss)
grad_y_pred = 2.0 * (y_pred - y)
grad_a = grad_y_pred.sum()
grad_b = (grad_y_pred * x).sum()
grad_c = (grad_y_pred * x ** 2).sum()
grad_d = (grad_y_pred * x ** 3).sum()
a -= learning_rate * grad_a
b -= learning_rate * grad_b
c -= learning_rate * grad_c
d -= learning_rate * grad_d
print(f'Result: y = {a.item()} + {b.item()} x + {c.item()} x^2 + {d.item()} x^3')

5. Pandas

It is one of the most famous libraries of Python for Machine Learning development. This library is used for data analysis. You can use different tools provided here for analysing your data. It is specifically build for data analysis. So, it can help developers a lot.

Example1:

import pandas as pad  
   data_2 = { "Countries": ["Bhutan", "Cape Verde", "Chad", "Estonia", "Guinea", "Kenya", "Libya", "Mexico"],  
      "capital": ["Thimphu", "Praia", "N'Djamena", "Tallinn", "Conakry", "Nairobi", "Tripoli", "Mexico City"],  
       "Currency": ["Ngultrum", "Cape Verdean escudo", "CFA Franc", "Estonia Kroon; Euro", "Guinean franc", "Kenya shilling", "Libyan dinar", "Mexican peso"],  
       "population": [20.4, 143.5, 12.52, 135.7, 52.98, 76.21, 34.28, 54.32]
}  
   
data_2_table = pad.DataFrame(data_2)  
print(data_2_table)  

Output:

Best Python Libraries for Machine Learning

Example2:

import pandas as pd  
data = {'Name':['Jai', 'Prince', 'Gaura', 'Anu','Ji', 'Prini', 'Gaurav', 'Anuj','Jvi', 'Prici', 'Gauv', 'Aaj'],
 ‘Graduation yr’:[ 2020, 2021, 2017, 2015, 2010, 2018, 2020, 2021, 2017, 2015, 2010, 2018 ],
		'Age':[ 27, 24, 22, 32, 27, 24, 22, 32,27, 24, 22, 32 ],
		'Address':[ “Kanpur”,  'Allahabad', 'Kannauj', 'Delhi',  'Kanpur', 'Allahabad',  'Kannauj', 'Delhi',  'Kanpur',  'Allahabad',  'Kannauj', 'Delhi',  'Kanpur', 'Allahabad',  'Kannauj'],
		'Qualification':['Msc',  'MA',  'MCA' , 'Phd', 'Msc', 'MA', 'MCA', 'Phd','Msc', 'MA', 'MCA', 'Phd']}   
dat = pd.DataFrame(data)  
print (dat [['Name', 'Qualification']])

6. Scikit-learn

This Python library is very famous among developers. In this library we can implement both supervised and unsupervised algorithms. This library is build from two main libraries of Python which are Numpy and Scipy. This library can help us in data analysis and data mining. We can use this library for implementing Machine Learning algorithms.

Example1:

from sklearn import datasets as ds  
from sklearn import metrics as mt  
from sklearn.tree import DecisionTreeClassifier as dtc  
dataset_1 = ds.load_iris()  
   
model_1 = dtc()  
model_1.fit(dataset_1.data, dataset_1.target)  
print(model)  
   
expected_1 = dataset_1.target  
predicted_1 = model_1.predict(dataset_1.data)  
   
print (mt.classification_report(expected_1, predicted_1))  
print(mt.confusion_matrix(expected_1, predicted_1))  

Output:

Best Python Libraries for Machine Learning

Example2:

from sklearn import datasets
from sklearn import metrics
from sklearn.tree import DecisionTreeClassifier
dataset = datasets.load_iris()
model = DecisionTreeClassifier()
model.fit(dataset.data, dataset.target)
print(model)
expected = dataset.target
predicted = model.predict(dataset.data)
print(metrics.classification_report(expected, predicted))
print(metrics.confusion_matrix(expected, predicted))

Output:

Best Python Libraries for Machine Learning

7. Scipy

Machine Learning developers use this library for the tasks which involve manipulation of image. It is very famous library for Machine Learning because there are many things for performing several tasks like linear algebra, statistics and others.

Example1:

import numpy as np
from scipy.spatial import ConvexHull
import matplotlib.pyplot as plt


points = np.array([
[2, 5],
  [3, 4],
  [3, 1],
  [2, 2],
  [4, 1],
  [1, 4],
  [5, 0],
  [3, 1],
  [1, 2],
  [0, 7]
])


hull = ConvexHull(points)
hull_points = hull.simplices


plt.scatter(points[:,0], points[:,1])
for simplex in hull_points:
  plt.plot(points[simplex,0], points[simplex,1], 'k-')


plt.show()

Output:

Best Python Libraries for Machine Learning

Example2:

import numpy as np
from scipy.sparse.csgraph import floyd_warshall
from scipy.sparse import csr_matrix
arr = np.array([
  [0, 1, 2],
  [1, 0, 0],
  [2, 0, 0]
])
newarr = csr_matrix(arr)
print(floyd_warshall(newarr, return_predecessors=True))

Output:

Best Python Libraries for Machine Learning

Example3:

from scipy.spatial import KDTree


points = [(1, -1), (2, 3), (-2, 3), (2, -3)]


kdtree = KDTree(points)


res = kdtree.query((1, 1))


print(res)

Output:

Best Python Libraries for Machine Learning

8. Tensorflow

This Machine Learning library was developed by brain team of Google. It is a very famous library in Python for Machine Learning development. It is an open source library. If you want to develop some artificial intelligence applications then you will need Tensorflow. It can be used for developing deep neural networks. For defining and performing computational tasks you should use this library.

Example1:

import tensorflow as tsf  
   
K_1 = tsf.constant([2, 4, 6, 8])  
K_2 = tsf.constant([1, 3, 5, 7])  
result = tsf.multiply(K_1, K_2)  
   
sess_1 = tsf.Session()  
print (sess_1.run(result))  
   
sess_1.close()  


Output:

Best Python Libraries for Machine Learning

Example2:

import tensorflow as tf
# Initialize two constants
x1 = tf.constant([1, 2, 3, 4])
x2 = tf.constant([5, 6, 7, 8])
result = tf.multiply(x1, x2)
sess = tf.Session()
print(sess.run(result))
sess.close()


Output:

Best Python Libraries for Machine Learning

9. Theano

This is a very useful and powerful Machine Learning library. For computational tasks you can use this library. It is often used in long running projects where you need computational data very much. This library works very efficiently. It optimizes the use of CPU and GPU. It is used for self testing and detecting error. If you need to do mathematics and statistics then this library can help you very much.

Example1:

import theano
import theano.tensor as T
x = T.dmatrix('x')
s = 1 / (1 + T.exp(-x))
logistic = theano.function([x], s)
logistic([[0, 1], [-1, -2]])


Output:

Best Python Libraries for Machine Learning

Example2:

import numpy
import theano.tensor as T
from theano import function
x = T.dmatrix('x')
y = T.dmatrix('y')
z = x + y
f = function([x, y], z)
f([[30, 50], [2, 3]], [[60, 70], [3, 4]])

Output:

Best Python Libraries for Machine Learning

Example3:

import numpy
import theano.tensor as T
from theano import function
x = T.dscalar('x')
y = T.dscalar('y')
z = x + y
f = function([x, y], z)
f(5, 7)

Output:

Best Python Libraries for Machine Learning

10. OpenCV

 It is a very famous Python library. We can use this for image processing. It has very much efficiency in computations. It is used in real time computers.

Example1:

import cv2
import os
image_path = r'C:\Users\Rish\Desktop\G\gs.png'
directory = r'C:\Users\Rish\Desktop\G'
img = cv2.imread(image_path)
os.chdir(directory)
print("Before saving image:")
print(os.listdir(directory))
filename = 'savedImage.jpg'
cv2.imwrite(filename, img)
print("After saving image:")
print(os.listdir(directory))
print('Successfully saved')

Output:

Best Python Libraries for Machine Learning

Related Topics

Epoch in Machine Learning

Machine Learning is one of the most used modern technologies in the world. Machine Learning helps human a lot to do their jobs at ease. Epoch is an important concept...

3 minutes read.

Standardization in Machine Learning

In machine learning, we train our data to anticipate or categorize things in ways that aren't pre-programmed into the computer. As a result, firstly, the dataset or input data must...

6 minutes read.

K-means clustering Algorithm

Introduction to K-means clustering K-mean clustering comes under the unsupervised based learning, is a process of splitting an unlabeled dataset into the clusters based on some similarity patterns present in the data. Given...

9 minutes read.

Hierarchical Clustering Algorithm

Introduction to Hierarchical Clustering The other unsupervised learning-based algorithm used to assemble unlabeled samples based on some similarity is the Hierarchical Clustering. There are two types of hierarchical clustering algorithm: 1. Agglomerative Hierarchical Clustering...

7 minutes read.

Convolutional Neural Network (CNN) in Machine Learning

Machine Learning  is one of the most used modern technologies in our world. Machine Learning  helps human a lot to do their jobs at ease. Today almost every big tech...

3 minutes read.

Difference between AI/ ML/ Deep Learning

Nowadays, people are very much confused with the terms artificial intelligence, machine learning, and deep learning. For them, it seems to be that all these three concepts are the same,...

11 minutes read.

Logistic Regression in Machine learning

The Logistic regression model is a supervised learning model that is used to forecast the possibility of a target variable. The dependent variable would have two classes, or we can...

9 minutes read.

Association Rule Learning Algorithm

Introduction to Association Rule Learning Association rule learning extracts alliances among the datapoints in a huge dataset. It incorporates the concept of data mining, which helps in finding useful commercial associations or regularities between the...

3 minutes read.

Decision Trees in Machine Learning

Introduction to Decision Trees Decision trees are one of the most powerful classification algorithm that falls under supervised learning-based algorithms. It is used as a tool for making predictions and can...

6 minutes read.

Regularization in Machine Learning

We are very familiar with the word Machine Learning nowadays. Machine Learning technologies are used in everywhere. Many IT companies use this type of technologies to improve their product. In...

3 minutes read.

Some Innovative Project Ideas in Machine Learning

In today's world, we are surrounded by machines and different types of gadgets. Machine Learning is a technique which prepares machines to think and learn. In modern days, Machine Learning...

9 minutes read.

Hands-on Machine Learning with Scikit-Learn, TensorFlow, and Keras

"Hands-On Machine Learning with Scikit-Learn and TensorFlow Keras" by Aurélien Géron is the best for you if you're comfortable with Python coding and want a fast introduction to both traditional...

4 minutes read.

Pattern Recognition and Machine Learning a MATLAB Companion

The cognitive process that occurs in the brain when it compares the information that we see with the information stored in our memories is called pattern recognition. It is what...

10 minutes read.

Boosting in Machine Learning

Machine Learning and Artificial Intelligence are one of the major modern technologies. In Machine Learning, we mainly develop a model by a Machine Learning algorithm which can predict something. In...

3 minutes read.

Data Preprocessing in Machine Learning

Before starting a machine learning project, data is an essential thing needed before starting a project. The data used in ML projects is in CSV (Comma Separated Value) format. It...

9 minutes read.

Feature Extraction in Machine Learning

With the advancement of technology in the databases, everyone can store a vast amount of data with hundreds of thousands of features these days. Features contain information about the dependent...

4 minutes read.

Student Performance Prediction Using Machine Learning

Machine learning is a powerful tool that can be used to analyze and make predictions about student performance. One of the key advantages of using machine learning for student performance...

11 minutes read.

Machine Learning Classification Algorithm

A supervised machine learning technique called classification uses a model to attempt to predict the right label for a given set of input data. Before being used to make predictions...

6 minutes read.

AWS Machine Learning Certification

In the technical world, you must have heard the name of AWS. Its full form is Amazon Web Services. What is AWS (Amazon Web Services)? You must have heard about cloud technology....

3 minutes read.

Perceptron in Machine Learning

Machine Learning is becoming a very important part of the technology industry day by day. Perceptron is one of the key things of Machine Learning. Mr. Frank Rosenblatt invented this...

3 minutes read.