Enguerrand Le Niliot

Machine Learning & Data Science | Engineering student at Télécom Paris (IP Paris), exchange at Seoul National University

Open to internships

6-month end-of-studies internship from January 2027 in machine learning, data science, computer vision or quantitative research.

Based in Seoul until December 2026 and available for in-person interviews. Targeting Japan and South Korea, and games or esports companies worldwide.

I am a final-year engineering student combining stochastic modelling (MACS track) and computer vision (IMA track). I practise machine learning mostly through competitions, where I start by understanding how the data was built before choosing a model, and where I validate every gain with leak-free cross-validation.

In 2026 I reached 1st place on the public leaderboards of two ENS Data Challenges (Rakuten multimodal product classification and HrFlow.ai job recommendation), and I am 2nd after the first phase of the RoboWorld vision-language navigation challenge of the NeurIPS 2026 RoboPAD workshop.

1st / 135 Rakuten multimodal product classification, public leaderboard
1st / 69 HrFlow.ai next-job recommendation, public leaderboard
2nd RoboWorld vision-language navigation, NeurIPS 2026 workshop, phase 1
Top 3% QRT asset allocation returns, 39th of 1,702

Education

French engineering curriculum with a strong applied mathematics core.

Seoul National University

Seoul, South Korea

  • Probabilistic Graphical Models: Bayesian networks and MRFs, exact and variational inference, sampling, HMM and state-space models, boosting.
  • Random Signal Theory: MMSE, MAP and ML estimation, Cramér-Rao bound, Wiener and Kalman filtering, detection theory.
  • Modern Computational Mathematics: computer algebra, Monte Carlo methods, numerical schemes for SDEs and BSDEs.
  • Prompt and Context Engineering for LLM Applications: retrieval-augmented generation (RAG, GraphRAG), LLM agents and tool use, evaluation and guardrails.

Télécom Paris

Institut Polytechnique de Paris, Paris, France

  • MACS, Stochastic Modelling and Scientific Computing: martingales, Brownian motion and stochastic calculus, Poisson processes, Markov chains and time series, statistical learning and high-dimensional probability, numerical analysis.
  • IMA, Image Processing and Computer Vision: deep learning for object recognition, generative models and patch methods, 3D vision and video, medical imaging, variational and Bayesian methods.
  • Data Science specialization: statistics, machine learning, optimization, databases.

Lycée Thiers

CPGE MPSI / MP*, Marseille, France

A selective three-year program in mathematics, physics and computer science, preparing for the competitive entrance exams of the French engineering schools.

Projects

Each project states the problem, what I did and the measured result. Code is on GitHub, except for competitions that are still running.

Multimodal Product Classification (Rakuten France)

ENS Challenge Data, 2026

1st of 135 on the public leaderboard, weighted F1 0.9346 (October 2026)

Predict the product type (27 classes) of about 99,000 Rakuten France listings from their French title, description and image. I built a stacking pipeline on one shared 5-fold split: TF-IDF word and character n-gram models, then a meta-model (logistic regression and gradient boosting) trained on their out-of-fold scores. The largest gain came from an exploratory analysis of how the catalogue was assembled, turned into features and checked with a strict validation in which no validation label is used. The pipeline also includes fine-tuning scripts for French text transformers and image backbones (ConvNeXt, SigLIP 2).

NLP Multimodal Stacking scikit-learn PyTorch

Next-Job Recommendation from Browsing Sessions (HrFlow.ai)

ENS Challenge Data, 2026

1st of 69 on the public leaderboard, score 0.7354 (October 2026)

From the sequence of job ads a candidate opened, predict the next 10 ads they will open (MRR@10) and whether they will view or apply. I built a two-stage recommender: candidate generation (co-visitation, Session-kNN, text kNN, SVD embeddings) followed by a LightGBM learning-to-rank ensemble on about 80 features. An exploratory analysis of how the sessions were built led to a dedicated classifier (AUC 0.990) whose probability is fused with the ranker scores. Validation is leak-free: GroupKFold by profile, with every target-dependent statistic recomputed out of fold.

Recommender Systems Learning to Rank LightGBM SciPy sparse

Trust or Bet Against? Asset Allocation Returns (QRT)

ENS Challenge Data, 2026

39th of 1,702 on the public leaderboard, accuracy 0.688 (official benchmark 0.508)

Predict the sign of the next-day return of systematic asset allocations from 20 days of history. Market signals alone are weak (0.522 at best, mostly short-term momentum), so most of the work went into reconstructing the hidden structure of the dataset from cross-sectional return correlations and group-level PCA factors, with every step measured on simulations before use. Models are LightGBM, validated with purged time-block cross-validation.

Quantitative Finance Time Series PCA LightGBM Purged CV

Language-Conditioned Visual Navigation (RoboWorld 2026, WorldNav)

