İçeriğe geç
Tüm projeler

Jikan API Scraper: Hata Toleranslı ML Veri Seti Üreticisi

Makine öğrenmesi (ML) modellerini eğitmek amacıyla MyAnimeList veritabanını otonom olarak tarayan; exponential backoff ve düşük seviyeli disk I/O flush mekanizmalarına sahip, hata toleranslı veri hasadı (data harvesting) motoru.

Teknoloji yığını

Diller
Çatılar & kütüphaneler

Performans & metrikler

  • Devasa veri setini tek seferde RAM'e yüklemek yerine 'chunked append' stratejisi kullanılarak memory ballooning (bellek şişmesi) riskinin sıfırlanması
  • Geçici HTTP yanıtı objelerinin işlendikten hemen sonra garbage collection'a bırakılmasıyla stabil bellek tüketimi
  • Thread bloklanmalarını önlemek için dinamik bekleme (sleep) sürelerinin API'nin anlık tepki durumuna göre hesaplanması

Neden geliştirdim?

Makine öğrenmesi modelleri devasa ve yapılandırılmış veri setlerine ihtiyaç duyar, ancak Jikan gibi açık API'ler katı rate-limit'lere ve öngörülemeyen bağlantı kesintilerine sahiptir. Saatlerce sürebilecek veri çekme (scraping) operasyonlarında sıfır veri kaybı yaşamak ve veri mühendisliği pipeline'ları için otonom bir şekilde ham veri toplamak adına bu dayanıklı altyapıyı tasarladım.

Mimari & kararlar

Script tamamen Python üzerinde koşar; ağ I/O operasyonları için requests, veri yapılandırması için pandas kullanır. Çekirdek döngü, HTTP 429 (Too Many Requests) ve 5xx sunucu hatalarını absorbe edebilmek için randomize jitter ile desteklenmiş 'exponential backoff' algoritması uygular. Uzun süren memory-bound işlemlerde veya olası işletim sistemi çökmelerinde (crash) veri bütünlüğünü garanti etmek için, her sayfa (pagination) dönüşünde dosya tanımlayıcıları (file descriptors) düşük seviyeli os.fsync() sistem çağrısıyla doğrudan diske yazılmaya (flush) zorlanır. Standart çıktı (stdout), eşzamanlı olarak çok kanallı loglama sistemine yönlendirilmiştir.

Temel özellikler

  1. 01Randomize jitter eklenmiş exponential backoff algoritması ile agresif HTTP 429 rate-limit mitigasyonu
  2. 02İşletim sistemi seviyesinde I/O senkronizasyonu (os.fsync) ile disk yazma işlemlerinin anında kalıcılığını garanti etme
  3. 03ML 'feature engineering' süreçleri için optimize edilmiş, iki farklı derinlikte (ana metrikler vs. karmaşık entity ilişkileri) eşzamanlı CSV dışa aktarımı
  4. 04Ağ kopmalarını ve parse edilemeyen bozuk JSON yanıtlarını izole eden otonom hata kayıt (error & unsaved logging) mekanizması

Teknik değerlendirme

Bu proje basit bir web scraper'dan ziyade, dayanıklı bir veri mühendisliği hattı (data ingestion pipeline) olarak kurgulanmıştır. İşletim sistemi seviyesinde disk senkronizasyonu (fsync) ve detaylı exception hiyerarşisi sayesinde, script API zaman aşımlarını, bağlantı sıfırlamalarını ve katı throttling limitlerini insan müdahalesine gerek kalmadan atlatır. Ana tablo ve detay tablosu (ilişkisel ağlar) şeklinde yapılan ayrım, toplanan verinin Pandas/Polars tabanlı model eğitim ortamlarına doğrudan (preprocessing yükü olmadan) entegre edilebilmesi için önceden optimize edilmiştir.

Yapay Zekâ & Makine Öğrenimi

Ensemble Facial Recognition & ONNX Pipeline

SVM, Random Forest ve CNN mimarilerini soft-voting (esnek oylama) ile birleştirerek yüz veri setlerini sınıflandıran ve modelleri otonom olarak ONNX grafklarına serileştiren heterojen ML hattı.

  • Python
  • TensorFlow / Keras
  • Scikit-Learn
  • +3

Yapay Zekâ & Makine Öğrenimi

WaifuChat (Local AI)

Yerel (local) LLM modellerini (DeepSeek) kullanan, internet bağlantısı gerektirmeyen ve tamamen cihaz üzerinde çalışan kişisel yapay zekâ asistanı.

  • Rust
  • Tauri
  • DeepSeek-R1
  • +1

Yapay Zekâ & Makine Öğrenimi

Özel

Biometric Authentication & ML.NET Client

Gerçek zamanlı OpenCV yüz tespiti, ML.NET derin öğrenme (ResNet50) çıkarımı ve Firebase'i entegre ederek güvenli, biyometrik çift faktörlü kimlik doğrulama sağlayan C# masaüstü istemcisi.

  • C#
  • Windows Forms
  • ML.NET
  • +4

Benzer bir ihtiyacınız mı var?

Bu tür bir sistemi sizin için de kurabilirim.

Projenizi birkaç cümleyle anlatın; doğru yaklaşımı ve tahmini kapsamı birlikte belirleyelim.