Sciblog - A blog designed like a scientific paper


A Gentle Explanation of Dimensionality Reduction with t-SNE

Oct. 31, 2018

Miguel González-Fierro


t-SNE is one of the most popular dimensionality reduction algorithms, it allows to represent a high-dimensional dataset in a 2 or 3-dimensional space, making it easy to visualize high-dimensional data points. In this post, we explain the algorithm and make a light overview of the math. Together with this post, we wrote a jupyter notebook where we show an example of t-SNE using sklearn and CUDA implementations.


Evidence-Based Software Design

Oct. 11, 2018

Nikhil Joglekar and Miguel González-Fierro


Software design can be challenging. The design decisions we take when creating a technical product influence its customer adoption and the product success. Evidence-based design is a methodology to make decisions based on facts that raises the chances of achieving successful products and improves the efficiency of technical teams.


One of the main driving forces behind Python is creating simple and readable code, which turns out to be a very difficult task. In this post, we analyze the second statement of the Zen of Python: explicit is better than implicit. We clarify its meaning and illustrate some examples on how to write Python code in a "pythonic" way.


Real-Time Fraud Detection

Aug. 1, 2018

Miguel González-Fierro


Fraud detection is one of the top priorities for banks and financial institutions, which can be addressed using machine learning. In this post, and in the accompanying code repository, we show how to build a real-time fraud detection system using a boosted tree algorithm and websockets. We also show how to visualize the fraudulent transactions in a map.


A Beginner's Guide to Python Testing

July 24, 2018

Miguel González-Fierro


Test development is key for most software projects. In this post, we are going to discuss 4 different tests: unit tests, smoke tests, integration tests and utility tests. In simple words, unit tests make sure that each class or function behaves as it should, smoke tests make sure that the system works, integration tests make sure that the program results are acceptable and utility tests give an example on how to use a class or function. We will show how to work with these tests in Python.