views:

674

answers:

6

I know of NLTK. What else is there that complements this library? Or can do AI?

NLTK is great because I can learn it with the book that it came out. Is there a library for AI just like this?

+1  A: 

Have you read the Wikipedia entry on machine learning? As I've said, it is a very broad topic. It consists of these subjects (among others):

  • Neural networks
  • Expert Systems
  • Genetic Algorithms
  • Fuzzy Logic

And all of them are different in the way they work, their purpose and what they're useful for.

But to answer your question, you can look at the Fast Artificial Neural Network Library, which I've used before and has Python bindings.

iWerner
+2  A: 

Have a look at the mloss list, it contains many Python libraries.

Out of self interest (I'm one of the maintainers) I would like to point out the Modular Toolkit for Data Processing (MDP) library, which includes some algorithms like Independent Component Analysis (ICA) and can be used for hierarchical networks. In the repository we have also added support for Support Vector Machines (SVM).

nikow
oo, SVM? Is the source code available? I'd love to use it to see another variant while I learn it.
wheaties
In MDP we didn't implement our own SVM. We provide wrappers for Shogun and libsvn (if I'm not mistaken), so you can switch easily between the two. For more detailed questions and answers you can use the MDP mailing list.
nikow
+1  A: 

Since you seem to be interested in a book/code combination, you could try Stephen Marsland's Machine Learning book. He has associated Python code available on his website.

Brandon Corfman
A: 

Late to the game on this one, but the company I work for, Visual Numerics, provides a number of routines in the AI area (e.g. neural networks, naive bayes classifiers, genetic algorithms...). The product we have is called PyIMSL Studio and its free for noncommercial or educational use. The key component is Python wrappers to hundreds of mathematical and statistical functions in the IMSL C Numerical Library. You can use our full Python distribution (which includes the usual packages like numpy and matplotlib), or just install our math/stat package into your existing Python area. Hope it helps!

Josh Hemann
A: 

AI is a massive, massive field with many subtopics. For instance, I work with computer vision, which is considered a subtopic of AI. The major Python library in this field is OpenCV.

joemoe
A: 

The scikit-learn package has a lot of algorithms to solve machine learning problems in Python, both in supervised learning (regression, classification, outliers detections) and unsupervised learning (decompositions such as ICA, or clustering methods).

It is BSD licensed and depends only on scipy and numpy. Also, it has a focus on performance. For instance, for SVM (support vector machines) it uses the C library libsvm, but with specially-crafted bindings that are faster than the libsvm Python binding ( http://fseoane.net/blog/2010/fast-bindings-for-libsvm-in-scikitslearn/ ).

Gael Varoquaux