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?
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?
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):
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.
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).
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.
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!
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.
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/ ).