Data Science Fellows Projects 2019

Classifying article relevancy for automatic creation of personalized newsfeeds

Project by Roman


We improved performance and tuned existing models that classify articles as relevant or not to a particular news feed by article content. We did this by hyper-parameter tuning of existing models, feature selection and dimensionality reduction. We also created a configurable standalone data analysis tool for end users to enable them to closely examine and explore the data included in these models. This tool creates a report that enables a quick iteration of exploratory data analysis. To accomplish this we included in the report different optimal feature selection techniques and data visualization panels to explore the distribution and correlation of standalone features and their correlations with each other.


After examining model performance, the task was changed to build self configurable data analysis tool that allows feature exploration and engineering future features. The tool needed to interact with the existing system infrastructure while taking into account complex organization needs.

Midway through the development we realized that exploratory data analysis would be extremely difficult with the large number of features involved in the current models (~400 features). To solve this issue, we developed a feature selection voting mechanism that produces a small subset of important features, that should be more closely examined through visualizations and interactions.

The large number of features, and the involvement in the already very well-developed data-scientific infrastructure implied dealing with a huge number of features, engineering and significance to the business that we did not really understand.

Many of the features include a large number of missing values. Currently the models fill these missing values with the mean, median, minimal value or maximal value, but we came up with different possibilities, as we elaborate in the “Further development” section.

Achievements (according to KPIs)

  1. We were able to improve precision and recall of different classification models by tuning their hyper-parameters.
  2. Through our data exploration we realized that time is an important component in the determination of relevancy, though it is not taken into account currently in the models. We elaborate on this in the “Further development” section.

Further development

This project can still develop in different ways:

  1. Studying the effects of reducing dimensionality, either by using feature selection methods or by using dimensionality reduction methods (PCA, SVD, LDA, etc.), on model performance.
  2. Studying the effect of reducing dimensionality by removing features with a large number of missing values. Currently, the models fill missing values using statistics describing the features’ distributions (mean, median, min, max), but potentially dropping the feature altogether or filling missing values using other methods (random selection from the features’ distributions, e.g.,) might improve model performance.
  3. Studying the effect of running different models, using different subsets of features, on subsets of observations that include values for said features: This is instead of filling missing values, as described above.
  4. Modelling the data as time series. Exploratory data analysis during the internship suggests that potentially the observations are time-dependent, though the time trends are not currently modeled in classifying relevancy. Examining the time trends and including them in future analyses might improve the model’s predictions.

Share this post

Share on facebook
Share on twitter
Share on linkedin
Share on email