Cours Master M2 MASH: Projets informatiques

Description

L'objectif du cours est de mettre en pratique les techniques d'apprentissage automatique sur des données réelles et de se familiariser avec certains outils informatiques (Python, panda, scitkit-learn). Le cours est articulé autour d'un projet (en équipe de deux) sur des jeux de données réalistes, avec un suivi continu par “office hours” avec un chargé de TD, et quelques amphis communs (introduction et évaluation des projets).

Contact

Informations pratiques

Plan de cours

Références

Suggestions de projets

Voici quelques suggestions de projets. Vous pouvez aussi proposer votre propre projet. Entre autres, il y a beaucoup d'autres possibilités sur le site de compétition Kaggle. L'important est que les données soient assez réalistes, et que vous puissiez apprendre avec le projet.

Projets avec données 1000mercis

Nous avons la chance d'avoir la collaboration de Anne Guérin, directrice d'opérations marketing de la compagnie 1000mercis, pour le master MASH. Elle a accepté d’être contactée par mail (anne@1000mercis.com) pour des questions sur les données et les objectifs pour ces projets (à utiliser avec parcimonie). Pour avoir accès aux données, une équipe doit premièrement avoir confirmé qu'elle a choisi ce projet; 1000mercis procédera alors à l'extraction des données (l’équipe peut suggérer d'autre attributs à extraire préalablement) et les distribueront via un accès sftp seulement à l’équipe concernée.

A) Classification des acheteurs sur données comportementales par SVM en grands volumes

Contexte

On étudie les visiteurs d’un site e-commerçant ; ils ont des parcours divers et variés ; on se demande lesquels sont les plus intéressants pour nous, à toucher en priorité, pour des campagnes spécifiques.

Données brutes

Identifiant de l’individu, date, URL de la page, type de page (catégorie, produit,…), informations complémentaires (ID du produit, composition du panier,…) + catalogue si disponible. Données de conversion dans le passé. La définition des features sur lesquelles apprendre fait partie intégrante du problème.

Sortie désirée

 un score pour chaque individu

Métrique d’évaluation

AUC pour un évènement de conversion intervenant dans une fenêtre temporelle de X jours après identification de l’individu.
Si bonne performance du projet, possibilité de mettre en pratique et de voir performance réelle (en terme de taux de clics, de visite de produit, etc.).

B) Scoring via random forests sur données comportementales

Contexte

On étudie les données d’exposition par bannière publicitaire ; on se demande comment adapter nos stratégies pour une plus grande efficacité (ou bien même problématique que A que l’on traite différemment).

Données brutes

identifiant de l’individu, date, URL de la page, prix d’achat et de bid des espaces, 95ème centile des prix d’achat de cet inventaire, prix en-dessous duquel l’inventaire n’est pas vendu, différents ID sur l’inventaire selon la granularité, clic, … + une notion de conversion (c’est-à-dire tel événement s’est produit dans les X jours suivant l’impression ou Y suivant le clic). La définition des features sur lesquelles apprendre fait partie intégrante du problème.

Sortie désirée

  quelles actions prendre pour améliorer la performance de nos campagnes (sur l’inventaire, sur le prix d’achat,…) (à discuter avec 1000mercis)

Métrique d’évaluation

pour un certain volume à dépenser, coût d’acquisition (budget dépensé / nombre de conversions) attendu.

C) Détection de comportements internet frauduleux

Contexte

beaucoup de robots affichent des impressions et/ou cliquent automatiquement ; il s’agit d’identifier les domaines avec des impressions frauduleuses pour les exclure de nos campagnes.

Données brutes

par cookie, données d’exposition et visites éventuelles suite au clic sur la bannière. Étiquette de site frauduleux / non-frauduleux.

Sortie désirée

 liste de domaines frauduleux

Métrique d’évaluation

Courbe precision/recall.

D) Prédiction des inactifs emailing

Contexte

on route plusieurs emails par semaine à des inscrits newsletter. Dans l’ensemble, les internautes sont très réactifs les premiers mois, puis ouvrent moins fréquemment les messages qu’on leur envoie. Il s’agit de déterminer quelles sont les personnes qui vont arrêter d’ouvrir les messages en étudiant l’historique de leurs données de réaction. Plus spécifiquement, on s'intéresse aux personnes qui intéragissaient beaucoup avec les mails de 1000mercis, et qui soudainement pourraient arrêter si on leur envoyait le mauvais mail.

Données brutes

par individu, ensemble des emails envoyés, des ouvertures et des clics (identifiant de l’individu, identifiant du message, date).