Challenge of the RoboPAD workshop at NeurIPS 2026, in progress (final phase in November 2026)

2nd on the phase 1 leaderboard, score 53.8 (organizers' baseline 20.4)

From a single egocentric RGB image and a natural-language instruction, predict the full sequence of robot actions. My model fuses tokens from pretrained vision (SigLIP 2, DINOv2) and text (BGE) encoders in a transformer that outputs 12 trajectory hypotheses anchored on k-means prototypes, which avoids the mode collapse of plain winner-takes-all training. Hypotheses are decoded per data source by minimum Bayes risk on the official metric, which I re-implemented locally to tune the decoding.

Vision-Language Transformers Robotics PyTorch

LoL Draft Advisor: Win Probability for League of Legends Drafts

Personal project, 2026

54.4% accuracy on 23,000 unseen recent matches, well calibrated

A draft assistant that ranks the champions available for your role by the win probability they give your team, at any point of the pick phase. I wrote a rate-limited Riot API crawler that collected over 150,000 ranked matches into SQLite, then an additive logistic model with one regularisation strength per group of effects: champion and role strength, synergies, team damage balance, and lane matchups learned from a continuous auxiliary target (gold share) with cross-fitting. Champion-specific effects are shrunk with empirical Bayes. Draft alone explains little of a solo-queue result, and the accuracy is close to the known ceiling for this task; negative results (factorization machines, a BERT-style pick model) are documented. Served as a Streamlit app.

Esports Analytics Bayesian Statistics Riot API SQLite Streamlit

White Blood Cell Classification

Télécom Paris, IMA205 course challenge, 2025

5th of 77 submissions, macro F1 0.7839

Classify 13 types of white blood cells from microscopy images with strong class imbalance and inconsistent staining. A classical pipeline (segmentation, hand-crafted features, SVM) served as a baseline, then I fine-tuned a ConvNeXt with focal loss, weighted sampling, CLAHE preprocessing, 4-fold stratified ensembling and test-time augmentation.

Computer Vision Medical Imaging PyTorch ConvNeXt

Unsupervised Clustering of Abstract Paintings

Télécom Paris, IM06 research project, 2025, team of 4

Group abstract paintings by style without labels, a setting where standard CNN features fail because there are no objects to recognise. I was responsible for the CNN style features (Gram matrices over 4 VGG16 layers, random crops and PCA), their fusion with VAE and geometric descriptors, and a silhouette-based filtering step that removes ambiguous paintings from K-Means clusters before re-clustering them. The clusters are explored in an interactive WebGL map.

Unsupervised Learning Style Features VAE K-Means

Bubble Battle (Global Game Jam 2025)

48-hour game jam, team project

A local two-player fighting game where each player is a bubble bouncing around a closed arena and uses momentum-based abilities to knock out the opponent. I programmed the player movement and physics on Godot's CharacterBody2D, designed the four arenas and balanced the four abilities, mainly through their cooldowns.

Godot GDScript Gameplay Programming

Leadership

Student associations at Télécom Paris, 2025 - 2026.

President, Gaming Club

  • Organized an inter-school LAN tournament with a 3,000 EUR prize pool: budget, sponsors, logistics.
  • Ran the club's administration and organized its gaming events.

Treasurer, Salon du Terroir

  • Managed the finances and logistics of a student fair with over 1,000 visitors, and kept the year's balance sheets.

Communications Manager, Sports Bureau (BDS)

  • Led the communication and visual content for school-wide sports events.

Skills

Programming

Python, SQL, GDScript (Godot).

Libraries

PyTorch, scikit-learn, LightGBM, Hugging Face Transformers, pandas, NumPy, SciPy.

Machine Learning

Gradient boosting, learning to rank, recommender systems, deep learning, computer vision, NLP, time series, Bayesian statistics.

Mathematics

Stochastic calculus, probability and statistics, Monte Carlo methods, optimization.

Tools

Git, Jupyter, LaTeX.

Languages

French (native), English (C1, Linguaskill), Japanese (A2, elementary).

Passions

Esports

I follow competitive scenes closely, as a spectator and as an organizer: I chaired the Télécom Paris gaming club and its inter-school LAN tournament. My League of Legends draft model grew out of this interest.

Game jams

I build small games in Godot and take part in game jams like the Global Game Jam. Shipping something playable in 48 hours with a team is a great way to challenge myself and meet new people.

Scuba diving

A certified diver, mostly for the freedom and the scenery you only find underwater.

Travelling

Discovering new countries and cultures. Living in Seoul this semester, after studying Japanese in France, is also what drives my search for an internship in East Asia.

Contact

I am looking for a 6-month internship starting in January 2027. The fastest way to reach me is by email; I am in Seoul (KST, UTC+9) until December 2026.