ML.NET CLI ile model eğitimini otomatikleştirme

ML.NET CLI, .NET geliştiricileri için model oluşturmayı otomatikleştirir.

ML.NET API'sini tek başına kullanmak için (AutoML CLI ML.NET olmadan) bir eğitmen (belirli bir görev için makine öğrenmesi algoritmasının uygulanması) ve verilerinize uygulanacak veri dönüştürmeleri (özellik mühendisliği) kümesini seçmeniz gerekir. En uygun işlem hattı her veri kümesi için farklılık gösterir ve tüm seçenekler arasından en uygun algoritmanın seçilmesi karmaşıklığı artırır. Ayrıca, her algoritmanın ayarlanması gereken bir hiper parametre kümesi vardır. Bu nedenle, özellik mühendisliği, öğrenme algoritmaları ve hiper parametrelerin en iyi bileşimlerini bulmaya çalışarak makine öğrenmesi modeli iyileştirmesi için haftalar ve bazen aylar harcayabilirsiniz.

ML.NET CLI, otomatik makine öğrenmesi (AutoML) kullanarak bu işlemi basitleştirir.

Not

Bu makale, şu anda Önizleme aşamasında olan ML.NET CLI ve ML.NET AutoML'yi ifade eder ve malzeme değiştirilebilir.

ML.NET komut satırı arabirimi (CLI) nedir?

ML.NET CLI bir .NET aracıdır. Yüklendikten sonra bir makine öğrenmesi görevi ve eğitim veri kümesi verirsiniz ve bu, ML.NET bir modelin yanı sıra modeli uygulamanızda kullanmak için çalıştırılacak C# kodunu oluşturur.

Aşağıdaki şekilde gösterildiği gibi, yüksek kaliteli bir ML.NET modeli (serileştirilmiş model .zip dosyası) ve bu modeli çalıştırmak/puan almak için örnek C# kodu oluşturmak kolaydır. Ayrıca, bu modeli oluşturmak/eğitmek için C# kodu da oluşturulur, böylece oluşturulan "en iyi model" için kullanılan algoritmayı ve ayarları araştırıp yineleyebilirsiniz.

ML.NET CLI içinde çalışan AutoML altyapısı

Bu varlıkları kendi veri kümenizden kendiniz kodlamadan oluşturabilirsiniz, böylece ML.NET zaten biliyor olsanız bile üretkenliğinizi artırır.

Şu anda ML.NET CLI tarafından desteklenen ML Görevleri şunlardır:

  • sınıflandırma
  • Regresyon
  • Öneri
  • görüntü sınıflandırması
  • Tahmin
  • Tren

ML.NET CLI, aşağıdaki komutla işletim sisteminize ve mimarisine göre yüklenebilir:

dotnet tool install --global mlnet-<OS>-<ARCH>

Örneğin, Windows'un x64 sürümü şu şekilde yüklenebilir:

dotnet tool install --global mlnet-win-x64

Daha fazla bilgi için bkz . ML.NET CLI'yi yükleme nasıl yapılır kılavuzu.

Kullanım örneği (sınıflandırma senaryosu):

mlnet classification --dataset "yelp_labelled.txt" --label-col 1 --has-header false --train-time 10

Komut satırından sınıflandırmayı ML.NET

Windows PowerShell, macOS/Linux bash veya Windows CMD'de aynı şekilde çalıştırabilirsiniz. Ancak, windows CMD'de tablosal otomatik tamamlama (parametre önerileri) çalışmaz.

Oluşturulan çıkış varlıkları

CLI'daki ML görev komutları çıkış klasöründe aşağıdaki varlıkları oluşturur:

  • Seri hale getirilmiş bir model .zip ("en iyi model"), tahminleri çalıştırmak için kullanıma hazır.
  • C# çözümü ile:
    • Modeli çalıştıran/puanlayan C# kodu (bu modelle son kullanıcı uygulamalarınızda tahminler yapmak için).
    • Bu modeli oluşturmak için kullanılan eğitim kodunu içeren C# kodu (öğrenme amacıyla veya modelin yeniden eğitilmesi için).
  • Ayrıntılı yapılandırma/işlem hattı dahil olmak üzere değerlendirilen birden çok algoritmadaki tüm yinelemelerin/süpürmelerin bilgilerini içeren günlük dosyası.

İlk iki varlık, oluşturulan ML modeliyle tahminde bulunmak için doğrudan son kullanıcı uygulamalarınızda (örneğin, ASP.NET Core web uygulamaları, hizmetler ve masaüstü uygulamaları) kullanılabilir.

Üçüncü varlık olan eğitim kodu, cli tarafından oluşturulan modeli eğitmek için hangi ML.NET API kodunun kullanıldığını gösterir; böylece modelinizi yeniden eğitebilir ve cli ve AutoML tarafından hangi eğitmen/algoritma ve hiper parametrenin seçildiğini araştırabilir ve yineleyebilirsiniz.

Modelin kalitesini anlama

CLI aracıyla bir 'en iyi model' oluşturduğunuzda, hedeflediğiniz ML görevine uygun kalite ölçümlerini (doğruluk ve R-Kare gibi) görürsünüz.

Burada bu ölçümler ML görevine göre gruplandırılarak otomatik olarak oluşturulan 'en iyi modelinizin' kalitesini anlayabilirsiniz.

Sınıflandırma modelleri için ölçümler

Aşağıdaki görüntüde, CLI tarafından bulunan ilk beş modelin sınıflandırma ölçümleri listesi görüntülenir:

İlk beş model için sınıflandırma ölçümleri

Doğruluk, sınıflandırma sorunları için popüler bir ölçümdür, ancak doğruluk her zaman aşağıdaki başvurularda açıklandığı gibi en iyi modeli seçmek için en iyi ölçüm değildir. Modelinizin kalitesini ek ölçümlerle değerlendirmeniz gereken durumlar vardır.

CLI tarafından oluşturulan ölçümleri keşfetmek ve anlamak için bkz . Sınıflandırma için değerlendirme ölçümleri.

Regresyon ve Öneri modelleri için ölçümler

Gözlemlenen değerler ile modelin tahmin edilen değerleri arasındaki farklar küçük ve taraflı değilse, regresyon modeli veriye uygundur. Regresyon belirli ölçümlerle değerlendirilebilir.

CLI tarafından bulunan ilk beş kalite modeli için de benzer bir ölçüm listesi görürsünüz, ancak bu örnekte ilk beş, regresyon ML göreviyle ilgilidir:

İlk beş model için regresyon ölçümleri

CLI tarafından oluşturulan ölçümleri keşfetmek ve anlamak için bkz . Regresyon için değerlendirme ölçümleri.

Ayrıca bkz.