Skip to content

Dataset Accounts & Cloud: Kaggle, HuggingFace, Numenta, MVTec, NASA — The Anomaly Detection Data Arsenal

Where to download the 18 datasets used in this course, Kaggle API setup, HuggingFace datasets, Numenta NAB, MVTec AD, NASA Turbofan, CWRU bearing, IEEE-CIS Fraud — plus free GPU access via Google Colab and RunPod.

Şükrü Yusuf KAYA
32 min read
Beginner
Veri Hesapları & Cloud: Kaggle, HuggingFace, Numenta, MVTec, NASA — Anomaly Detection Veri Cephaneliği
📦 Veri olmadan model olmaz
Bir anomaly detection mühendisinin gerçek silahı algoritma değil veri'dir. Aynı iForest, Credit Card Fraud verisinde %94 AUC verirken, NSL-KDD'de %72'ye düşebilir. Bu yüzden farklı domain'lerin standard datasets'ini elinde tutman şart. Bu derste 18 veri kümesini, nereden indirileceğini, hangi modülde kullanılacağını ve nasıl saklayacağını göreceksin.

Bu Kursta Kullanacağımız 18 Veri Kümesi#

Aşağıdaki tablo kursun veri yol haritasıdır. Hepsi public, hepsi ücretsiz.
#Veri KümesiDomainModülBoyutTip
1Numenta NABTime series benchmark4, 1530 MBUnivariate TS, 58 stream
2Yahoo S5Time series benchmark4, 15280 MB367 univariate TS
3NSL-KDDNetwork intrusion7, 2025 MBTabular, 41 feature
4CIC-IDS2017Network intrusion208 GBTabular, 80 feature
5UNSW-NB15Network intrusion203 GBTabular, 49 feature
6Credit Card Fraud (Kaggle)Finans3, 5, 7150 MBTabular, 30 feature
7IEEE-CIS FraudFinans19 (Capstone)1.5 GBTabular, 400+ feature
8Elliptic BitcoinGraph fraud26 (Capstone)200 MBGraph, transactional
9HDFS LogsLog anomaly211.6 GBSequence, 11M entry
10BGL LogsLog anomaly211.2 GBSequence, 5M entry
11MIT-BIH ArrhythmiaHealthcare ECG2575 MBTime series, 48 records
12PTB-XL ECGHealthcare ECG252.5 GBTS, 21K records
13MVTec ADVision QC245.2 GBImage, 5354 görüntü
14VisAVision QC2417 GBImage, 10K+ görüntü
15CWRU BearingPredictive maintenance23320 MBVibration TS
16NASA TurbofanPredictive maintenance23 (Capstone)50 MBMultivariate TS, RUL
17SWaT (Secure Water Treatment)ICS multivariate17 (Capstone)1.1 GBMTS, 51 sensor
18NYC TaxiTS streaming27 (Capstone)2 GBSequence, geo + ts
Toplam: ~45 GB. Hepsini birden indirmek zorunda değilsin — modül modül lazım olduğunda alacağız. Bu ders sana sadece kanalları açıyor.

Bölüm 1: Kaggle Hesabı ve API#

Kaggle, anomaly detection için en kritik veri kaynaklarından biri. Credit Card Fraud, IEEE-CIS Fraud, IDS2017'nin bir kısmı buradan iniyor.

1.1 — Kaggle Hesabı#

Hesabın yoksa: https://www.kaggle.com/account/login — ücretsiz, Google veya email ile kayıt.

1.2 — API Token Üret#

  1. https://www.kaggle.com/settings adresine git
  2. Sayfayı kaydır → "API" bölümü → "Create New Token"
  3. kaggle.json
    dosyası indirilir
  4. Dosyayı uygun yere koy:
# Linux / WSL2 / macOS mkdir -p ~/.kaggle mv ~/Downloads/kaggle.json ~/.kaggle/ chmod 600 ~/.kaggle/kaggle.json

1.3 — Kaggle CLI#

