ML.NET'e Hızlı Bir Giriş
- Deniz Ekiz
- 3 Kas 2022
- 1 dakikada okunur
Güncelleme tarihi: 5 Oca 2023

ML.NET Nedir?
Windows, Linux, MacOS gibi farklı platformlar üzerinde çalıştırılabilen, farkli türde makine öğrenmesi problemleri için; modellerin, eğitilebilmesini, derlenip, kaydedilebilmesini ve kaydedilmiş modelleri uygulamamıza entegre ederek çalıştırmamızı sağlayan .Net tabanlı bir makine öğrenmesi kütüphanesidir.

ML.NET Context
MLContext, özellik belirleme, eğitim, tahmin, modelin değerlendirilmesi gibi işlemleri gerçekleştirmek için kullanılan bileşenleri oluşturabilmemizi sağlayan yapıdır.
MLContext ile;
Veriler yüklenebilir, dönüştürülebilir,
Makine öğrenme algoritması seçilebilir,
Modeller eğitilebilir ve kaydedilerek, tekrar kullanılabilir.
Veri Yükleme
Analiz edilecek veriler yüklenerek; bir IDataView nesnesine atanır. Csv, Txt, Json ve Veritabanları gibi farklı formattaki veriler IDataView nesnesine atanabilir.
Sınıflandırma problemi için geliştirilecek modelin; eğitim ve testi için veriler ayrılarak, birer IDataView nesnesine atanır.

Veri Dönüştürme
Analiz edilecek verilerin; eğitilmeden önce, uygun formata dönüştürülmesi gerekmektedir.
Eksik ya da yanlış formattaki verilerin çıkarılması,
İstenen çıktıya uygun özellikler kullanılarak, verinin dönüştürülmesi,
gibi işlemleri MLContext’in Transforms özelliği ile gerçekleştirilir.

Algoritma Seçme
Problemin türüne (Sınıflandırma, Kümeleme, Regresyon vb.) en uygun olan makine öğrenmesi algoritması seçilir.
MLContext içerisindeki Trainers yapısı kullanılarak, algoritma seçimi gerçekleştirilir.


Modeli Eğitme
Girdileri belirlenen modelin; eğitilerek, çıktılarının elde edilme aşamasıdır.
Bu işlem için Fit() metodu kullanılır. Değişken olarak eğitim veri setini alır. Çıktı olarak eğitilmiş model elde edilir.

Modeli Değerlendirme
Eğitim için ayrılan veriler ile oluşturulan model için, test için ayrılan verilerle değerlendirmesi yapılır.
Bu işlem için MLContext içerisinde Evaluate() metodu kullanılır. Değişken olarak test veri setini alır. Çıktı olarak doğruluk oranlarını içeren metrics nesnesi oluşur.


Modeli Kaydetme ve Yükleme
Eğitilen ve testlerde beklenen değerlere ulaşan modeller, kaydedilerek, tekrar eğitime ihtiyaç duyulmadan kullanılabilir.
Böylece, farklı uygulamalara modellerin entegre edilmesi mümkün olur.


Comments