MLOps Zoomcamp: Free MLOps course. Register here!


Artificial Intelligence with Python

by Prateek Joshi

The book of the week from 09 May 2022 to 13 May 2022

Artificial Intelligence with Python, Second Edition is an updated and expanded version of the bestselling guide to artificial intelligence using the latest version of Python 3.x. Not only does it provide you an introduction to artificial intelligence, this new edition goes further by giving you the tools you need to explore the amazing world of intelligent apps and create your own applications.

This edition also includes seven new chapters on more advanced concepts of Artificial Intelligence, including fundamental use cases of AI; machine learning data pipelines; feature selection and feature engineering; AI on the cloud; the basics of chatbots; RNNs and DL models; and AI and Big Data.

Finally, this new edition explores various real-world scenarios and teaches you how to apply relevant AI algorithms to a wide swath of problems, starting with the most basic AI concepts and progressively building from there to solve more difficult challenges so that by the end, you will have gained a solid understanding of, and when best to use, these many artificial intelligence techniques.

Questions and Answers

Dr Abdulrahman Baqais

Thank you Prateek Joshi on writing this book. The book includes some interesting chapters about Heuristics, GA and gaming in AI which is very helpful. The book seems comprehensive and targeted for python developers which is great.
What python libraries is used for GA and Heuristics?
Also, in comparison to matlab for GA and heuristic, Does python provide advantages?
In logic programming where lisp and prolog are dominating, In which areas python can give cutting edges?
Thank you again for this comprehensive book that address other parts of AI rather than ML.

Prateek Joshi

Dr Abdulrahman Baqais Thank you for the kind words and the question.
With regards to Python libraries, I’ve experimented with simpleai for Heuristics and DEAP for GA. They provide most of the functions you’d need.
With regards Python vs Matlab, I prefer Python because it’s more production ready. You can build an application and deploy it without having to redo the work. It’s lightweight compared to Matlab (which matters a lot when you’re deploying). Plus the Python community is huge, which means you can get answers to your questions relatively easily.
For logic programming, the big advantage of Python is interoperability. When you’re working on a tool that’s in production, different parts of the product can use different frameworks. Python plays well with all the cloud tools, so plugging in your tool into the larger product becomes easy. Plus you get access to many people who are constantly building and experimenting in Python. You don’t have to reinvent the wheel for many underlying methods/functions you end up using.

Dr Abdulrahman Baqais

Interesting….seems python is close to be a universal programming language for AI… programming language to work on all AI projects.

Alexey Grigorev

Hi Prateek!
You’ve written many books, more than 10. How did your manage to do that and stay sane? 😄

Prateek Joshi

Alexey Grigorev I aim to stay consistent with my writing schedule. The act of showing up everyday helped develop my writing muscle in my early days. This allowed me get the work done on time. By after 13 books, I had nothing new left to say. So decided to take a break. 🙂


Hi Prateek, thanks for taking the time here to answer questions. What advice would you give to someone with many years of experience in database technology that is looking to switch to data science / machine learning.

Prateek Joshi

Allan: Thank you for the question. Given your years of experience in database technology, you already have a leg up here. Being proficient in data wrangling is a great skill to have.
If you want to switch to DS/ML, my recommendation is to get familiar with basic ML concepts and start doing projects.

  • Pick a domain that interests you e.g. search engines, healthcare, image recognition, ecommerce, fintech, recommender systems.
  • Once you do, look for problems that seem interesting e.g. how to identify at-risk patients or how to identify repeat buyers on an ecommerce site
  • There are a large number of open source datasets available. You can use them to train your model.
  • The goal is to start from a real problem and build a tool that addresses the problem in a practical way.
    Once you finish it, I’d also recommend you write a brief blog post (500-700 words) explaining what you did. This will help you strengthen your own understanding.
    As you continue to do this over time, you can develop a good understanding of how to DS / ML to solve real world problems. Hope this helps.

Thanks Prateek, that is very helpful!

Sushant Mittal

Hi Prateek, I had the exact same question as Allan. Thanks for your advice. 👍

Tim Becker

Hi Prateek Joshi, thanks for answering questions 🙂

  • Why was it time for a second edition of your book?
  • For what kind of problems would you suggest logic programming?
  • What is the most difficult part of building a startup? What is your advice if someone wants to do it?
Prateek Joshi

Tim Becker Thank you for the questions 🙂 Here are my thoughts:

  1. Publishing the second edition was mainly a function of demand. I received many positive responses from readers for the first edition. Plus they gave a lot of good feedback. This led to us publishing the second edition. It gave us a chance to incorporate all the feedback and add new chapters as well.
  2. Logic programming is a programming paradigm (like objected-oriented or functional programming). It looks for solutions using facts and rules. Once we specify a goal, the solver comes up with a tree that constitutes the search space to solve the problem. We can provide raw input and then ask questions about the missing pieces. Here are a few examples where we can use logic programming: matching mathematical expressions, validating prime numbers, inferring relationships in a family tree, analyzing geography, solving puzzles
  3. With regards to building a startup, the most difficult part depends on the stage you’re at. It can go from: talking to potential users/customers to see if your product needs to exist in this world –> fundraising –> getting the first 10 paying customers –> demonstrating product market fit –> recruiting early teammates –> fundraising again –> scaling up revenue –> recruiting leaders who can build out different functions (sales, marketing, product).
    There are many other parts that can pop up during the journey as well.
    My advice to someone who wants to do it would be to to just get started. The first step would be to reach out to as many potential users/customers and understand how they get their work done today. Your way of getting that work done should 10X better than status quo. That’s how you know there’s a real gap.
Tim Becker

thank you 🙂

To take part in the book of the week event:

  • Register in our Slack
  • Join the #book-of-the-week channel
  • Ask as many questions as you'd like
  • The book authors answer questions from Monday till Thursday
  • On Friday, the authors decide who wins free copies of their book

To see other books, check the the book of the week page.

Subscribe to our weekly newsletter and join our Slack.
We'll keep you informed about our events, articles, courses, and everything else happening in the Club.

DataTalks.Club. Hosted on GitHub Pages. We use cookies.