uv pip install kaggle # Test kaggle competitions list
bash
# Credit Card Fraud Detection — Modül 3, 5, 7 için
kaggle datasets download -d mlg-ulb/creditcardfraud
unzip creditcardfraud.zip -d data/raw/credit-card-fraud/
rm creditcardfraud.zip
 
# IEEE-CIS Fraud — Capstone 1 için
kaggle competitions download -c ieee-fraud-detection
unzip ieee-fraud-detection.zip -d data/raw/ieee-cis-fraud/
rm ieee-fraud-detection.zip
 
# NYC Taxi (anomaly streaming)
kaggle datasets download -d boltzmannbrain/nyc-taxi
unzip nyc-taxi.zip -d data/raw/nyc-taxi/
rm nyc-taxi.zip
Kaggle API ile veri indirme örnekleri
💡 Kaggle rate limit
Kaggle CLI günde yaklaşık 100 API çağrısı, 50 GB indirme limiti var. Kursun tüm Kaggle dataset'leri yaklaşık 4 GB; rahat indirirsin. IEEE-CIS Fraud yarışmasına katılmadan da dataset'i indirebiliyorsun (Kaggle T&C: 'Late Submission' modu) — sadece submit edemezsin, dataset'e erişim sıkıntı değil.

Bölüm 2: HuggingFace Datasets#

Bir o kadar kritik kaynak. Özellikle log anomaly (LogBERT pretrain) ve healthcare (ECG datasets) için.

2.1 — Hesap ve Token#

  1. https://huggingface.co/join — ücretsiz hesap
  2. Settings → Access Tokens → "New Token" (read permission yeter)
  3. Token'ı sakla

2.2 —
datasets
ve
huggingface_hub
#

uv pip install datasets huggingface_hub # Login (token'ı yapıştır) huggingface-cli login
python
# HuggingFace datasets — Python kullanımı
from datasets import load_dataset
 
# Örnek 1: HDFS log anomaly (LogBERT için)
hdfs = load_dataset("nielsr/hdfs-logs", split="train")
print(f"HDFS satır sayısı: {len(hdfs)}")
 
# Örnek 2: PTB-XL ECG
ptbxl = load_dataset("PTB-XL/ptbxl", split="train")
print(f"PTB-XL kayıt sayısı: {len(ptbxl)}")
 
# Örnek 3: Custom dataset cache yolunu kontrol et
import os
print(f"HF cache: {os.environ.get('HF_HOME', '~/.cache/huggingface')}")
 
# Disk doluyorsa cache'i temizle
# huggingface-cli delete-cache
HuggingFace datasets kullanım örneği
⚠️ HuggingFace cache disk dolduruyor
HuggingFace varsayılan olarak
~/.cache/huggingface/
altına dataset'leri çekiyor. PTB-XL gibi 2.5 GB dataset'leri cache'leyince hızla şişer.
export HF_HOME=/path/to/big/disk
ile farklı bir yere yönlendirebilirsin. WSL2 kullanıyorsan Windows tarafındaki D: drive'a yönlendirmek WSL içinden mümkün:
HF_HOME=/mnt/d/hf-cache
.

Bölüm 3: Numenta NAB (Time Series Benchmark)#

NAB (Numenta Anomaly Benchmark) anomaly detection için endüstri standardı zaman serisi benchmark'ıdır. 58 farklı stream, gerçek dünya etiketli verileri içerir.
GitHub'dan klonlamak en pratik yol:
bash
mkdir -p data/raw/numenta
cd data/raw/numenta
git clone --depth=1 https://github.com/numenta/NAB.git
cd NAB
 
# Veri burası:
# data/realAWSCloudwatch/ — AWS cloud metrics
# data/realKnownCause/ — bilinen sebepli gerçek anomaliler
# data/realTraffic/ — trafik/araç sayma
# data/realTweets/ — tweet volume
# data/artificialNoAnomaly/ — kontrol grubu (anomalisiz)
# data/artificialWithAnomaly/ — sentetik anomalili
 
