| title | emoji | colorFrom | colorTo | sdk | sdk_version | app_file | pinned | license | tags | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Advanced Dataset Tutorial - Hugging Face Datasets İleri Seviye |
📚 |
blue |
purple |
gradio |
4.44.0 |
space/app.py |
false |
mit |
|
Hugging Face Datasets kütüphanesi ile ileri seviye veri işleme teknikleri için kapsamlı Türkçe eğitim materyali.
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.
- 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ı
- 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
- 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
- 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
# Space'i çalıştır
python space/app.pyfrom datasets import load_dataset
# Örnek: Büyük dataset streaming
dataset = load_dataset("tugrulkaya/advanced-dataset-tutorial")# Gerekli kütüphaneler
pip install datasets transformers numpy pandas
# Opsiyonel
pip install gradio # İnteraktif demo içinadvanced-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
- ✅ Bölüm 1: Büyük Ölçekli Datasets
- Streaming basics
- Batch processing
- Memory management
- ✅ Bölüm 2: Domain-Specific Datasets
- Scientific data
- Code datasets
- Cross-domain integration
- ✅ Bölüm 3: İleri Teknikler
- Custom collators
- Pipeline patterns
- Advanced sampling
- ✅ Bölüm 4: Özel Görevler
- Task-specific preprocessing
- Quality metrics
- Multi-task learning
| 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 |
# ✅ 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!# ✅ 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ş!# ✅ 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!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)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)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)- Toplam Kod Satırı: 5,000+
- Örnek Sayısı: 20,000+
- Teknik Sayısı: 50+
- Best Practices: 100+
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
MIT License - detaylar için LICENSE dosyasına bakın.
Bu eğitim materyali, Hugging Face Datasets kullanıcıları için pratik ve uygulanabilir bilgi sağlamak amacıyla hazırlanmıştır.
- Hugging Face ekibine harika
datasetskütüphanesi için - Açık kaynak topluluğuna sürekli katkıları için
⭐ Beğendiyseniz yıldız vermeyi unutmayın!
🔄 Güncellemeler için takip edin!
💬 Sorularınız için Discussion açın!