Skip to content
CS 7641 - All the code
Java Python Shell
Branch: master
Clone or download
Latest commit ae1d14f Aug 24, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
assignment1 Random seed updates for experiement running scripts Apr 18, 2019
assignment2 Update Aug 24, 2019
assignment3 Random seed updates for experiement running scripts Apr 18, 2019
assignment4 Merge pull request #27 from cmaron/randint-change Apr 21, 2019
data Initial commit Jan 13, 2019
.gitignore Initial commit Jan 13, 2019
LICENSE Initial commit Jan 13, 2019 Address PR review notes Apr 24, 2019

ChedCode: CS 7641 Assignments

This repo is full of code for CS 7641 - Machine Learning at Georgia Tech.

A huge thanks to jontay ( for sharing his code. Much of the code contained in this repo is based off of his work.

Wait, code?

Yup, we were encouraged to steal code. All the code. It was fine. Only the analysis mattered.

alt text alt text

For dated support of this claim, see

For even more dated support, we were asked to submit links to code rather than the actual code when submitting assignments partway through the semester.

How do I use this?

Assignments 1, 3, and 4 require python (specifically python 3). Assignment 2 is a bit... unique... in that it uses Jython. Check the readmes for the specific assignments for more details.

If a python virtual environment has been setup for the project, a simple pip install -r requirements.txt should take care of the required packages.

Each assignment folder has its own that will do most of the work for you. The big exception is assignment 2. Assignment 2, at least in Fall of 2018, was due soon after the midterm which was soon after the first assignment. These assignments take a while so I didn't put a ton of effort into doing anything fancy for assignment 2. Not to say any of this is fancy, obviously.

Running python -h should provide a list of options for what you can do.

For the most part it is simple to run a given set of experiments based on a specific algorithm. One flag to consider always including is --threads with a value of -1. This will speed up execution in some cases but also might use all available cores.

The --verbose flag can be helpful to view data about a given dataset or MDP.

For assignments 3 and 4 plotting data is a separate step from generation. For those assignments the --plot flag should be used once data is generated

Each assignment folder should have its own readme with anything specific to not for that assignment.

Why should I trust you, of all people?

Good question.


Ok fine, I did ok on the assignments (as in no grade less than 90). For the grades that were not 100 the feedback did not mention missing charts or values, so I'm confident this code does not miss anything major in that regard.

That said, this is based off of the Fall 2018 semester. Things can change and you should always pay attention to announcements and go to office hours to be certain of the specifics.

But a thing is broken!?

Feel free to open an issue for things that are flat out broken (or even better open a PR) and I can take a look.

That said, caveat emptor applies.

You can’t perform that action at this time.