# Etiketler:
# labels/combined_labels.json — birleşik etiket dosyası
# labels/combined_windows.json — anomaly window'lar
Numenta NAB GitHub klonlama
Neden NAB özel? Çoğu time series benchmark anomaly'leri "noktasal" olarak işaretler (tek bir t anında). NAB window-based etiketleme yapar — anomaly bir zaman aralığında olur ve range-based F-score ile değerlendirilir. Bu, production'a daha yakın bir disiplin.
NAB ile çalışırken range-based metric kullanırsan PR-AUC %20-30 düşebilir — bu normaldir, anomaly window'lar zor problemdir. Bu kursta hem klasik nokta metriği hem NAB scoring sistemini öğretiyoruz (Modül 4).

Bölüm 4: MVTec AD (Computer Vision)#

MVTec AD endüstriyel görsel anomaly detection'ın altın standardıdır. 15 kategori (bottle, cable, capsule, leather, ...), her birinde "normal" ve "defektif" görüntüler.
Kullanım için research-only license:
bash
# Resmi indirme — biraz manuel
# 1. https://www.mvtec.com/company/research/datasets/mvtec-ad adresine git
# 2. Form doldur (email ile araştırma amaçlı talep)
# 3. Onay sonrası link gelir
 
# Alternatif: Hugging Face üzerinden (resmi mirror)
uv pip install --upgrade datasets
 
python -c "
from datasets import load_dataset
ds = load_dataset('Voxel51/mvtec-ad', split='train', cache_dir='./data/raw/mvtec')
print(f'MVTec train: {len(ds)} sample')
"
 
# Veya anomalib ile (Modül 24'te göstereceğiz)
python -c "
from anomalib.data import MVTec
data = MVTec(
root='./data/raw/mvtec',
category='bottle',
image_size=(256, 256),
)
data.setup()
print(data.train_data)
"
MVTec AD indirme — Voxel51 mirror veya anomalib
⚖️ MVTec lisans uyarısı
MVTec AD veriseti non-commercial research lisansıyladır. Eğitim, akademik çalışma, kişisel öğrenme — serbest. Ürün geliştirmek (ticari kullanım) için MVTec'ten ek lisans alman gerekiyor. Bu kursta tamamen eğitim amaçlı kullanıyoruz. Daha açık bir alternatif: VisA dataset'i (Amazon Berkeley, daha izinli lisans).

Bölüm 5: MIT-BIH Arrhythmia (Healthcare ECG)#

PhysioNet üzerinden ücretsiz. Modül 25'te ECG anomaly detection için kullanacağız.
bash
# Komut satırından PhysioNet
uv pip install wfdb
 
# Tam dataset (~75 MB)
python -c "
import wfdb
wfdb.dl_database('mitdb', dl_dir='./data/raw/mit-bih', records='all')
print('İndirme tamam')
"
 
# Veya HuggingFace
python -c "
from datasets import load_dataset
ds = load_dataset('lukestanley/mit-bih-arrhythmia-database')
print(ds)
"
MIT-BIH Arrhythmia indirme

Bölüm 6: CWRU Bearing (Predictive Maintenance)#

Case Western Reserve University bearing dataset'i — vibration-based predictive maintenance'ın klasik benchmark'ı.
CWRU'nun resmi sayfası: https://engineering.case.edu/bearingdatacenter/ İndirme zahmetli (Matlab .mat formatında), Kaggle'da daha temiz mirror var:
bash
# Kaggle mirror (önerilir)
kaggle datasets download -d brjapon/cwru-bearing-datasets
unzip cwru-bearing-datasets.zip -d data/raw/cwru/
 
# .mat dosyalarını okumak için
uv pip install scipy
 
# Python ile okuma örneği
python -c "
from scipy.io import loadmat
import numpy as np
 
mat = loadmat('data/raw/cwru/Normal_0.mat')
print('Keys:', [k for k in mat.keys() if not k.startswith('__')])
# Genelde 'X097_DE_time' gibi anahtarlar — Drive End sensor
"
CWRU Bearing indirme + okuma

