Mon aventure avec le projet Vivino : transformer des donnĂ©es en recommandations đ·
Le point de départ : pourquoi Vivino ?
Tout a commencé par une question simple :
comment transformer des données brutes en recommandations utiles et intelligentes ?
Le cas de Vivino sâest imposĂ© naturellement. Les donnĂ©es sur le vin â composition chimique, qualitĂ©, Ă©valuations â offrent un terrain idĂ©al pour explorer les concepts clĂ©s de la data science et des systĂšmes de recommandation.
Le notebook my_vivino.ipynb est alors devenu le journal de cette aventure : un espace dâexploration, dâerreurs, dâitĂ©rations et dâapprentissage.
Comprendre avant dâagir : lâexploration des donnĂ©es
La premiĂšre Ă©tape a Ă©tĂ© dâexplorer le dataset. Avant toute ligne de modĂšle, jâai pris le temps de :
comprendre la structure des données,
identifier les types de variables,
repérer les valeurs manquantes ou incohérentes,
analyser la distribution générale des données.
Cette phase mâa rappelĂ© une rĂšgle essentielle :
un projet data solide commence toujours par une bonne compréhension des données.
Nettoyage des données : une étape souvent sous-estimée
Le nettoyage a constitué une part centrale du projet.
Jâai mis en place une fonction dĂ©diĂ©e dont le rĂŽle Ă©tait de :
supprimer les valeurs non pertinentes (comme 0 ou 0.0),
corriger ou éliminer les anomalies,
masquer la colonne quality lorsque nĂ©cessaire afin dâĂ©viter toute fuite dâinformation.
Cette Ă©tape, bien que moins âvisibleâ, a largement conditionnĂ© la qualitĂ© des rĂ©sultats finaux.
Visualisation : quand les données racontent une histoire
Pour aller plus loin, jâai utilisĂ© la visualisation afin de mieux comprendre le comportement du dataset :
histogrammes pour observer la distribution de la qualité,
analyse visuelle des déséquilibres,
validation des choix de nettoyage.
La visualisation nâĂ©tait pas seulement esthĂ©tique, elle mâa aidĂ© Ă prendre de meilleures dĂ©cisions techniques.
Mise Ă lâĂ©chelle (Scaling) : prĂ©parer le terrain
Avant de comparer les vins entre eux, il Ă©tait indispensable dâharmoniser les Ă©chelles des variables.
Les caractĂ©ristiques comme lâalcool, lâaciditĂ© ou la densitĂ© nâont pas la mĂȘme unitĂ©, et les comparer sans normalisation aurait biaisĂ© les rĂ©sultats.
Le scaling a donc permis de rendre les comparaisons justes et cohérentes.
SimilaritĂ© cosinus : le cĆur du systĂšme de recommandation
Une fois les donnĂ©es prĂȘtes, jâai calculĂ© la similaritĂ© cosinus entre les vins.
Cette méthode permet de mesurer la proximité entre deux vins en fonction de leurs caractéristiques.
Câest Ă ce moment-lĂ que le projet a rĂ©ellement pris vie :
les données se sont transformées en relations,
chaque vin a trouvĂ© ses âvoisinsâ les plus proches,
la base du systÚme de recommandation était posée.
Recommander intelligemment
Ă partir de la matrice de similaritĂ©, jâai implĂ©mentĂ© une fonction de recommandation :
lâutilisateur fournit un identifiant de vin,
le systĂšme retourne les vins les plus similaires.
Jâai Ă©galement explorĂ© des recommandations orientĂ©es vers les vins de meilleure qualitĂ©, tout en conservant une logique basĂ©e sur la similaritĂ© et non uniquement sur la note.
Ce que ce projet mâa appris
Ce projet my_vivino.ipynb mâa permis de comprendre que :
-la qualité des données est plus importante que la complexité du modÚle,
-le nettoyage et la visualisation sont des étapes clés,
-un systÚme de recommandation est avant tout une chaßne de décisions réfléchies.
Ă lâimage du parcours racontĂ© dans les blogs Kubernetes, cette aventure montre quâun projet technique nâest pas quâun rĂ©sultat final, mais surtout un processus dâapprentissage continu.