Sortie désirée

 pour un mail potentiel et un invididu donné, la probabilité que cet individu deviendra un inactif si le mail leur est envoyé.

Métrique d’évaluation

Log-loss.

E) Projet éram: prédiction des best-sellers

éram est un client de 1000mercis. Pour ce projet, il y a une possibilité (non-garantie) de rencontrer le directeur de marketing de éram un peu après chacune des évaluations (celle du 16 février et celle du 30 mars) pour discuter du projet car il est très intéressé.

Contexte

éram procède à des réassorts en cours de saison en fonction des ventes. Il s’agit de prévoir en étudiant la courbe de diffusion des produits quels sont les futurs best-sellers de la saison

Données brutes

historique des achats : identifiant client, identifiant produit, date d’achat + table de référence des produits (éventuellement identifiant du magasin /site web)

Sortie désirée

 prédiction de volume de vente des produits pour en faire un ranking

Métrique d’évaluation

Erreur de régression. À discuter.

Projets Kaggle

1) Click-Through Rate Prediction (Avazu) - Kaggle link

One of the only currently open Kaggle competition with a prize (15,000$ in prize). The competition closes on February 9th.

Context

In online advertising, click-through rate (CTR) is a very important metric for evaluating ad performance. As a result, click prediction systems are essential and widely used for sponsored search and real-time bidding. For this competition, we have provided 11 days worth of Avazu data to build and test prediction models. Can you find a strategy that beats standard classification algorithms?

Data

See the competition details for info.

Output

 Give the predicted probability of click for each ad impression in the test set.

Evaluation metric

Logarithmic Loss

2) Display Advertising Challenge (Criteo) - Kaggle link

A popular Kaggle competition (more than 700 teams) that just recently ended; organized by the French company Criteo.

Context

Display advertising is a billion dollar effort and one of the central uses of machine learning on the Internet. However, its data and methods are usually kept under lock and key. In this research competition, CriteoLabs is sharing a week’s worth of data for you to develop models predicting ad click-through rate (CTR). Given a user and the page he is visiting, what is the probability that he will click on a given ad?

Data

Output

 Give the predicted probability of click for each ad impression in the test set.

Evaluation metric

Logarithmic Loss

3) Predict if a car purchased at auction is a lemon (Carvana) - Kaggle link

Context

The challenge of this competition is to predict if the car purchased at the Auction is a Kick (bad buy).

Data

32 independent variables (with semantic described); 1 dependent binary variable (IsBadBuy) to predict.

Output

 The probability that a specific auction is a bad buy.

Evaluation metric

Gini metric on the ranking of the possible bad buys according to their probabilities (see info here).

4) KDD Cup 2013 - Author-Paper Identification Challenge (Track 1) - Kaggle link

Determine whether an author has written a given paper.

Context

Microsoft Academic Search is an open platform that provides a variety of metrics and experiences for the research community, in addition to literature search. One of the main challenges of providing this service is caused by author-name ambiguity. On one hand, there are many authors who publish under several variations of their own name. On the other hand, different authors might share a similar or even the same name. As a result, the profile of an author with an ambiguous name tends to contain noise, resulting in papers that are incorrectly assigned to him or her. This KDD Cup task challenges participants to determine which papers in an author profile were truly written by a given author.

Data

Profile information of 250k authors such as author name and affiliations; 2.5M papers information such as paper title, conference, keywords; and a paper-author dataset with (paper ID, author ID) potential paper-author assignments. Additional info. Labels information: some authors have confirmed they were really authors of the papers; or have deleted papers meaning they were not authors.

Output

 For a specific author profile which contains possible assigned papers, rank the papers so that the most likely to be truly authored papers appear at the beginning.

Evaluation metric

Mean average precision (see here).

5) Loan Default Prediction (Imperial College London) - Kaggle link

Constructing an optimal portfolio of loans.

Context

This competition asks you to determine whether a loan will default, as well as the loss incurred if it does default. Unlike traditional finance-based approaches to this problem, where one distinguishes between good or bad counterparties in a binary way, we seek to anticipate and incorporate both the default and the severity of the losses that result. In doing so, we are building a bridge between traditional banking, where we are looking at reducing the consumption of economic capital, to an asset-management perspective, where we optimize on the risk to the financial investor.

Data

This data corresponds to a set of financial transactions associated with individuals. The data has been standardized, de-trended, and anonymized. You are provided with over two hundred thousand observations and nearly 800 features. Each observation is independent from the previous. For each observation, it was recorded whether a default was triggered. In case of a default, the loss was measured.

Output

 For each row in the test set, you should predict the loss (possibly 0 if there is no default).

Evaluation metric

Mean absolute error (see here)