Bölüm 7: NASA Turbofan (Remaining Useful Life)#

NASA Prognostics Center'ın CMAPSS dataset'i. Turbofan motorların sensor verisi
  • RUL etiketi.
bash
# NASA resmi — ZIP ile
mkdir -p data/raw/nasa-turbofan
cd data/raw/nasa-turbofan
wget -O cmapss.zip 'https://data.nasa.gov/download/ff5v-kuh6/application%2Fzip'
unzip cmapss.zip
rm cmapss.zip
 
# 4 alt-dataset gelir: FD001, FD002, FD003, FD004
ls
# train_FD001.txt test_FD001.txt RUL_FD001.txt ...
 
# Kaggle mirror alternatifi
kaggle datasets download -d behrad3d/nasa-cmaps
unzip nasa-cmaps.zip -d data/raw/nasa-turbofan-kaggle/
NASA Turbofan CMAPSS indirme

Bölüm 8: SWaT (ICS Multivariate Time Series)#

Singapore Univ. of Tech. & Design'ın SWaT (Secure Water Treatment) dataset'i — 51 sensör, 36 saldırı senaryosu. Industrial Control System (ICS) için ana benchmark.
Form doldurman ve onay beklemen gerekiyor (1-3 hafta). Onay öncesi için TEP (Tennessee Eastman Process) kullanılabilir — benzer karakteristik:
bash
# Tennessee Eastman Process — alternatif olarak
kaggle datasets download -d averkij/tennessee-eastman-process-simulation-dataset
unzip tennessee-eastman-process-simulation-dataset.zip -d data/raw/tep/
TEP — SWaT yerine kısa sürede alternatif

Bölüm 9: HDFS ve BGL Logs (Log Anomaly)#

LogHub repo'su tüm log anomaly benchmark'larını topluyor:
bash
mkdir -p data/raw/loghub
cd data/raw/loghub
git clone --depth=1 https://github.com/logpai/loghub.git
cd loghub
 
# Zip'ler genellikle SourceForge / Zenodo'da; LogHub README'de linkler var
# Önerilen direkt download (Zenodo mirror)
 
# HDFS
wget -O HDFS.zip "https://zenodo.org/records/8196385/files/HDFS_v1.zip"
unzip HDFS.zip -d HDFS/
rm HDFS.zip
 
# BGL
wget -O BGL.zip "https://zenodo.org/records/8196385/files/BGL.zip"
unzip BGL.zip -d BGL/
rm BGL.zip
 
# Bir göz at
head -5 HDFS/HDFS.log
# 081109 203518 143 INFO dfs.DataNode$DataXceiver: Receiving block ...
LogHub HDFS ve BGL log dataset'leri

Veri Saklama Stratejisi#

Dataset'ler yer kaplar. Aşağıdaki yapı 45 GB'lık total'ı yönetilebilir tutar:
data/ ├── raw/ # ham veri (gitignore!) │ ├── credit-card-fraud/ │ ├── ieee-cis-fraud/ │ ├── numenta/ │ ├── mvtec/ │ ├── nasa-turbofan/ │ ├── ... │ └── loghub/ ├── processed/ # işlenmiş, sınırlı parquet (opsiyonel commit) │ ├── credit-card-fraud.parquet │ └── nab-merged.parquet ├── splits/ # train/val/test indis dosyaları │ └── ... └── meta/ # dataset metadata + manifest └── manifest.yaml

Veri için S3-compatible storage (opsiyonel)#

