Bu proje, öğrencilerin Market Basket Analysis konusunu kolayca öğrenmesi için tasarlanmıştır.
- Dosya:
data/basket_analysis.csv - Format: 999 satır (sepet) x 16 sütun (ürün)
- İçerik: Her hücre True/False - ürünün sepette olup olmadığını gösterir
- Ürünler: Apple, Bread, Butter, Cheese, Corn, Dill, Eggs, Ice cream, Kidney Beans, Milk, Nutmeg, Onion, Sugar, Unicorn, Yogurt, chocolate
Bu proje ile öğrenciler şunları öğrenecek:
- Market Basket Analysis nedir?
- Support, Confidence, Lift kavramları
- Ürün birlikteliklerini nasıl bulabiliriz?
- Association Rules nasıl oluşturulur?
- Sonuçları nasıl yorumlarız?
# Virtual environment'ı aktifleştir
source venv/bin/activate
# Basit analizi çalıştır
python basit_market_analizi.py# Virtual environment'ı aktifleştir
source venv/bin/activate
# Web uygulamasını başlat
streamlit run basit_streamlit_app.pyTarayıcınızda açılan sayfada:
- 🏠 Ana Sayfa: Teorik bilgiler
- 📊 Veri Görüntüleme: Ham verileri inceleyin
- 🔍 Popüler Ürünler: En çok satılan ürünler
- 🔗 Birliktelik Analizi: Hangi ürünler birlikte alınıyor?
- 📋 Kural Analizi: "X alan Y'yi de alır" kuralları
- 🎯 Ürün Önerileri: Müşterilere ne önerebiliriz?
- Bir ürün veya ürün çiftinin ne kadar sık alındığı
- Formül: Support(A) = A içeren sepet sayısı / Toplam sepet sayısı
- Örnek: Milk %40 support → Sepetlerin %40'ında milk var
- A ürününü alan müşterilerin kaçta kaçının B ürününü de aldığı
- Formül: Confidence(A→B) = Support(A,B) / Support(A)
- Örnek: Milk→Bread %60 confidence → Milk alan müşterilerin %60'ı bread da alıyor
- İki ürünün birlikte alınma olasılığının tesadüfi duruma göre ne kadar güçlü olduğu
- Formül: Lift(A→B) = Confidence(A→B) / Support(B)
- Yorum:
- Lift = 1: Tesadüfi birliktelik
- Lift > 1: Pozitif birliktelik (birlikte alınma eğilimi var)
- Lift < 1: Negatif birliktelik (birlikte alınma eğilimi yok)
- chocolate: 421 sepet (%42.1)
- Butter: 420 sepet (%42.0)
- Yogurt: 420 sepet (%42.0)
- Milk + chocolate: 89 sepet (%8.9 support)
- Bread + Butter: 85 sepet (%8.5 support)
- Yogurt + chocolate: 83 sepet (%8.3 support)
- Milk → chocolate: %68 confidence, 1.6 lift
- "Milk alan müşterilerin %68'i chocolate da alıyor"
- Bread → Butter: %65 confidence, 1.5 lift
- "Bread alan müşterilerin %65'i butter da alıyor"
- Milk alan müşterilere chocolate önerin
- Bread alan müşterilere butter önerin
- İlgili ürünleri yakın raflara koyun
- Milk ve chocolate'ı aynı bölümde bulundurun
- Birlikte alınan ürünlerde "2. ürün %50 indirim" kampanyası
- Milk + chocolate paketi oluşturun
- Birlikte alınan ürünlerin stoklarını birlikte planlayın
- Milk bitiyorsa chocolate da bitebilir
🛒 MARKET SEPETİ ANALİZİ
==========================================
📁 Veri yükleniyor...
✅ Veri yüklendi: 999 sepet, 16 ürün
✅ 999 sepet hazırlandı
📊 TEMEL İSTATİSTİKLER
==========================================
Toplam sepet sayısı: 999
Ortalama ürün/sepet: 8.2
En fazla ürün/sepet: 16
En az ürün/sepet: 1
En popüler 5 ürün:
chocolate: 421 sepet (%42.1)
Butter: 420 sepet (%42.0)
Yogurt: 420 sepet (%42.0)
...
- 📊 İnteraktif grafikler
- 🔧 Parametreleri değiştirme
- 🎯 Gerçek zamanlı öneri sistemi
- 📋 Detaylı açıklamalar
pandas>=1.5.0
numpy>=1.21.0
streamlit>=1.28.0
plotly>=5.15.0
matplotlib>=3.6.0
seaborn>=0.12.0
hafta6/
├── data/
│ └── basket_analysis.csv # Ana veri dosyası
├── basit_market_analizi.py # Konsol uygulaması
├── basit_streamlit_app.py # Web uygulaması
├── README_BASIT.md # Bu dosya
└── requirements.txt # Python gereksinimleri
Çözüm: data/basket_analysis.csv dosyasının doğru konumda olduğundan emin olun
Çözüm:
source venv/bin/activate
pip install streamlit
streamlit run basit_streamlit_app.pyÇözüm: Plotly ve matplotlib yüklü olduğundan emin olun