Machine Learning Temel Kavramları ve Uygulamaları

Yapay zeka teknolojileri, günümüzde web geliştirme, mobil uygulama ve SaaS projelerinin ayrılmaz bir parçası haline geldi. Noves Digital olarak, sektörde edindiğimiz tecrübeyle derin öğrenme, bilgisayarlı görü ve model optimizasyonu gibi konuları anlaşılır bir dille ele alıyoruz. Bu makalede, profesyonel ekiplerde sıkça kullanılan makine öğrenimi tekniklerini, performans odaklı yaklaşımları ve etik çerçeveyi adım adım inceleyeceğiz. Cross-platform çözümlerden e-ticaret entegrasyonlarına, CI/CD pipeline'larından API tabanlı mimarilere kadar geniş bir perspektif sunacağız.
Temel Algoritmalar ve Modeller
Denetimli Öğrenme nedir ve örnekleri
Denetimli öğrenme, etiketli veri kümeleriyle çalışan temel bir makine öğrenimi yaklaşımıdır. Model, giriş verileri ile beklenen çıktı arasındaki ilişkiyi öğrenerek yeni veriler için tahmin yapabilir hale gelir. Regresyon ve sınıflandırma olmak üzere iki ana kategoriye ayrılır. Regresyon, sürekli değer tahmini yaparken; sınıflandırma, verileri önceden tanımlanmış kategorilere ayırır. E-ticaret platformlarında ürün fiyat tahmini, SaaS ürünlerinde müşteri kayıp analizi gibi senaryolarda yaygın olarak kullanılır. Doğrusal regresyon, karar ağaçları ve destek vektör makineleri en bilinen algoritmalardır.
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = LogisticRegression(max_iter=1000)
model.fit(X_train, y_train)
predictions = model.predict(X_test)
Denetimsiz Öğrenme nasıl kullanılır; kümeleme örnekleri
Denetimsiz öğrenme, etiketsiz verilerde gizli kalıpları keşfetmek için kullanılır. Kümeleme, boyut indirgeme ve birliktelik kuralları bu yaklaşımın başlıca teknikleridir. K-Means, DBSCAN ve hiyerarşik kümeleme algoritmaları, müşteri segmentasyonu, anomali tespiti ve öneri sistemlerinin temelini oluşturur. Özellikle e-ticaret sitelerinde kullanıcı davranışlarını analiz ederek benzer alışkanlıklara sahip gruplar oluşturmak, kişiselleştirilmiş kullanıcı deneyimi sunmak için kritik öneme sahiptir. Kümeleme sonuçları, pazarlama stratejilerinin optimize edilmesinde ve ürün kategorizasyonunda doğrudan iş değeri yaratır.
from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters=4, random_state=42)
labels = kmeans.fit_predict(customer_features)
Doğrulama ve çapraz doğrulama yöntemleri
Modelin gerçek dünya performansını ölçmek için sağlam bir doğrulama stratejisi şarttır. Hold-out validation, veriyi eğitim ve test kümelerine ayırarak temel bir değerlendirme sağlar. Ancak daha güvenilir sonuçlar için k-katlı çapraz doğrulama (k-fold cross-validation) tercih edilir. Bu yöntemde veri k kümeye bölünür, her seferinde bir küme test, geri kalanı eğitim olarak kullanılır. Stratified k-fold, sınıf dengesizliği olan veri setlerinde daha adil sonuçlar verir. Time series verilerinde ise zaman bazlı bölme (time series split) kullanılmalıdır. Doğrulama stratejisi seçimi, modelin genelleme yeteneğini doğrudan etkiler.
from sklearn.model_selection import cross_val_score, StratifiedKFold
cv = StratifiedKFold(n_splits=5, shuffle=True, random_state=42)
scores = cross_val_score(model, X, y, cv=cv, scoring='f1_macro')
Görsel Veri ve Bilgisayarlı Görü
Görüntü sınıflandırma nedir; CNN örnekleri
Görüntü sınıflandırma, bir görselin içeriğini tanımlayan kategoriye atama işlemidir. Evrişimsel Sinir Ağları (CNN), bu alanda devrim yaratan mimarilerdir. Konvolüsyon katmanları, görüntüdeki kenarlar, dokular ve karmaşık desenleri hiyerarşik olarak öğrenir. AlexNet, VGG, ResNet ve EfficientNet gibi mimariler, farklı derinlik ve performans dengeleri sunar. Transfer öğrenme ile önceden eğitilmiş modeller, özellikle sınırlı veri setlerinde ince ayar yapılarak yüksek doğruluk elde edilir. Mobil uygulama geliştirmede, hafif CNN modelleri cihaz üzerinde gerçek zamanlı sınıflandırma sağlar.
import tensorflow as tf
base_model = tf.keras.applications.MobileNetV2(
input_shape=(224, 224, 3),
include_top=False,
weights='imagenet'
)
base_model.trainable = False
Nesne tespiti nasıl kullanılır; YOLO ve SSD karşılaştırması
Nesne tespiti, görüntüdeki nesnelerin konumunu ve sınıfını aynı anda belirler. Tek aşamalı (one-stage) ve iki aşamalı (two-stage) dedektörler olarak ikiye ayrılır. YOLO (You Only Look Once), tüm görüntüyü tek geçişte işleyerek son derece hızlı sonuçlar üretir. SSD (Single Shot MultiBox Detector), çok ölçekli özellik haritaları kullanarak farklı boyutlardaki nesneleri tespit eder. YOLO, hız odaklı uygulamalarda; SSD, doğruluk-hız dengesi gerektiren senaryolarda tercih edilir. Cross-platform mobil uygulamalarda, TensorFlow Lite ile optimize edilmiş modeller kullanılarak düşük gecikmeli tespit sağlanır.
from ultralytics import YOLO
model = YOLO('yolov8n.pt')
results = model('image.jpg', conf=0.5)
Görüntü segmentasyonu ve uygulama senaryoları
Segmentasyon, görüntüdeki her pikselin hangi nesneye ait olduğunu belirler. Semantik segmentasyon, pikselleri sınıflara ayırır; instance segmentasyon ise aynı sınıftaki farklı nesneleri birbirinden ayırır. U-Net mimarisi, tıbbi görüntüleme alanında standart haline gelmiştir. Otonom araçlarda yol ve nesne ayrımı, uydu görüntülerinde arazi analizi, endüstriyel kalite kontrolünde kusur tespiti segmentasyonun başlıca kullanım alanlarıdır. Performans optimizasyonu için dilated convolutions ve attention mekanizmaları entegre edilebilir.
Medikal görüntüleme için ince ayar teknikleri
Tıbbi veriler, gizlilik ve etik kısıtlamalar nedeniyle genellikle sınırlı miktardadır. Bu nedenle transfer öğrenme ve veri artırma kritik öneme sahiptir. Random rotation, zoom, flip ve elastic deformation gibi dönüşümler modelin genelleme yeteneğini artırır. Dice loss ve focal loss gibi özel kayıp fonksiyonları, sınıf dengesizliğini ve sınır hassasiyetini iyileştirir. Test edilebilirlik açısından, her model versiyonunun doğrulama metrikleri kaydedilmeli ve karşılaştırılabilir olmalıdır. Agile yaklaşımla iteratif geliştirme, medikal modellerin sürekli iyileştirilmesini sağlar.
import albumentations as A
transform = A.Compose([
A.Rotate(limit=15, p=0.5),
A.ElasticTransform(p=0.3),
])
Model Yerleştirme ve Mimariler
Model dağıtımı (deployment) nedir; bulut vs kenar örnekleri
Eğitilmiş bir modelin üretim ortamında çalıştırılması, makine öğrenimi sürecinin en kritik aşamasıdır. Bulut deployment'ı, ölçeklenebilirlik ve merkezi yönetim sunar. AWS SageMaker, Google Vertex AI ve Azure ML gibi platformlar, otomatik ölçeklendirme ve izleme özellikleriyle kompleks pipeline'ları destekler. Kenar (edge) deployment ise veriyi kaynağında işleyerek gecikmeyi minimize eder. IoT cihazları, akıllı telefonlar ve gömülü sistemlerde TensorFlow Lite ve ONNX Runtime kullanılarak hafif modeller çalıştırılır. API tabanlı mimariler, bulut ve kenar arasında esnek bir köprü kurar.
import tensorflow as tf
converter = tf.lite.TFLiteConverter.from_saved_model('model')
converter.optimizations = [tf.lite.Optimize.DEFAULT]
tflite_model = converter.convert()
Mikroservis mimarisi ile entegrasyon nasıl yapılır
Mikroservis mimarisi, model servislerini bağımsız, ölçeklenebilir birimler olarak yapılandırır. Her model kendi container'ında çalışır, RESTful API veya gRPC üzerinden diğer servislerle iletişim kurar. Kubernetes ile orchestration sağlanır, istek yoğunluğuna göre otomatik ölçeklendirme yapılır. API gateway, kimlik doğrulama, rate limiting ve istek yönlendirme görevlerini üstlenir. Bu yapı, test edilebilirliği artırır ve ekiplerin bağımsız geliştirme yapmasına olanak tanır. SaaS ürünlerinde, farklı müşteriler için izole model servisleri kurmak mikroservis mimarisinin doğal bir uzantısıdır.
apiVersion: apps/v1
kind: Deployment
metadata:
name: ml-inference-service
spec:
replicas: 3
selector:
matchLabels:
app: ml-api
Sürekli entegrasyon ve sürekli teslim (CI/CD) uygulamaları
CI/CD, model geliştirme sürecinin otomatize edilmesini sağlar. GitHub Actions, GitLab CI veya Jenkins ile her kod değişikliğinde otomatik test, eğitim ve doğrulama pipeline'ları çalıştırılır. Model versiyonlama (MLflow, DVC), deney tekrarlanabilirliğini garanti eder. Canary deployment stratejisi, yeni model versiyonlarının küçük bir kullanıcı kitlesiyle test edilmesini sağlar. Performans regresyonu tespit edilirse otomatik rollback yapılır. Bu yaklaşım, agile metodolojiyle uyumlu olarak hızlı iterasyon ve güvenli üretim geçişi sunar.
# .github/workflows/ml-pipeline.yml
- name: Train Model
run: python train.py
- name: Evaluate Model
run: python evaluate.py --threshold 0.85
Gelişmiş Öğrenme Teknikleri
Derin öğrenme nedir; transfer öğrenme örnekleri
Derin öğrenme, çok katmanlı sinir ağlarıyla karmaşık kalıpları öğrenme yeteneğidir. ImageNet üzerinde eğitilmiş modeller, görüntü sınıflandırma, nesne tespiti ve segmentasyon görevlerinde ince ayar yapılarak yeniden kullanılır. BERT ve GPT gibi transformer modelleri, doğal dil işleme alanında benzer bir devrim yaratmıştır. Transfer öğrenme, az veriyle yüksek performans elde etmeyi sağlar ve eğitim süresini dramatik şekilde kısaltır. Profesyonel ekiplerde, önceden eğitilmiş backbone'lar üzerine task-specific katmanlar ekleyerek özelleştirilmiş çözümler üretilir.
from transformers import BertForSequenceClassification
model = BertForSequenceClassification.from_pretrained(
'bert-base-uncased',
num_labels=2
)
Takviyeli öğrenme nasıl kullanılır; oyun ve optimizasyon senaryoları
Takviyeli öğrenme, bir ajanın ortamla etkileşerek ödül maksimizasyonu üzerinden politika öğrenmesini sağlar. Q-learning, policy gradient ve actor-critic yöntemleri temel algoritmalardır. Oyun yapay zekasında AlphaGo ve AlphaStar, bu yaklaşımın en bilinen örnekleridir. Endüstriyel optimizasyonda, kaynak tahsisi, enerji yönetimi ve lojistik rotalama gibi dinamik karar problemlerinde kullanılır. Simülasyon ortamları, gerçek dünya deneyiminden önce güvenli ve maliyet-etkin öğrenme sağlar. Test edilebilirlik için her eğitim koşusunun hiperparametreleri ve ödül geçmişi kaydedilmelidir.
import gym
env = gym.make('CartPole-v1')
state = env.reset()
action = env.action_space.sample()
next_state, reward, done, _ = env.step(action)
Generative modeller ve üretken örnekler
Üretken modeller, yeni veri örnekleri oluşturma yeteneğine sahiptir. VAE (Variational Autoencoder), verinin olasılık dağılımını öğrenerek yeni örnekler üretir. Diffusion modelleri, gürültüyü tersine çevirerek yüksek kaliteli görüntüler oluşturur. Metin tabanlı üretken modeller, kod tamamlama, içerik oluşturma ve sohbet botları gibi alanlarda kullanılır. Kullanıcı deneyimi açısından, kişiselleştirilmiş içerik üretimi ve otomatik tasarım önerileri üretken modellerin pratik uygulamalarıdır.
GAN ince ayarı ve stabilizasyon yöntemleri
GAN'lar, üretici ve ayırıcı ağların rekabetiyle gerçekçi veri üretir. Eğitim stabilitesi, GAN'ların en büyük zorluğudur. Wasserstein loss, spectral normalization ve progressive growing gibi teknikler bu sorunu hafifletir. Mode collapse'u önlemek için mini-batch discrimination ve feature matching kullanılır. E-ticaret ürün görseli üretimi, sanat eseri oluşturma ve veri artırma GAN'ların popüler kullanım alanlarıdır. Model izleme araçlarıyla eğitim süreci sürekli gözlemlenmeli, loss değerleri ve örnek kalitesi takip edilmelidir.
import torch.nn as nn
class Generator(nn.Module):
def __init__(self, z_dim):
super().__init__()
self.fc = nn.Sequential(
nn.Linear(z_dim, 256),
nn.ReLU(),
nn.Linear(256, 784),
nn.Tanh()
)
Performans, Ölçeklenebilirlik ve Optimizasyon
Model boyutu ve hız optimizasyonu nasıl yapılır
Büyük modeller, yüksek bellek tüketimi ve yavaş çıkarım süreleriyle pratik kullanımda sınırlamalar yaratır. Pruning, önemsiz ağırlıkların kaldırılmasıyla modeli küçültür. Quantization, 32-bit kayan nokta ağırlıklarını 8-bit tam sayılara dönüştürerek hem boyutu hem gecikmeyi azaltır. Knowledge distillation, büyük bir öğretmen modelin bilgisini küçük bir öğrenci modele aktarır. TensorFlow Lite ve ONNX, bu optimizasyonları mobil uygulama ve kenar cihazları için otomatikleştirir. Performans optimizasyonu, kullanıcı deneyimini doğrudan etkileyen kritik bir adımdır.
import tensorflow_model_optimization as tfmot
prune_low_magnitude = tfmot.sparsity.keras.prune_low_magnitude
pruned_model = prune_low_magnitude(model, **pruning_params)
Dağıtık eğitim ve veri paralelliği örnekleri
Büyük ölçekli modeller, tek bir GPU'nun belleğini aşar. Veri paralelliği, aynı modelin kopyalarını farklı GPU'larda çalıştırarak mini-batch'leri bölüştürür. Model paralelliği, modelin farklı katmanlarını farklı cihazlara dağıtır. Pipeline paralelliği, hesaplama ve iletişimi örtüştürerek verimliliği artırır. Horovod, PyTorch DDP ve TensorFlow MirroredStrategy, popüler dağıtık eğitim framework'leridir. Bulut altyapılarında, spot instance'lar maliyet optimizasyonu sağlar. Ölçeklenebilirlik, büyük veri setleriyle çalışan profesyonel ekiplerde kaçınılmaz bir gereksinimdir.
import torch.distributed as dist
from torch.nn.parallel import DistributedDataParallel
model = DistributedDataParallel(model, device_ids=[local_rank])
Bellek yönetimi ve düşük gecikme stratejileri
Gerçek zamanlı uygulamalarda gecikme, kullanıcı deneyimini doğrudan etkiler. Batch inference yerine streaming inference, tek tek gelen istekleri anında işler. Model warm-up, ilk çıkarımın yavaşlığını önler. Bellek havuzu (memory pool) yönetimi, tekrarlayan tahsis ve serbest bırakma işlemlerini minimize eder. ONNX Runtime ve TensorRT, donanıma özel optimizasyonlarla çıkarım hızını katlar. API tabanlı servislerde, caching stratejileri sık tekrarlanan isteklerin yanıt süresini düşürür. Test edilebilirlik için her optimizasyonun latency ve throughput metrikleri ölçülmelidir.
import onnxruntime as ort
session = ort.InferenceSession('model.onnx',
providers=['CUDAExecutionProvider'])
outputs = session.run(None, {'input': data})
Uyumluluk, Güvenlik ve Etik
Veri gizliliği ve anonimleştirme nasıl uygulanır
Kişisel verilerin korunması, KVKK ve GDPR gibi düzenlemelerle hukuki bir zorunluluk haline geldi. Anonimleştirme, veriyi bireylerle ilişkilendirilemez hale getirir; pseudonimizasyon ise yeniden tanımlanma riskini azaltır. Diferansiyel gizlilik, veri setine kontrollü gürültü ekleyerek istatistiksel analizleri korurken bireysel gizliliği sağlar. Federated learning, veriyi merkezde toplamadan modelin cihazlarda eğitilmesini sağlar. SaaS ürünlerinde, veri işleme sözleşmeleri ve teknik önlemler birlikte uygulanmalıdır. Etik bir yaklaşım, kullanıcı güveninin temelidir.
from diffprivlib.mechanisms import Laplace
mech = Laplace(epsilon=0.1, sensitivity=1)
private_value = mech.randomise(sensitive_value)
Model açıklanabilirliği (XAI) nedir; karar izlenebilirliği örnekleri
Kara kutu modellerin kararlarını anlamak, hem güven hem düzenleyici uyumluluk için gereklidir. SHAP (SHapley Additive exPlanations), her özelliğin çıktıya katkısını niceliksel olarak ölçer. LIME (Local Interpretable Model-agnostic Explanations), yerel olarak anlaşılır bir model yaklaştırır. Grad-CAM, CNN'lerin görüntüde hangi bölgelere odaklandığını görselleştirir. E-ticaret öneri sistemlerinde, neden bir ürün önerildiğinin açıklanması kullanıcı memnuniyetini artırır. Karar izlenebilirliği, model hatalarının kök neden analizini de kolaylaştırır.
import shap
explainer = shap.TreeExplainer(model)
shap_values = explainer.shap_values(X_test)
shap.summary_plot(shap_values, X_test)
Güvenlik açıkları ve adversarial saldırılara karşı önlemler
Makine öğrenimi modelleri, özel olarak tasarlanmış girdilere karşı savunmasızdır. Adversarial örnekler, insan gözüyle fark edilemeyen perturbasyonlarla modeli yanıltır. Fast Gradient Sign Method (FGSM) ve Projected Gradient Descent (PGD), saldırı tekniklerine örnektir. Savunma yöntemleri arasında adversarial eğitim, input preprocessing ve defensiv distillation bulunur. Model extraction saldırılarına karşı API rate limiting ve query monitoring uygulanır. Güvenlik, sadece teknik bir konu değil, aynı zamanda iş sürekliliği ve itibar yönetimi meselesidir.
import torchattacks
atk = torchattacks.FGSM(model, eps=0.03)
adv_images = atk(images, labels)
Uygulama Senaryoları ve Sektörel Kullanım
E-ticaret için öneri sistemleri nasıl kurulur; sepet artırma örnekleri
Öneri sistemleri, e-ticaret platformlarının dönüşüm oranını doğrudan etkiler. İçerik tabanlı filtreleme, ürün özelliklerine göre benzer öneriler sunar. İşbirlikçi filtreleme, benzer kullanıcıların tercihlerinden yararlanır. Hibrit yaklaşımlar, her iki yöntemin güçlü yanlarını birleştirir. Sepet analizi ile birlikte satın alınma olasılığı yüksek ürünler önerilir. Gerçek zamanlı öneri motorları, Apache Kafka ve Redis ile düşük gecikmeli veri akışı sağlar. A/B testleri ile farklı algoritmaların iş etkisi ölçülür ve optimize edilir.
from sklearn.metrics.pairwise import cosine_similarity
similarity = cosine_similarity(product_vectors)
recommendations = similarity[product_id].argsort()[-5:][::-1]
SaaS ürünlerinde ML entegrasyonu ve abonelik optimizasyonu
SaaS platformlarında makine öğrenimi, kullanıcı davranışlarını anlama ve müdahale etme gücü sunar. Churn prediction, abonelik iptali riski taşıyan kullanıcıları önceden tespit eder. Dynamic pricing, kullanıcı segmentine göre esnek fiyatlandırma sağlar. Feature adoption analizi, hangi özelliklerin kullanıcı tutunmasını artırdığını gösterir. API tabanlı entegrasyon, ML servislerinin mevcut ürün ekosistemine sorunsuz dahil edilmesini sağlar. Kullanıcı deneyimi odaklı kişiselleştirme, platformun değer algısını güçlendirir.
from sklearn.ensemble import GradientBoostingClassifier
churn_model = GradientBoostingClassifier(n_estimators=100)
churn_model.fit(X_train, y_train)
risk_scores = churn_model.predict_proba(X_test)[:, 1]
Web geliştirme ve UI/UX odaklı kişiselleştirme örnekleri
Web uygulamalarında kişiselleştirme, kullanıcı etkileşimini ve memnuniyetini artırır. A/B test framework'leri, farklı arayüz varyasyonlarının performansını karşılaştırır. Behavioral targeting, kullanıcı gezinme kalıplarına göre dinamik içerik sunar. Heatmap analizi ve session recording, kullanıcı deneyimindeki sürtünme noktalarını ortaya çıkarır. Cross-platform tutarlılık, web ve mobil uygulamalarda benzer kişiselleştirme stratejilerinin uygulanmasını gerektirir. Agile geliştirme süreci, kişiselleştirme özelliklerinin hızlı iterasyonla optimize edilmesini sağlar.
// Frontend personalization example
const recommendedContent = await fetch('/api/recommend', {
method: 'POST',
body: JSON.stringify({ userId, context })
});
Araçlar, Kütüphaneler ve Mühendislik
Popüler kütüphaneler: TensorFlow, PyTorch karşılaştırması
TensorFlow ve PyTorch, derin öğrenme ekosisteminin iki dominant kütüphanesidir. TensorFlow, production deployment ve mobil optimizasyonda güçlüdür; Keras API'si ile kullanım kolaylığı sunar. PyTorch, dinamik hesaplama grafikleriyle araştırma ve prototipleme için tercih edilir. Hugging Face Transformers, her iki framework'ü de destekleyerek NLP modellerine erişimi demokratikleştirir. Scikit-learn, geleneksel makine öğrenimi algoritmaları için hâlâ vazgeçilmezdir. Kütüphane seçimi, projenin araştırma mı yoksa üretim odaklı mı olduğuna bağlıdır.
# PyTorch training loop
for epoch in range(num_epochs):
for batch in dataloader:
optimizer.zero_grad()
loss = criterion(model(batch), labels)
loss.backward()
optimizer.step()
Veri boru hatları (data pipeline) nasıl kurulur; ETL örnekleri
Veri pipeline'ları, ham verinin model için hazır hale getirilmesini otomatize eder. ETL (Extract, Transform, Load) süreci, veriyi kaynaklardan çeker, dönüştürür ve hedef sisteme yükler. Apache Airflow, DAG tabanlı workflow yönetimi sunar. Prefect ve Dagster, modern alternatifler olarak rise eder. E-ticaret verilerinde, transaction loglarından feature engineering yapılarak gerçek zamanlı öneri motorları beslenir. Test edilebilirlik için her pipeline adımı bağımsız olarak doğrulanmalı, veri kalitesi kontrolleri otomatize edilmelidir.
from airflow import DAG
from airflow.operators.python import PythonOperator
with DAG('ml_pipeline', schedule_interval='@daily') as dag:
extract = PythonOperator(task_id='extract', python_callable=extract_data)
transform = PythonOperator(task_id='transform', python_callable=transform_data)
extract >> transform
Model izleme ve gözlemleme (MLOps) araçları ve avantajları
MLOps, makine öğrenimi modellerinin üretimde güvenilir ve sürdürülebilir kalmasını sağlar. MLflow, model versiyonlama, deney takibi ve model kaydı sunar. Weights & Biases, eğitim metriklerini zengin görselleştirmelerle takip eder. Evidently AI, veri ve model drift'ini tespit eder. Prometheus ve Grafana, inference servislerinin latency ve error rate'ini izler. CI/CD entegrasyonu, her model güncellemesinin otomatik test ve deployment'ını sağlar. MLOps, agile prensiplerin makine öğrenimi dünyasına uyarlanmasıdır.
import mlflow
mlflow.start_run()
mlflow.log_param('lr', 0.001)
mlflow.log_metric('accuracy', 0.95)
mlflow.sklearn.log_model(model, 'model')
Sonuçlar, Ölçümleme ve İş Değeri
Başarı metrikleri nedir; doğruluk, F1 ve iş odaklı KPI örnekleri
Model performansı, sadece teknik metriklerle değil, iş değeriyle ölçülür. Doğruluk (accuracy), dengeli veri setlerinde anlamlıdır; dengesiz verilerde F1-score, precision ve recall dengesini yansıtır. ROC-AUC, sınıflandırıcının ayırt ediciliğini özetler. Ancak iş odaklı KPI'lar daha kritiktir: churn modelinde müşteri tutma maliyeti, öneri sisteminde sepet artış oranı, fiyatlandırma modelinde marj optimizasyonu. Bu metrikler, teknik başarının iş sonuçlarına nasıl yansıdığını gösterir.
from sklearn.metrics import classification_report
print(classification_report(y_true, y_pred,
target_names=['Negative', 'Positive']))
A/B testleri ile model etkisini ölçme nasıl yapılır
A/B testi, yeni modelin mevcut sistemden üstün olduğunu istatistiksel olarak kanıtlar. Kullanıcılar rastgele kontrol ve tedavi gruplarına ayrılır. Metrikler arasındaki fark, t-test veya chi-square testi ile değerlendirilir. Minimum detectable effect ve statistical power hesaplanarak örnek büyüklüğü belirlenir. Sequential testing, erken durdurma imkanı sunar. E-ticaret ve SaaS ürünlerinde, A/B testleri model güncellemelerinin kullanıcı davranışı ve gelir üzerindeki etkisini objektif olarak ölçer.
from scipy import stats
t_stat, p_value = stats.ttest_ind(control_group, treatment_group)
if p_value < 0.05:
print("Statistically significant improvement")
Proje yol haritası: prototipten üretime geçiş adımları
Başarılı bir makine öğrenimi projesi, disiplinli bir yol haritası izler. Keşif aşamasında problem tanımlanır, veri kaynakları belirlenir. Prototipleme aşamasında basit bir model kurularak proof-of-concept oluşturulur. Geliştirme aşamasında model iyileştirilir, pipeline'lar kurulur, test edilebilirlik sağlanır. Üretim geçişinde CI/CD, monitoring ve rollback mekanizmaları devreye alınır. Bakım aşamasında drift izleme, periyodik yeniden eğitim ve performans optimizasyonu sürdürülür. Her aşamada agile iterasyonlar, riskleri minimize eder ve değer üretimini hızlandırır. Profesyonel ekiplerde bu süreç, yazılım ajanslarında ve sektörde standart bir uygulama haline gelmiştir.
Bu makale, makine öğrenimi ekosisteminin temelinden ileri tekniklere kadar geniş bir yelpazede rehberlik sunar. Cross-platform entegrasyonlardan API tabanlı mimarilere, performans optimizasyonundan etik çerçeveye kadar her konuda pratik bilgiler içerir. E-ticaret, SaaS ve web geliştirme projelerinde yapay zeka kullanımı hızla artarken, bu rehberin teknik kararlarınızda ve stratejik planlamanızda faydalı olacağını umuyoruz.
Noves Team
Noves Digital: 2020'den beri İzmir merkezli, 3 kişilik tutkulu yazılım ekibi. Web & mobil uygulama, özel yazılım çözümleri. React, Node.js, Python uzmanlığı. Agile çalışma, şeffaf iletişim, %100 zamanında teslimat. Sizin teknoloji partneriniz.