Eğer evde 50 GB+ ekstra disk yoksa veya birden fazla makineden çalışacaksan S3-compatible bir storage işine yarayabilir:
ServisÜcretsiz TierBandwidth
Cloudflare R210 GB storage + ücretsiz egressSınırsız
Backblaze B210 GB storage + 1 GB/gün egressSınırlı
MinIO (self-hosted)Disk'in kadarLocal
AWS S35 GB / 12 ay100 GB egress free
Bu kursta Cloudflare R2 öneririz — egress (indirme) tamamen ücretsiz, istediğin kadar pull yapabilirsin.
uv pip install boto3 # R2 endpoint örneği export AWS_ACCESS_KEY_ID=... export AWS_SECRET_ACCESS_KEY=... export AWS_ENDPOINT_URL=https://<account>.r2.cloudflarestorage.com # Veriyi yükle aws s3 cp data/raw/credit-card-fraud/creditcard.csv s3://my-ad-data/ # Başka makineden çek aws s3 cp s3://my-ad-data/creditcard.csv .

Bulut GPU Seçenekleri#

Mac/Windows GPU'n yoksa veya RAM yetmiyorsa, kursun deep learning kısımları (Part III, Modül 24 vision capstone) için bulut GPU'ya ihtiyacın olur.

Karşılaştırma Tablosu (2026 fiyatlar)#

ServisÜcretsiz TierRTX 4090 saatA100 saatNotlar
Google Colab Free4-6 saat/gün T4Disconnect frequent
Google Colab Pro$10/ay, A100 quota$0.30Sınırlı saat
Kaggle Notebook30 saat/hafta T4 ücretsizDisk 20 GB
RunPodYok$0.34$1.19Spot fiyat, kredit kart
Vast.aiYok$0.30-0.50$0.80-1.20Marketplace
Lambda CloudYok$1.10Stabil
PaperspaceYok$0.42$0.78Notebook + persistent
Modal$30/ay free$2.99Serverless, dakika

Önerimiz#

  • Part I-II için: Kendi CPU'n yeterli.
  • Part III için: Kaggle Notebook (haftalık 30 saat T4 ücretsiz) — kursun çoğu Part III lab'ı T4'te 1-2 saatte biter.
  • Part VIII büyük capstone'lar için: RunPod RTX 4090 (saatte 0.34).Bircapstoneu46saattebitirirsen0.34). Bir capstone'u 4-6 saatte bitirirsen 1.50-2 maliyet.

Kaggle Notebook ile Çalışmak#

Kaggle Notebook'ta:
  1. Bir notebook aç
  2. Sağda "Accelerator" → "GPU T4 x2" veya "GPU P100" seç
  3. Veri yerlerini "Add data" ile ekle (Kaggle datasets doğrudan)
  4. Notebook'unu
    pip install pyod anomalib
    ile başlat
Yetersiz olursa Google Colab Free, sonra RunPod.

Google Colab İpuçları#

# Colab notebook'un en üstüne yaz !pip install -q pyod anomalib alibi-detect river darts # GPU doğrulama import torch print(torch.cuda.is_available(), torch.cuda.get_device_name(0)) # Drive'a mount et (sonuçları kaybetmemek için) from google.colab import drive drive.mount('/content/drive') # Sonuçlarını drive'a kaydet import shutil shutil.copy('model.pt', '/content/drive/MyDrive/anomaly-models/')

RunPod İpuçları#

# RunPod template seçimi: "PyTorch 2.5.0 + CUDA 12.4" (resmi) # Veya Pre-installed: # - pytorch:2.5.0-cuda12.4 # - jupyter:latest # Bağlandığında ilk komutlar apt update && apt install -y git # Kursun kodunu klonla git clone https://github.com/<senin-kullanici-adin>/anomaly-detection.git cd anomaly-detection # uv (RunPod default'ta yok) curl -LsSf https://astral.sh/uv/install.sh | sh source ~/.bashrc # Stack uv venv --python 3.12 source .venv/bin/activate uv pip install -r requirements.txt # Notebook jupyter lab --ip=0.0.0.0 --no-browser --allow-root
Maliyet kontrolü: RunPod'da pod'u stop etmek farklı, terminate etmek farklı. Stop etmek diski saklar (saatlik $0.01-0.05); terminate diski siler. Capstone arasında stop kullanırsan veriyi koruyabilirsin.
💰 Sıfır bütçe ile kursu bitirme yolu
Mümkün — birçok öğrenci sıfır harcamayla bitiriyor. Şöyle: (1) Kaggle Notebook'un haftalık 30 saat T4'ünü kullan, (2) Google Colab Free arada destek için, (3) MVTec ve büyük dataset'leri Cloudflare R2'ye yükle (10 GB free), (4) capstone'ları doğrudan Kaggle Notebook üzerinde geliştir — output dosyalarını GitHub'a push et. Sadece bu üç servis ile kurs bitirilebilir.

