Python ile Makine Öğrenmesine Giriş (Uygulamalı)
Python ile makine öğrenmesine uygulamalı giriş: ortam kurulumu, ilk model eğitimi, veri bölme, metrikler ve aşırı uyum; çalışan kod örnekleriyle.
Bu rehberi ücretsiz indir
PDF; kapak ve içindekiler sayfası dahil 7 bölümden ve sık sorulan sorulardan oluşur. Türkçe, A4 formatında, yazdırılabilir.
İndirmek için ücretsiz WebTuring hesabı gerekir. Girişli değilseniz giriş sayfasına yönlendirilirsiniz.
Kısa cevap
Makine öğrenmesi akışı altı adımdır: veri yükleme → temizlik/keşif → eğitim-test ayrımı → model seçimi ve eğitim → değerlendirme → iyileştirme; Python'da scikit-learn bu akışın standart aracıdır.
Adım 0: Ortam kurulumu
Gerekenler: Python 3.11+, pandas (veri işleme), scikit-learn (ML), matplotlib (grafik). Kurulum: `pip install pandas scikit-learn matplotlib` veya Anaconda dağıtımı. Editör: Jupyter Notebook deney için, VS Code ciddi çalışma için idealdir.
İpucu: Sanal ortam (venv) kullanmayı ilk günden öğrenin — paket sürüm çakışmaları, yeni başlayanların en sinir bozucu zaman kaybıdır ve venv bu sorunu tamamen keser.
Adım 1-2: Veri yükleme ve keşif
Kod çerçevesi: `import pandas as pd; df = pd.read_csv("veri.csv")` sonra `df.head()`, `df.info()`, `df.describe()`. Bu üç komut, verinin yüzünü gösterir: eksik değerler, tip hataları, dağılım özetleri.
Keşif soruları: Hedef değişken ne (tahmin edilecek sütun)? Kategorik ve sayısal sütunlar hangiler? Eksik değer oranı yüksek sütunlar var mı? Bu üç sorunun cevabı, ön işleme planını belirler.
Adım 3: Eğitim-test ayrımı
Kural: Veriyi bölmek, model eğitiminden ÖNCE yapılır. `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, random_state=42)`.
Neden önce: Modeli test verisini görmüş hâlde değerlendirmek, sınav sorularını önceden gören öğrenci gibidir — skorlar yanıltıcı olur. Bu, yeni başlayanların en sık yaptığı ve fark etmediği hatadır (veri sızması).
Adım 4-5: Model eğitimi ve değerlendirme
İlk model: `from sklearn.ensemble import RandomForestClassifier; model = RandomForestClassifier(); model.fit(X_train, y_train); tahmin = model.predict(X_test)`. Değerlendirme sınıflandırmada: accuracy, precision, recall, F1 (`classification_report` tek çağrıyla verir). Regresyonda: MAE, RMSE, R².
Metrik seçimi göreve bağlıdır: Dengesiz veri (sahtecilik tespiti gibi %1 pozitif) durumda accuracy yanıltıcıdır; recall ve precision bakılır. Kural: Hedefin iş karşılığı hangi metrikteyse, onu raporla.
Adım 6: Aşırı uyum ve iyileştirme
Aşırı uyumun işareti: Eğitim skoru çok yüksek, test skoru belirgin düşük — model veriyi ezberlemiş. Çözümler: Daha çok veri, daha basit model, çapraz doğrulama (`cross_val_score`), regülarizasyon, öznitelik sayısını azaltma.
İyileştirme sırası: (1) Veri kalitesini artır (genelde en yüksek getiri), (2) öznitelik mühendisliği, (3) model/hiperparametre denemesi. Kural: Model geçişini en sona bırakın — kötü veriyle iyi model, iyi veriyle orta modeli yenemez.
Çalışan mini örnek: Müşteri kaybı tahmini
Senaryo: Tablo — müşteri yaşı, aylık ücret, destek çağrı sayısı, abonelik süresi, kayıp (evet/hayır). Akış: veriyi yükle → eksikleri doldur → kategorik sütunları sayısallaştır (`get_dummies`) → böl → RandomForest eğit → classification_report yazdır.
Bu 15 satırlık akış, kursun tamamının pratik özetidir. Sonraki alıştırmalar: farklı model deneyin (LogisticRegression), öznitelik ekleyin/çıkarın, metrik farklarını gözleyin. Öğrenme, deneyler arasında gerçekleşir.
Sonraki adımlar
Sıra önerisi: (1) Kendi verinizle bu akışı tekrarlayın — mesleğinizden bir tablo. (2) Kaggle Learn'in ücretsiz mikro kursları (Intro to ML, Feature Engineering). (3) scikit-learn resmî belgelerinin kullanıcı rehberi. (4) Derin öğrenmeye geçiş ancak klasik akış oturduktan sonra — PyTorch veya TensorFlow.
Uyarı: "Model eğitimi"nin %90'ı veri işidir. Veri temizlik ve hazırlık becerisi, model seçim becerisinden daha çok zaman kazandırır; bu yüzden pandas pratiği ML pratiği kadar önemlidir.
Sık sorulan sorular
Makine öğrenmesi için hangi Python sürümü?
2026 itibarıyla Python 3.11+ güvenli seçimdir; scikit-learn ve pandas ekosistemiyle tam uyumludur. Sanal ortam kullanarak sistem Python'ından izole çalışmak en iyi pratiktir.
İlk modelimde düşük skor aldım, ne yapmalıyım?
Sırayla: veri kalitesini kontrol edin (eksikler, aykırılar), öznitelikleri gözden geçirin (hedefle mantıksal bağı var mı), çapraz doğrulama ile skoru sağlamlaştırın. Model değiştirmek son adımdır.
LLM çağında klasik ML öğrenmek hâlâ gerekli mi?
Evet: Tablo verisi problemler (tahmin, sınıflandırma, risk) hâlâ klasik ML ile çözülür ve LLM'nin bu alanlardaki rolü yorum ve otomasyondur. Temel ML bilmeyen, LLM çıktısını da değerlendiremez.