'''Contents''' <> == Python Programming for Machine Learning == || '''Dates:''' || Tuesday to Friday, 7.4.-10.4.2015 (block course) || || '''Times:''' || 10:00-17:00 || || '''Exam:''' || Friday, 17.4., 8:00-10:00 || || '''Room:''' || MAR 6.001 || || '''Contact:''' || [[http://www.user.tu-berlin.de/dbartz/|Daniel Bartz]] (daniel.bartz@tu-berlin.de, room MAR 4.034) || || '''Language:''' || English || || '''ISIS:''' || [[https://isis.tu-berlin.de/course/view.php?id=4070|ISIS page]] || [[http://www.python.org/|Python]] has become a standard language for prototyping and plotting results in the machine learning community. Goal of this course is a basic understanding of python programming for machine learning and data analysis. We want to enable students to quickly load a data set, implement an algorithm, run analyses and plot the results. We will therefore focus on efficient calculations and visualization. For this, we make use of the packages * numpy * matplotlib * scipy Examples relate to Machine Learning Applications. Knowledge of elementary programming concepts will be helpful. Be aware that lack of such knowledge will increase the time demand of the class. In that case, you should consider to prepare with a python beginner class (see resources below). Homework is submitted via the ISIS page. === students from other universities === If you are not a student at TU and want to earn credit, you have to solicit [[http://www.tu-berlin.de/?id=76326|''Nebenhörerschaft'']]: * print out the forms concerning Nebenhörerschaft you find on that page * pass by at my office (see above) to have them signed * in addition, the dean of faculty IV has to sign * register at the the Campus Center. You will receive a TUBIT account (see below). === TUBIT-Account === A TUBIT-Account is needed for the login on our computers and access to ISIS! If you have your own laptop and access to eduroam, it is possible to participate without a TUBIT account. === Python on your own computer === If you want to use your own machine, make sure that you have installed (up-to-date versions) * Python 2.6 or 2.7 * numpy, matplotlib and scipy * Ipython * ipython notebook (start the ipython notebook) You should test your system by loading the following Ipython notebook: [[attachment:test.ipynb|test notebook]] === Supplemental Material === Many free Python tutorials and lectures are available in the internet. Here is a small subset: * http://scipy-lectures.github.com/index.html - good and detailed tutorial on scientific programming in python * https://www.udacity.com/course/cs101 - very basic, very motivating programming course (no focus on scientific programming). Once free, now available as a free trial. * http://www.codecademy.com/en/tracks/python - introduction to Python with an interactive editor * https://developers.google.com/edu/python/ - introduction to Python from Google education IPython: * http://ipython.org/ipython-doc/dev/interactive/tutorial.html - tutorial on IPython * http://ipython.org/ipython-doc/stable/notebook/notebook.html - documentation of the IPython notebook Plotting: * http://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html#d-plots-in-3d - 3D plots with matplotlib Machine Learning: * We will deal with Sebastian Seung's [[http://athos.rutgers.edu/~mlittman/topics/dimred02/seung-nonneg-matrix.pdf|non-negative matrix factorization]] A good [[http://www.python.org/dev/peps/pep-0008/#introduction|programming style]] never hurts. === Anrechenbarkeit === Der Kurs ist Wahlpflichtbestandteil des Moduls Kognitive Algorithmen (B.Sc. Informatik). Eine Anmeldung für den Kurs ist nicht erforderlich, Studenten aller Fachrichtungen und Universitäten sind willkommen. Grundlage für den benoteten Leistungsnachweis (2 SWS bzw. 3 LP) ist die Klausur (90 Minuten), auf Wunsch stellen wir bei bestandener Klausur auch einen unbenoteten Leistungsnachweis aus. Python und sämtliche Aufzeichnungen dürfen in der Klausur verwendet werden. Voraussetzung für die Teilnahme an der Klausur ist das Erreichen von mindestens der Hälfte aller möglichen Punkte in den Hausaufgaben, die Ergebnisse in den Übungsaufgaben gehen nicht in die Note ein. Die Hausaufgaben sind nicht als Gruppenarbeit anzufertigen. TU Studenten, die den Kurs als als freie Wahl in ihr Studium einbringen möchten, müssen in der Regel die Modulprüfung bei ihrem Prüfungsamt anmelden, ansonsten kann es bei der Anrechnung beim Prüfungsamt später Probleme geben.