Veri Etiği: Bu Kursun Sözleşmesi#

Anomaly detection genelde hassas veri ile çalışır: kart işlemleri, SOC logları, hasta ECG'leri, fabrika sensörleri. Bu kursta kullandığımız dataset'lerin tamamı public ve anonymized — ama kursdan sonra şirket verisiyle çalışmaya başlayacaksın. Şimdiden alışman gereken üç kural:

Kural 1: Veri "Just-In-Time" indir#

Tüm dataset'leri bir kez indirip elinde tutma — sadece çalıştığın modülün dataset'ini al, bitince temizle. Hem disk yer açar, hem KVKK/GDPR ihlali riskini azaltır.

Kural 2: Sample data ile geliştir#

Yeni bir feature pipeline yazarken production verisi ile başlama — önce 10K-100K satırlık bir örnekle çalış. Production'a giden sample'ları
tests/fixtures/
'a koy (anonim ve küçük).

Kural 3: Hiçbir gerçek müşteri verisini commit etme#

.gitignore
her zaman aktif. Yanlışlıkla commit edersen ve push ettiysen,
git rebase -i
veya
git filter-branch
ile temizle ve rotate (yeniden oluştur) etmen şart — çünkü Git geçmişi geri alınamaz.
Bu üç kuralı bu kursta saymıştık ama production'da seni iş kaybından kurtarır.

Modül 0 Özeti#

Bu modülün 4 dersini bitirdin. Elinde şu var:
Ders 0.1 — Anomaly Detection Engineer rolünün ne olduğunu, komşu disiplinlerden farkını, kariyer merdivenini, Türkiye maaş manzarasını ve günlük iş akışlarını biliyorsun.
Ders 0.2 — Kursun neden bu sırada tasarlandığını, 5 temel prensibi, 8 capstone projesini ve çalışma ritmini biliyorsun.
Ders 0.3 — uv + Python 3.12 + PyTorch 2.5+ + PyOD + anomalib + alibi-detect + river + darts + merlion + PyG ile çalışan bir yerel ortamın var. İlk
hello_anomaly.py
koşmuş.
Ders 0.4 — Kaggle API, HuggingFace datasets, Numenta NAB, MVTec, NASA Turbofan, CWRU, HDFS logs için indirme bilgisi ve cloud GPU stratejilerini biliyorsun.
Şimdi gerçek başlangıç noktasındasın: Modül 1 — Anomali Tanımı, Tipoloji ve Taksonomi. Burada anomali, outlier, novelty ve noise terimlerinin farkını netleştireceğiz, üç anomali tipini (point, contextual, collective) detaylıca öğreneceğiz ve hands-on lab ile bu üç tipi görselleştireceğiz.
👉 Bir sonraki modül
Modül 1 — Anomali Tanımı, Tipoloji ve Taksonomi. Yakında yayınlanacak. Şu an Modül 0 ile başlangıç temellerini attık; sırasıyla matematik temellerine, klasik ML yöntemlerine ve deep learning'e ineceğiz. Modül 1'i takip etmek için /learn/anomali-tespiti sayfasını sık ziyaret et.

Frequently Asked Questions

Hayır. Modül sırasında o derste/modülde lazım olan dataset'leri indireceğiz. Şu an sadece Kaggle ve HuggingFace token'larını ayarlaman yeterli — ders 0.4'ün hedefi 'kanalları açmak'. Gerçek indirme Modül 3'ten itibaren başlar.

Yorumlar & Soru-Cevap

(0)
Yorum yazmak için giriş yap.
Yorumlar yükleniyor...

Related Content