Robin Kras

Currently working as a Data Engineer at Rabobank

Interacting with Databricks, Azure, and financial data.

Leiden, Netherlands ·
Portrait of Robin Kras



Working on

Python Databricks Azure Apache Spark Kaggle Machine learning Agentic AI

Projects

Kaggle & personal work

*Find my work on Git or Kaggle :]

Rainfall Prediction

Predicting daily rainfall from weather features. Feature engineering and K-Folds cross-validation showed a well-tuned KNN model consistently beating heavier ensembles - complexity wasn't the answer here.

KNNEnsembleK-FoldsFeature Engineering

House Prices Prediction

Regression on housing sale prices, using SHAP to see which features actually drove predictions. Iterating across versions surfaced a data leakage issue in the target that explained an otherwise-suspicious accuracy jump.

RegressionSHAPXGBoostData Leakage

Loan Payback Prediction

Binary classification for loan default risk, combining credit metrics, debt-to-income ratios, and payment history. An XGBoost/LightGBM/CatBoost ensemble stayed accurate while SHAP kept the predictions explainable.

ClassificationEnsembleSHAPLightGBM

Music BPM Prediction

Predicting a track's tempo from raw audio. Combined standard signal-processing features with music-theory-informed engineering, then handed them to a gradient boosting model.

Audio MLSignal ProcessingGradient Boosting

Road Accident Risk

Modeling accident risk with interaction features capturing how time and weather conditions compound. Training ran inside a Dockerized pipeline, tuned with Optuna, for reproducible results.

EnsembleOptunaDocker

Bank Marketing

Predicting whether a customer responds to a campaign within a 7-day window. Built around a YAML-driven config so feature sets, models, and hyperparameters stayed fast to swap and test.

ClassificationOptunaYAML Config

Podcast Listening Time

Estimating how long a listener sticks with an episode. Temporal features and a stacked ensemble of models squeezed out signal that any single model missed.

Time SeriesStacking

Optimal Fertilizer

Recommending fertilizer types per field as a multi-label problem, optimized directly for MAP@3 rather than plain accuracy - closer to how the ranking is actually judged.

Multi-labelMAP@3

Titanic Survival

The classic starting point - binary survival classification. Used it to get comfortable with feature engineering fundamentals and XGBoost before taking on messier datasets.

XGBoostFeature Engineering

Spaceship Titanic

A trickier follow-up to Titanic. Mostly a lesson in overfitting - chasing validation score too hard hurt generalization until feature correlation was taken more seriously.

ClassificationOverfitting

Credit Card Fraud

Fraud detection on a heavily imbalanced dataset. The real lesson wasn't SMOTE itself but applying it inside each K-Fold split rather than before - otherwise validation scores lie to you.

Imbalanced DataSMOTE

Personality Type

Classifying personality type from a small, noisy dataset. Oversampling and Bayesian hyperparameter optimization did most of the heavy lifting where there wasn't much data to work with.

SMOTEBayesian Opt

Calorie Expenditure Prediction

Estimating calories burned from workout and physiological features - duration, heart rate, body metrics - engineered into a feature set for gradient boosting.

RegressionFeature Engineering

Exam Score Prediction

Predicting exam performance from study habits and demographic features, blending CatBoost and LightGBM rather than betting on a single model.

RegressionCatBoostLightGBMEnsemble

Customer Churn Prediction

Predicting customer churn by stacking CatBoost and XGBoost, weighting their outputs to trade off the two models' different failure modes.

ClassificationCatBoostXGBoostEnsemble

Irrigation Need Classification

Multi-class classification of irrigation need from soil composition and weather data - a change of domain from the usual finance and health datasets.

ClassificationFeature Engineering

EV Purchase Prediction

Predicting the probability a buyer purchases an electric vehicle, treated as a proper probability estimation problem rather than a hard yes/no classification.

ClassificationXGBoost

Kaggriculture

A different kind of competition: instead of fitting a model to a static dataset, an agent competes head-to-head in a simulated farm economy - plant, water, harvest, sell - and wins by out-optimizing the opponent's strategy in real time.

SimulationStrategyOptimization

SVM Heart Disease Classification

Classifying heart disease risk from patient data using a support vector machine, with feature scaling and kernel tuning to get the decision boundary right.

SVMClassification

RNN Solana Price Prediction

Modeling Solana's price movement with a recurrent neural network over historical market data - an experiment in how much signal a sequence model can pull from noisy crypto prices.

RNNTime Series

Thyroid Cancer Classification

Exploratory analysis and classification on a thyroid cancer risk dataset, digging into which clinical features actually separate the classes.

ClassificationEDA

Knapsack Optimization

Solving variants of the classic knapsack problem - a break from ML to work through combinatorial optimization by hand.

OptimizationAlgorithms

Credit Card Analysis

Independent exploration of credit card transaction data, done ahead of (and separate from) the Kaggle fraud-detection write-up.

EDAPandas

Function Notebook

A working notebook of reusable data science helper functions that grew alongside other projects, later folded into a proper utilities library.

PythonUtilities

ML Utilities Library

A small collection of reusable ML components and helper functions pulled out of repeated project work, so common preprocessing and evaluation code isn't rewritten from scratch each time.

PythonUtilities

Multimodal Sound Symbolism

Code behind an MSc thesis investigating cross-modal sound symbolism in vision-language models - whether these models pick up on the same sound-meaning associations humans do.

Vision-LanguageResearch