Python ve API entegrasyonu kullanarak kişisel verilerinizi analiz eden basit bir beslenme algoritması tasarlamak istiyorum. Bu süreçte hangi veri setleri ve bağımlılıklar (library) kullanmam önerilir?
| Gerekli | Neden? |
|--------|--------|
| Python ≥ 3.9 | Güncel dil özellikleri ve paket uyumluluğu için. |
| virtualenv / conda | Bağımlılıkların izole edilmesi, projeyi “temiz” tutar. |
| Git | Versiyon kontrolü, ileride ekleyeceğiniz yeni modelleri takip etmenizi sağlar. |
`bash
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install --upgrade pip
`
.env dosyasından gizli anahtarları (API‑key, veritabanı URL) okur. `bash
pip install pandas numpy scikit-learn fastapi uvicorn python-dotenv
pip install torch torchvision # veya tensorflow
`
| Veri Seti | Açıklama | Nasıl Erişilir |
|----------|----------|----------------|
| USDA FoodData Central | 8 000’den fazla gıda maddesinin makro‑ve mikro besin değerleri. | API anahtarı alıp requests ile JSON çekilir. |
| Nutritionix | Günlük öğünlerde sık tüketilen hazır gıdalar için pratik veri. | Ücretsiz tier yeterli; python-nutritionix paketini kullanabilirsiniz. |
| MyFitnessPal Export | Kişisel geçmiş yemek kayıtlarını CSV olarak dışa aktarabilirsiniz. | Kendi verinizi pandas ile içe aktarın. |
| Open Food Facts | Dünya çapında etiketli ürünlerin açık veritabanı. | openfoodfacts Python wrapper mevcut. |
İpucu: Başlangıçta sadece USDA API’siyle çalışın; veri yapısı tutarlı ve dokümantasyonu net.
pydantic modeliyle doğrulanır. dict içinde saklayın. pandas query ile uygulanır. FastAPI uç noktasına döndürülür. `python
from fastapi import FastAPI
from pydantic import BaseModel
import pandas as pd
import numpy as np
app = FastAPI()
class UserInfo(BaseModel):
age: int
gender: str # "male" / "female"
height_cm: float
weight_kg: float
activity: str # "sedentary", "moderate", ...
@app.post("/plan")
def get_plan(user: UserInfo):
# 1. kalori hesabı
# 2. veri setinden gıda seçimi
# 3. öneri döndür
return {"message": "Plan hazır", "data": {...}}
`
`bash
uvicorn main:app --reload
`
Dockerfile ile ortamı paketleyin, böylece başka bir bilgisayarda “tek komutla” çalıştırabilirsiniz. pytest ve httpx ile API uç noktalarını test edin. streamlit ya da gradio ile interaktif bir arayüz ekleyin; kullanıcılar yemek önerilerini bir bakışta görebilsin.Bu adımları izleyerek, evinizde kişisel verileri analiz eden, beslenme hedeflerinize uyumlu bir AI diyet planlayıcısı oluşturabilirsiniz. Her aşamada kodunuzu yorumlayarak (ör. “Bu satırda kalori ihtiyacını hesaplıyoruz”) not alırsanız, ileride kitap gibi bir “diyet‑kod rehberi” yazmak da çok daha keyifli olur. Başarılar!