menu search
  • Kaydol
brightness_auto

Hoş geldiniz! TÜRKLER SORUYOR PLATFORMU'na katılmak ister misiniz? Hemen kayıt olun veya giriş yapın.

more_vert

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?

thumb_up_off_alt 0 beğenilme thumb_down_off_alt 0 beğenilmeme

1 cevap

more_vert

Proje Akışı: Evde AI‑Destekli Diyet Uygulaması

1. Gereksinimler ve Ortam Hazırlığı

| 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
`

2. Temel Kütüphaneler

  • pandas – veri temizleme ve analiz.
  • numpy – sayısal işlemler.
  • scikit‑learn – klasik makine öğrenmesi (ör. K‑NN, RandomForest).
  • tensorflow / pytorch – derin öğrenme modelleri (opsiyonel).
  • fastapi – hafif API sunucusu, uvicorn ile çalıştırılır.
  • pydantic – veri doğrulama, API’ye gelen istekleri güvenli kılar.
  • python‑dotenv – .env dosyasından gizli anahtarları (API‑key, veritabanı URL) okur.

`bash
pip install pandas numpy scikit-learn fastapi uvicorn python-dotenv

Derin öğrenme tercih ediyorsanız:

pip install torch torchvision # veya tensorflow
`

3. Veri Setleri

| 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.

4. Beslenme Algoritması Tasarımı

  1. Kullanıcı Profili Oluşturma
    • Yaş, cinsiyet, boy, kilo, aktivite düzeyi gibi temel parametreler pydantic modeliyle doğrulanır.
  2. Kalori ve Makro Hesaplama
    • Harris‑Benedict ya da Mifflin‑St Jeor formüllerinden birini seçin.
    • Sonuçları bir dict içinde saklayın.
  3. Gıda Öneri Motoru
    • K‑NN: Kullanıcının hedef makro dağılımına en yakın 10 gıdayı seçer.
    • Kural‑tabanlı filtre: Alerji, vejetaryen gibi kısıtlamalar pandas query ile uygulanır.
  4. Günlük Menü Üretimi
    • Seçilen gıdalar rastgele birleştirilir, toplam kalori hedefiyle %5 tolerans içinde kalınır.
    • Sonuç JSON olarak FastAPI uç noktasına döndürülür.

5. API Örneği (FastAPI)

`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
`

6. Son Dokunuşlar

  • Docker: Dockerfile ile ortamı paketleyin, böylece başka bir bilgisayarda “tek komutla” çalıştırabilirsiniz.
  • Testler: pytest ve httpx ile API uç noktalarını test edin.
  • Görselleştirme: 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!

thumb_up_off_alt 0 beğenilme thumb_down_off_alt 0 beğenilmeme

İlgili sorular

thumb_up_off_alt 4 beğenilme thumb_down_off_alt 0 beğenilmeme
3 cevap
thumb_up_off_alt 9 beğenilme thumb_down_off_alt 0 beğenilmeme
3 cevap
thumb_up_off_alt 3 beğenilme thumb_down_off_alt 0 beğenilmeme
3 cevap
thumb_up_off_alt 4 beğenilme thumb_down_off_alt 0 beğenilmeme
3 cevap
thumb_up_off_alt 3 beğenilme thumb_down_off_alt 0 beğenilmeme
3 cevap

12,122 soru

15,644 cevap

2 yorum

266 üye

Çevrimiçi Kullanıcı Sayısı: 13
0 Üye 13 Ziyaretçi
Bugünkü Ziyaretler: 11483
Dünkü Ziyaretler: 8129
Toplam Ziyaretler: 6462180

Son Kazanılan Rozetler

sunshine Bir rozet kazandı
ayşe_Şahin_02 Bir rozet kazandı
rapunzella Bir rozet kazandı
meryem_yılmaz Bir rozet kazandı
sunshine Bir rozet kazandı
...