Decorrelating Features using the Gram-Schmidt Process

A problem that frequently arises when applying linear models is that of multicollinearity. The term multicollinearity describes the phenomenon where one or more features in the data matrix can be accurately predicted using a linear model involving others of the features. The consequences of multicollinearity include numerical instability due to ill-conditioning, and difficulty in interpreting the regression coefficients. An approach to decorrelate features is presented using the Gram-Schmidt process.

Continue reading “Decorrelating Features using the Gram-Schmidt Process”

Advertisements

TVLib: A C++ Text Vectorization Library with Python Bindings

I am a big fan of the CountVectorizer class in scikit-learn [1]. With a robust and easy interface that produces (sparse!) matrices, what’s not to love? Well, it’s… pretty… slow…

The performance is okay for 10s of MB of text, but GBs take minutes or more. It terms out that CountVectorizer is implemented in pure Python. The functions are single threaded too. It seems like low-hanging fruit. Just whip up some parallel C++, right? Well, not quite, but I’m getting ahead of myself.

Continue reading “TVLib: A C++ Text Vectorization Library with Python Bindings”

On the Analysis and Prediction of Recessions in the USA

This chapter explores recessions in the United States of America. Datasets are collected from a variety of locations including the Federal Reserve Economic Data (FRED) and from the website of Yale professor and Nobel laureate Dr. Robert J. Shiller. A classifier model is constructed which predicts recessions and this model is analyzed for useful insights.

Continue reading “On the Analysis and Prediction of Recessions in the USA”

Introducing CMoerae: A Cryptocurrency Dashboard Application

CMoerae is a cryptocurrency dashboard application. The dashboard displays predictions and market information for 20 of the most popular cryptocurrencies. CMoerae uses machine learning to make up-to-date predictions based on recent market data. The model is similar to that of my Twitter bot RoboInsights.

Continue reading “Introducing CMoerae: A Cryptocurrency Dashboard Application”

A Statistical Analysis of Facial Attractiveness

An intermediate activation volume produced by a convolutional neural network predicting the attractiveness of a person.


Does beauty truly lie in the eye of its beholder? This chapter explores the complex array of factors that influence facial attractiveness to answer that question or at least to understand it better.

Continue reading “A Statistical Analysis of Facial Attractiveness”

Binary Classification with Artificial Neural Networks using Python and TensorFlow

This post is an introduction to using the TFANN module for classification problems. The TFANN module is available here on GitHub. The name TFANN is an abbreviation for TensorFlow Artificial Neural Network. TensorFlow is an open-source library for data flow programming. Due to the nature of computational graphs, using TensorFlow can be challenging at times. The TFANN module provides several classes that allow for interaction with the TensorFlow API using familiar object-oriented programming paradigms.

Continue reading “Binary Classification with Artificial Neural Networks using Python and TensorFlow”