Table of Contents
With the widespread proliferation and availability of data, there is hardly any industry that hasn’t dabbled with Artificial Intelligence. From Healthcare to Banking, from mobility to climate control, artificial intelligence is helping us in every walk of life. You, too, have the power of working with Artificial Intelligence, provided you have enough data. In the sections below, we shall explore ways of using the various technologies that make up artificial intelligence, but before that, a brief introduction to Artificial Intelligence.
A primer on Artificial Intelligence
As per the International Business Machines Corporation (IBM), the pioneers in Artificial Intelligence, AI is a field of study which seamlessly combines humongous data sets with concepts in computer science, mathematics, statistics, philosophy, among others, to derive intelligence and solve problems in the real world. In other words, mimic humans in the way we gather data, combine it with science and obtain meaningful insights.
Artificial intelligence, also referred to as machine intelligence, is sometimes used as a term for a machine’s or computer’s ability to mimic human cognitive ability. Generally, we associate artificial intelligence with machines that can replace humans in a specific task that was earlier only possible by humans.
Artificial intelligence in itself is not a technology per se. There are many underlying technologies that achieve artificial intelligence, like identifying objects in an image or registration number of a car from a video footage, and many such small capabilities that humans can do easily.
Technology for Artificial Intelligence
The underlying technology used to achieve artificial intelligence include, Machine Learning, Deep Learning, Neural Networks, Image Processing, Natural Language Processing, chatbots, among others. Again, these cannot be termed technologies but are a collection of algorithms that can be used on massive data to obtain an intelligent outcome. All of these obviously involve computers, and when computers are involved, you naturally have programming come in.
If you can implement any or all of these in any programming language of your choice, you have an instance of artificial intelligence. You can use this artificial intelligence to perform tasks that currently need human intelligence.
Several programming languages can be used to implement these algorithms, but the universal choice in the industry is Python.
Why Python? Python, along with being a general-purpose language, is easy to program with and can achieve relatively complex tasks in a few lines of code. Not only that, Python has some amazing libraries that lend themselves beautifully to the various tasks involved in data processing, cleaning, and analysis.
Artificial intelligence in python
Some of the most frequently used libraries used to achieve artificial intelligence in python are nearly all are open source and free to use.
- TensorFlow
TensorFlow is a free, open-source math library primarily used for differential programming. It is a popular math library in the area of neural networks.
- Keras
Keras is an open-source neural network library written in Python. It can run on top of other Python libraries like TensorFlow, Theano, and PlaidML. Keras can work both on GPU and CPU and enables fast prototyping.
- Theano
Theano, built on the humble NumPy, is primarily used for numerical computation and, like Keras, can work on both GPU and CPU. If you have a good grasp of Numpy, you would easily pick up Theano as both have a similar interface. Theano can allow you to perform data-intensive computations upto 140 times faster.
- PyTorch
Pytorch, an open-source and free Python library, is primarily a deep learning library in natural language processing and image processing. This library is based on another library called Torch. Pytorch works with simplified pre-processors, custom data loaders, and many other GPUs.
- Scikit-learn
Scikit-learn is again an open-source and free library that supports multiple unsupervised and supervised learning algorithms. Scikit-learn is based on two other Python libraries, SciPy and NumPy. Scikit-learn can be used for implementing Machine Learning applications based on algorithms that solve real-world problems in classification, regression, and clustering. Scikit-learn is also known for it is utility in dimensionality reduction, model selection, and pre-processing. As you might have guessed, Scikit-learn is popular in fields of data-mining and data analysis.
- Pandas
One of Python’s basic data science libraries, Pandas, helps with working with data using flexible, high-level data structures. The features of data-filtering and grouping and combining, inbuilt into Pandas data structures, allow execution of complex data processing tasks possible with just a few lines of code. Pandas allow easy ingestion of data and are compatible with various data sources, including text files, structured files like CSV and JSON, and even databases.
To understand how Python can implement artificial intelligence, you need to be aware of concepts like machine learning, deep learning, and neural networks. A primer on Machine Learning, along with some code snippets, follows.
What is Machine Learning
Machine learning is a way to imitate how humans learn from data. It employs complex algorithms to understand, classify, categorize and find patterns in large sets of data and then derive meaningful information from all of it while also improving on accuracy with time.
It is like teaching a child how to draw a straight line repeatedly until the child learns it and can draw a line independently. Over time the child understands what a straight line is and what is not.
Using mathematical and statistical methods, various algorithms allow the computing systems to do basic tasks that adult humans can do, like classifying, categorizing, or identifying an odd item among other homogenous items.
To implement these algorithms, you need to have capable data structures, libraries that can perform complex mathematical and statistical operations, and libraries that can implement those complex algorithms we talked about.
Machine Learning using Python
Let’s look at a simple example of how Machine Learning can be implemented in Python. Given below are code snippets that carry out some tasks involved in implementing machine learning algorithms.
Tasks like data visualization and evaluation of algorithms.
from pandas import read_csv
url = “https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv”
names = [‘sepal-length’, ‘sepal-width’, ‘petal-length’, ‘petal-width’, ‘class’]
dataset = read_csv(url, names=names)
# shape
print(dataset.shape)
# head
print(dataset.head(20))
# descriptions
print(dataset.describe())
# class distribution
print(dataset.groupby(‘class’).size())
dataset.plot(kind=’box’, subplots=True, layout=(2,2), sharex=False, sharey=False)
pyplot.show()
dataset.hist()
pyplot.show()
Building models in Python
models = []
models.append((‘LR’, LogisticRegression(solver=’liblinear’, multi_class=’ovr’)))
models.append((‘LDA’, LinearDiscriminantAnalysis()))
models.append((‘KNN’, KNeighborsClassifier()))
models.append((‘CART’, DecisionTreeClassifier()))
models.append((‘NB’, GaussianNB()))
models.append((‘SVM’, SVC(gamma=’auto’)))
# evaluate each model in turn
results = []
names = []
for name, model in models:
kfold = StratifiedKFold(n_splits=10, random_state=1, shuffle=True)
cv_results = cross_val_score(model, X_train, Y_train, cv=kfold, scoring=’accuracy’)
results.append(cv_results)
names.append(name)
print(‘%s: %f (%f)’ % (name, cv_results.mean(), cv_results.std()))
Conclusion
As you can see, all you need to know is mathematics, statistics, data mining algorithms, and finally Python to get started on Artificial Intelligence in Python.
Grab the best opportunity to pick up this important skill for the future at Greatlearning as they offer machine learning and artificial intelligence courses.