A newer version of the Gradio SDK is available:
6.5.1
title: Advanced Dataset Tutorial - Hugging Face Datasets İleri Seviye
emoji: 📚
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: 4.44.0
app_file: space/app.py
pinned: false
license: mit
tags:
- datasets
- tutorial
- nlp
- machine-learning
- data-processing
- Turkish
📚 Advanced Dataset Tutorial - Hugging Face Datasets İleri Seviye
Hugging Face Datasets kütüphanesi ile ileri seviye veri işleme teknikleri için kapsamlı Türkçe eğitim materyali.
🎯 Proje Hakkında
Bu proje, Hugging Face Datasets kütüphanesini profesyonel düzeyde kullanmak isteyenler için hazırlanmış kapsamlı bir eğitim serisidir. 4 ana modül ve 20+ pratik örnek içerir.
📖 Modüller
1️⃣ Büyük Ölçekli Datasets
- Streaming ile büyük veri işleme (750GB+ datasets)
- Memory-efficient preprocessing
- Batch processing optimizasyonu (2.3x hızlandırma)
- Multi-process parallelization (64x hızlandırma)
- Cache yönetimi (12.1x hızlandırma)
- Dataset sharding ve distributed training
Performans Kazanımları:
- ⚡ Batch processing: 2.3x daha hızlı
- 💾 Cache kullanımı: 12.1x daha hızlı
- 🚀 Multi-processing: 64x daha hızlı
- 📦 Generator pattern: Minimal RAM kullanımı
2️⃣ Domain-Specific Datasets
- Bilimsel makaleler (arXiv, PubMed style)
- Kod datasets (6 programlama dili)
- Finansal analiz (sentiment + market data)
- Tıbbi/sağlık (PHI anonymization)
- Cross-domain integration (3 çözüm yöntemi)
Üretilen Datasets:
- 🔬 2,000 bilimsel makale
- 💻 2,000 kod örneği
- 💰 2,000 finansal kayıt
- 🏥 2,000 tıbbi kayıt
3️⃣ İleri Teknikler
- Custom Data Collators (3 farklı tip)
- Advanced Feature Extraction (10+ feature)
- Preprocessing Pipelines (modular & reusable)
- Data Augmentation (3x veri artışı)
- Stratified Sampling (balanced splits)
- Dynamic Batching (40% padding azalması)
- Active Learning integration
Teknikler:
- 📦 Simple, Padding, Advanced Collators
- 🔧 Feature Engineering Pipeline
- 🎲 Smart Data Augmentation
- 📊 Diversity & Uncertainty Sampling
4️⃣ Özel Görevler İçin Datasets
- Question Answering (SQuAD-style)
- Summarization (CNN/DailyMail)
- Named Entity Recognition (BIO tagging)
- Sentiment Analysis (aspect-based)
- Text Classification (multi-class)
- Multi-Task Learning
Task-Specific Datasets:
- ❓ 200 QA pairs + 100 multiple choice
- 📝 100 summarization pairs
- 🏷️ 100 NER annotated sentences
- 😊 300 sentiment reviews
- 📊 200 topic classification
🚀 Hızlı Başlangıç
Online Demo (Gradio)
# Space'i çalıştır
python space/app.py
Manuel Kullanım
from datasets import load_dataset
# Örnek: Büyük dataset streaming
dataset = load_dataset("tugrulkaya/advanced-dataset-tutorial")
💻 Kurulum
# Gerekli kütüphaneler
pip install datasets transformers numpy pandas
# Opsiyonel
pip install gradio # İnteraktif demo için
📂 Proje Yapısı
advanced-dataset-tutorial/
├── 📊 datasets/ # Örnek dataset'ler
│ ├── large_scale_example/ # Büyük ölçekli örnekler
│ ├── domain_specific_example/ # Domain-specific örnekler
│ ├── advanced_techniques_example/ # İleri teknik örnekleri
│ └── task_specific_example/ # Task-specific örnekler
│
├── 🌐 space/ # Gradio Space
│ ├── app.py # Ana uygulama
│ ├── modules/ # Tüm modül scriptleri
│ │ ├── 01_buyuk_olcekli_datasets_complete.py
│ │ ├── 02_domain_specific_datasets.py
│ │ ├── 02b_cross_domain_fix.py
│ │ ├── 03_ileri_teknikler_part1.py
│ │ ├── 03_ileri_teknikler_part2.py
│ │ └── 04_ozel_gorevler.py
│ └── README.md
│
└── README.md # Bu dosya
🎓 Öğrenme Yolu
Başlangıç Seviyesi
- ✅ Bölüm 1: Büyük Ölçekli Datasets
- Streaming basics
- Batch processing
- Memory management
Orta Seviye
- ✅ Bölüm 2: Domain-Specific Datasets
- Scientific data
- Code datasets
- Cross-domain integration
İleri Seviye
- ✅ Bölüm 3: İleri Teknikler
- Custom collators
- Pipeline patterns
- Advanced sampling
Uzman Seviye
- ✅ Bölüm 4: Özel Görevler
- Task-specific preprocessing
- Quality metrics
- Multi-task learning
📊 Performans Metrikleri
| Teknik | Performans Artışı | Kullanım Senaryosu |
|---|---|---|
| Batch Processing | 2.3x daha hızlı | Tüm preprocessing |
| Cache Kullanımı | 12.1x daha hızlı | Tekrarlanan işlemler |
| Multi-Processing | 64x daha hızlı | CPU-intensive tasks |
| Dynamic Batching | 40% padding azalması | Training efficiency |
| Data Augmentation | 3x veri artışı | Class imbalance |
🔧 Best Practices
Memory Efficiency
# ✅ DOĞRU: Streaming ile büyük veri
dataset = load_dataset("huge_dataset", streaming=True)
# ❌ YANLIŞ: Tüm veriyi RAM'e yükleme
dataset = load_dataset("huge_dataset") # 100GB RAM!
Batch Processing
# ✅ DOĞRU: Batched operations
dataset.map(process_fn, batched=True, batch_size=1000)
# ❌ YANLIŞ: Tek tek işleme
dataset.map(process_fn, batched=False) # 10x-100x yavaş!
Cross-Domain Integration
# ✅ DOĞRU: Ortak schema'ya normalize et
def normalize(example, domain):
return {
'text': example.get('text') or example.get('content'),
'domain': domain,
'metadata': json.dumps(example.get('meta', {}))
}
# ❌ YANLIŞ: Farklı schema'ları direkt birleştirme
combined = concatenate_datasets([ds1, ds2]) # ArrowTypeError!
🎯 Kullanım Örnekleri
1. Büyük Dataset İşleme
from datasets import load_dataset
# Streaming mode
dataset = load_dataset("c4", "en", split="train", streaming=True)
# İlk 1000 örneği işle
for i, example in enumerate(dataset.take(1000)):
process(example)
2. Custom Collator
class CustomCollator:
def __call__(self, batch):
texts = [ex['text'] for ex in batch]
labels = [ex['label'] for ex in batch]
return {'texts': texts, 'labels': labels}
# DataLoader ile kullan
collator = CustomCollator()
dataloader = DataLoader(dataset, collate_fn=collator)
3. Data Augmentation
def augment(example):
# Word deletion
words = example['text'].split()
augmented = ' '.join(random.sample(words, k=len(words)-2))
return {'text': augmented, 'label': example['label']}
augmented_dataset = dataset.map(augment)
📈 İstatistikler
- Toplam Kod Satırı: 5,000+
- Örnek Sayısı: 20,000+
- Teknik Sayısı: 50+
- Best Practices: 100+
🤝 Katkıda Bulunma
Bu proje açık kaynaklıdır ve katkılara açıktır!
- Fork edin
- Feature branch oluşturun (
git checkout -b feature/amazing) - Commit edin (
git commit -m 'Add amazing feature') - Push edin (
git push origin feature/amazing) - Pull Request açın
📝 Lisans
MIT License - detaylar için LICENSE dosyasına bakın.
👨💻 Yazar
Bu eğitim materyali, Hugging Face Datasets kullanıcıları için pratik ve uygulanabilir bilgi sağlamak amacıyla hazırlanmıştır.
🙏 Teşekkürler
- Hugging Face ekibine harika
datasetskütüphanesi için - Açık kaynak topluluğuna sürekli katkıları için
📚 Kaynaklar
🔗 Bağlantılar
⭐ Beğendiyseniz yıldız vermeyi unutmayın!
🔄 Güncellemeler için takip edin!
💬 Sorularınız için Discussion açın!