Let’s start with something easy—environment setup. Truly, there is not much to set up, yet if you are working on your first machine learning project, you will have to make a few decisions. So, let’s review the tools that I will be using in this project.

Envrionment setup, Python vs Octave

Python vs Octave

In the course about machine learning, which I took on Coursera, Octave was used as a main language. Octave open source and is quite similar to Matlab. The great thing about it is that it already includes most of the tools which I will be using. So, why did I choose Python? Well, I already know some basics of Python, it seems to me more popular, and it had a wider range of use. But we have to use some specialized libraries.


For this purpose, I decided to use SciPy (Scientific Computing Tools for Python) collection of packages. These packages should provide functionalities equivalent to the Octave. You may already heard about some of these libraries like NumPy, Pandas, Matplotlib, etc. After we install all these libraries, we are ready to go! Obviously there are other libraries which have already implemented machine learning algorithms, and they can make your work even easier for example Scikit-learn or Tensorflow. But I haven’t installed any of them yet.

Jupyter Notebook with IPython

The last thing on my list is Jupyter Notebook, which is really awesome tool. It allows you to create documents that contain live code, outputs, visualizations, your notes and comments. Since I expect to present my work, this can be a really nice way of presenting . But it is great also in the development process, because you can easily visualize data and see your results, which is especially helpful in machine learning. Just look at some of these examples.

Environment setup is done and I can start working on the project. It wouldn’t be easy since I don’t know any of these new libraries, but I will try to make first prototype as fast as possible.