맛, 영양, 지속 가능성을 별도 모델로 평가
세 목표는 label source와 오류의 의미가 다릅니다. 별도 모델로 예측한 뒤 ranking 단계에서 weight를 적용해 어느 목표를 우선했는지 볼 수 있게 했습니다.
Machine learning · Recommendation
사용자가 가진 재료를 기준으로 맛과 영양, 지속 가능성, 시각적 유사성을 함께 탐색한 Georgia Tech 팀 추천 프로젝트입니다.

사용자가 가진 재료를 먼저 반영하면서 맛, 영양, 지속 가능성과 visual similarity까지 함께 추천하려면 서로 다른 데이터와 평가 기준이 필요합니다. 이 팀 프로젝트에서는 TF-IDF/K-Means ranking, LightGBM와 ResNet50 image embedding을 나란히 실험하고, offline evaluation이 실제 선호를 어디까지 설명할 수 있는지 확인했습니다.
ingredient text를 정규화하고 pantry coverage로 후보를 줄인 뒤 TF-IDF similarity와 model score로 순위를 만듭니다. Food.com rating과 Open Food Facts의 Nutri-Score/Eco-Score는 별도 LightGBM task로 학습하고, ResNet50 embedding은 시각적으로 비슷한 recipe image를 찾는 데 사용했습니다.
세 목표는 label source와 오류의 의미가 다릅니다. 별도 모델로 예측한 뒤 ranking 단계에서 weight를 적용해 어느 목표를 우선했는지 볼 수 있게 했습니다.
초기 점수가 지나치게 높아 feature-label 관계를 다시 확인했습니다. plant_ratio와 meat_ratio가 vegan label을 사실상 노출하고 있어 두 feature를 제거한 뒤 TF-IDF ingredient semantics로 다시 학습했습니다.
leakage feature를 제거한 뒤 vegan accuracy는 92.5%로 다시 측정됐습니다. threshold 0.8에서는 precision 91.2%였지만 recall은 44.1%로 낮았습니다. 높은 초기 점수를 그대로 채택하지 않고 label 생성 과정부터 확인한 이유입니다.
최종 LightGBM pipeline은 nutrition hold-out에서 R² 0.923, sustainability ranking에서 Spearman 0.836을 기록했습니다. 반면 taste classification accuracy 0.625는 majority baseline 0.622와 거의 같았습니다. 강한 결과만 골라 보여 주지 않고 목표별 성능 차이를 그대로 남겼습니다.