Makine öğrenimi eğitim süreçlerini şeffaf ve izlenebilir hale getiren kapsamlı Python kütüphanesi
Project description
MLTrackFlow 🚀
Makine Öğrenimi Eğitim Süreçlerini Şeffaf ve İzlenebilir Hale Getiren Python Kütüphanesi
MLTrackFlow, ML model geliştirme sürecinizi adım adım izlemenize, kayıt altına almanıza ve görselleştirmenize olanak tanıyan kullanıcı dostu bir Python paketidir.
✨ Neden MLTrackFlow?
🎯 Tek Satırda Başlayın
from mltrackflow import ExperimentTracker
tracker = ExperimentTracker(experiment_name="my_project")
with tracker.start_run("first_experiment"):
tracker.log_model_metrics(model, X_test, y_test) # Otomatik!
🌟 Temel Özellikler
- 🎓 Yeni Başlayanlar İçin: Basit API, otomatik loglama, bol örnek
- 📊 Otomatik Metrik Takibi: Accuracy, precision, recall, F1 otomatik hesaplanır
- 🔄 Pipeline Yönetimi: Veri hazırlıktan modele kadar tüm adımları organize edin
- 📈 Zengin Görselleştirme: Confusion matrix, learning curves, feature importance
- 🏆 Model Karşılaştırma: Farklı modelleri kolayca kıyaslayın
- 📄 HTML Raporları: Tek tıkla profesyonel raporlar
- 💾 Model Versiyonlama: Tüm modellerinizi organize edin
- 🔒 Veri İzleme: Otomatik veri hash'leme ile değişiklikleri takip edin
🚀 Hızlı Başlangıç
Kurulum
pip install mltrackflow
İlk Deneyiniz (60 saniye!)
from mltrackflow import ExperimentTracker
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
# Veriyi hazırla
data = load_iris()
X_train, X_test, y_train, y_test = train_test_split(
data.data, data.target, test_size=0.2, random_state=42
)
# Tracker'ı başlat
tracker = ExperimentTracker(experiment_name="iris_demo")
# Model eğit ve kaydet
with tracker.start_run("random_forest"):
# Parametreleri kaydet
tracker.log_params({"n_estimators": 100, "max_depth": 5})
# Model eğit
model = RandomForestClassifier(n_estimators=100, max_depth=5)
model.fit(X_train, y_train)
# Metrikleri OTOMATIK hesapla ve kaydet
tracker.log_model_metrics(model, X_test, y_test)
# Modeli kaydet
tracker.save_model(model, "my_model")
# HTML rapor oluştur
tracker.generate_report()
print("✅ Rapor oluşturuldu: experiments/iris_demo/experiment_report.html")
Çıktı:
🚀 Run başlatıldı: random_forest
📊 Metrik kaydedildi: accuracy = 0.9667
📊 Metrik kaydedildi: precision = 0.9722
📊 Metrik kaydedildi: recall = 0.9667
📊 Metrik kaydedildi: f1_score = 0.9667
✅ Run tamamlandı: random_forest
📚 Özellikler Detaylı
1️⃣ Pipeline ile Modüler İş Akışı
from mltrackflow import MLPipeline, PipelineStep
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
# Pipeline oluştur
pipeline = MLPipeline(name="data_pipeline", tracker=tracker)
# Adımları ekle
pipeline.add_step(PipelineStep(name="scaler", transformer=StandardScaler()))
pipeline.add_step(PipelineStep(name="pca", transformer=PCA(n_components=2)))
pipeline.add_step(PipelineStep(name="model", model=RandomForestClassifier()))
# Eğit
with tracker.start_run("pipeline_demo"):
pipeline.fit(X_train, y_train)
predictions = pipeline.predict(X_test)
# Görselleştir
pipeline.visualize_steps(output_path="pipeline.png")
2️⃣ Model Karşılaştırma
from mltrackflow import ModelComparator
# Farklı modelleri dene
models = {
"rf": RandomForestClassifier(n_estimators=100),
"svm": SVC(kernel='rbf'),
"logistic": LogisticRegression(),
}
for name, model in models.items():
with tracker.start_run(name):
model.fit(X_train, y_train)
tracker.log_model_metrics(model, X_test, y_test)
# Karşılaştır
comparator = ModelComparator(tracker=tracker)
comparator.compare_runs()
comparator.print_comparison_table()
# En iyiyi bul
best = comparator.get_best_model(metric="accuracy", maximize=True)
print(f"🏆 En iyi model: {best}")
3️⃣ Görselleştirme
from mltrackflow import Visualizer
viz = Visualizer(tracker=tracker)
# Confusion matrix
viz.plot_confusion_matrix(y_test, predictions)
# Feature importance
viz.plot_feature_importance(model, feature_names)
# Model karşılaştırma
viz.plot_metrics_comparison(
run_names=["rf", "svm", "logistic"],
metrics=["accuracy", "f1_score"]
)
🎨 Ne Görürsünüz?
MLTrackFlow ile her deneyde:
✅ Otomatik Kayıt: Parametreler, metrikler, modeller
✅ Zaman Damgası: Her işlem zamanlanır
✅ Karşılaştırma Tablosu: Tüm denemeleri yan yana görün
✅ HTML Rapor: Profesyonel, paylaşılabilir raporlar
✅ Grafikler: Confusion matrix, learning curves, feature importance
✅ En İyi Model: Otomatik seçim
💡 Komut Satırı Kullanımı
# Yeni deney başlat
mltrackflow init --name my_experiment
# Deneyleri listele
mltrackflow list
# Rapor oluştur
mltrackflow report --experiment iris_demo
# Modelleri karşılaştır
mltrackflow compare --experiment iris_demo --runs rf svm logistic
🆚 Diğer Araçlarla Karşılaştırma
| Özellik | MLflow | W&B | MLTrackFlow |
|---|---|---|---|
| Kurulum | Karmaşık | Kayıt gerekli | pip install ✅ |
| Öğrenme Eğrisi | Orta | Orta | Kolay 🎓 |
| Lokal Çalışma | ✅ | Kısıtlı | ✅ |
| Pipeline Desteği | ❌ | ❌ | ✅ |
| Otomatik Metrikler | Kısıtlı | Kısıtlı | Tam Otomatik 🤖 |
| Türkçe Dokümantasyon | ❌ | ❌ | ✅ 🇹🇷 |
| Yeni Başlayanlar İçin | ⚠️ | ⚠️ | ✅ |
📖 Dokümantasyon
🤝 Katkıda Bulunma
Katkılarınızı bekliyoruz! Lütfen CONTRIBUTING.md dosyasına bakın.
📄 Lisans
Bu proje MIT lisansı altında lisanslanmıştır - detaylar için LICENSE dosyasına bakın.
🙏 Teşekkürler
MLTrackFlow, makine öğrenimi topluluğunun ihtiyaçlarına cevap vermek ve eğitim süreçlerini daha şeffaf kılmak amacıyla geliştirilmiştir.
Hızlı Bağlantılar: GitHub • PyPI • Örnekler • Sorunlar
Yıldız vermeyi unutmayın! ⭐
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mltrackflow-0.1.0.tar.gz.
File metadata
- Download URL: mltrackflow-0.1.0.tar.gz
- Upload date:
- Size: 26.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21c71717b838e9b437db2b53e44dccd6299dc21a7e8c8df608e95ec94a142675
|
|
| MD5 |
54afdcdb25635f1ae519684652fc672a
|
|
| BLAKE2b-256 |
fe962fca69fca46c318c8c3cd05c10224f74296edc38acfe5a7418ee5e74952d
|
File details
Details for the file mltrackflow-0.1.0-py3-none-any.whl.
File metadata
- Download URL: mltrackflow-0.1.0-py3-none-any.whl
- Upload date:
- Size: 27.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa0b02d33764bd0d5021f4c697afebd67f0ffc1f2486f41c8a4bfa350734b15a
|
|
| MD5 |
435d97c9024a18d8ce2019f068e3adfe
|
|
| BLAKE2b-256 |
58877e8f96d3b4e5a67ab985ef894ef9c9f105699ddc445d9aba36a6efc52b81
|