Python resources

The programming language of the course is Python. The previous link takes you to Enthought, who have put together a nice installation package. Make sure you become familiar with Numpy and Matplotlib as soon as possible.

  • Excellent Python tutorial by Guido van Rossum. Read this first.
  • IDLE tutorial
  • Another IDLE tutorial
  • Download the free academic version of enthought python
  • Python's website
  • A video lecture about matplotlib
  • PyBrain - Neural networks and machine learning package
  • Stephen Marsland book and python code
  • NLTK - natural language processing package
  • Orange - data mining package
  • Elefant - machine learning package
  • Networkx - graph plotting package
  • Cython and Cython demos
  • 10 - Python one liners to impress your friends
  • Scrapy - Screen scraping and web crawling framework, used to crawl websites and extract structured data from web pages.
  • Pattern - Web mining module
  • blog - Python dictionary implementation

    • My favourite book for this course is the book of Stuart Russell and Peter Norvig titled artificial intelligence. Chapter 14 covers probabilistic graphical models. Chapter 15 covers HMMs. Chapter 20 talks about maximum likelihood, the EM algorithm, learning the parameters of graphical models and naive Bayes. Chapter 18 teaches decision trees, linear regression, regularization, neural networks and ensemble learning.
    • The machine learning book of Hastie, Tibshirani and Friedman is much more advanced, but it is also a great resource and it is free online: The elements of statistical learning.
    • For graphical models and Beta-Bernoulli models, I recommend A Tutorial on Learning with Bayesian Networks David Heckerman.
    • Kevin Murphy has compiled a nice page about Bayesian learning.
    • Wikipedia tutorial on the: SVD
    • The following handout should help you with linear algebra.