Aracılığıyla paylaş


ML.NET Komut Satırı Arabirimi (CLI) komut başvurusu

classification, regressionve recommendation komutları, ML.NET CLI aracı tarafından sağlanan ana komutlardır. Bu komutlar, otomatik makine öğrenmesi (AutoML) kullanarak sınıflandırma, regresyon ve öneri modelleri için kaliteli ML.NET modelleri ve bu modeli çalıştırmak/puanlamak için örnek C# kodu oluşturmanıza olanak tanır. Ayrıca modeli eğitmek için C# kodu, modelin algoritmasını ve ayarlarını araştırmanız için oluşturulur.

Uyarı

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

Genel Bakış

Örnek kullanım:

mlnet regression --dataset "cars.csv" --label-col price

mlnet ML görev komutları (classification, regression, recommendationve forecasting) aşağıdaki varlıkları oluşturur:

  • Kullanıma hazır bir serileştirilmiş model .zip ("en iyi model").
  • Oluşturulan modeli çalıştırmak/puan almak için C# kodu.
  • Bu modeli oluşturmak için kullanılan eğitim kodunu içeren C# kodu.

İlk iki varlık, modelle tahminde bulunmak için doğrudan son kullanıcı uygulamalarınızda (ASP.NET Core web uygulaması, hizmetler, masaüstü uygulaması ve daha fazlası) 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 modelin belirli algoritmasını ve ayarlarını araştırabilirsiniz.

Örnekler

Sınıflandırma sorunu için en basit CLI komutu (AutoML yapılandırmanın çoğunu sağlanan verilerden çıkartır):

mlnet classification --dataset "customer-feedback.tsv" --label-col Sentiment

Regresyon sorunu için başka bir basit CLI komutu:

mlnet regression --dataset "cars.csv" --label-col Price

Eğitim veri kümesi, test veri kümesi ve daha fazla özelleştirme için açık argümanlarla sınıflandırma modeli oluşturup eğitin.

mlnet classification --dataset "/MyDataSets/Population-Training.csv" --test-dataset "/MyDataSets/Population-Test.csv" --label-col "InsuranceRisk" --cache on --train-time 600

Komut seçenekleri

mlnet ML görev komutları (classification, regression, recommendation, forecastingve train) sağlanan veri kümesine ve ML.NET CLI seçeneklerine göre birden çok modeli eğitin. Bu komutlar ayrıca en iyi modeli seçer, modeli serileştirilmiş .zip dosyası olarak kaydeder ve puanlama ve eğitim için ilgili C# kodunu oluşturur.

Sınıflandırma seçenekleri

mlnet classification çalıştırıldığında bir sınıflandırma modeli eğitir. ML Modelinin verileri 2 veya daha fazla sınıfa (örneğin yaklaşım analizi) kategorilere ayırmasını istiyorsanız bu komutu seçin.

mlnet classification

--dataset <path> (REQUIRED)

--label-col <col> (REQUIRED)

--cache <option>

--has-header (Default: true)

--ignore-cols <cols>

--log-file-path <path>

--name <name>

-o, --output <path>

--test-dataset <path>

--train-time <time> (Default: 30 minutes, in seconds)

--validation-dataset <path>

-v, --verbosity <v>

-?, -h, --help

Regresyon seçenekleri

mlnet regression çalıştırmak bir regresyon modelini eğitir. ML Modelinin sayısal bir değeri (örneğin fiyat tahmini) tahmin etmelerini istiyorsanız bu komutu seçin.

mlnet regression

--dataset <path> (REQUIRED)

--label-col <col> (REQUIRED)

--cache <option>

--has-header (Default: true)

--ignore-cols <cols>

--log-file-path <path>

--name <name>

-o, --output <path>

--test-dataset <path>

--train-time <time> (Default: 30 minutes, in seconds)

--validation-dataset <path>

-v, --verbosity <v>

-?, -h, --help

Öneri seçenekleri

mlnet recommendation çalıştırmak bir öneri modelini eğitir. Ml Modelinin kullanıcılara derecelendirmelere göre öğe önermesini istiyorsanız (örneğin, ürün önerisi) bu komutu seçin.

mlnet recommendation

--dataset <path> (REQUIRED)

--item-col <col> (REQUIRED)

--rating-col <col> (REQUIRED)

--user-col <col> (REQUIRED)

--cache <option>

--has-header (Default: true)

--log-file-path <path>

--name <name>

-o, --output <path>

--test-dataset <path>

--train-time <time> (Default: 30 minutes, in seconds)

--validation-dataset <path>

-v, --verbosity <v>

-?, -h, --help

Geçersiz giriş seçenekleri, CLI aracının geçerli girişlerin listesini ve hata iletisini yaymasına neden olur.

Tahmin seçenekleri

mlnet forecasting çalıştırıldığında zaman serisi tahmin modeli eğitilecektir. ML Modelinin geçmiş verilere (örneğin, satış tahmini) göre bir değer tahmin etmesini istiyorsanız bu komutu seçin.

mlnet forecasting

--dataset <dataset> (REQUIRED)

--horizon <horizon> (REQUIRED)

--label-col <label-col> (REQUIRED)

--time-col <time-col> (REQUIRED)

--cache <Auto|Off|On>

--has-header

--log-file-path <log-file-path>

--name <name>

-o, --output <output>

--test-dataset <test-dataset>

--train-time <train-time>

-v, --verbosity <verbosity>

Tren seçenekleri

Çalıştırmak mlnet train Model Oluşturucu'ndan oluşturulan "mbconfig" dosyasına dayalı bir modelin eğitilmesini sağlar. Bu komutun çalışması için eğitim verilerinin "mbconfig" dosyasıyla aynı dizinde olması gerekir.

-training-config <training-config> (REQUIRED)

--log-file-path <log-file-path>

-v, --verbosity <verbosity>

Veri kümesi

--dataset | -d (dize)

Bu bağımsız değişken, aşağıdaki seçeneklerden birine dosya yolu sağlar:

  • A: Veri kümesi dosyasının tamamı: Bu seçenek kullanılıyorsa ve kullanıcı --test-dataset ve --validation-dataset sağlamıyorsa, modeli doğrulamak için dahili olarak çapraz doğrulama (k-katlamalı, vb.) veya otomatik veri bölme yaklaşımları kullanılır. Bu durumda, kullanıcının veri kümesi dosya yolu sağlaması yeterlidir.

  • B: Eğitim veri kümesi dosyası: Kullanıcı model doğrulaması için veri kümeleri de sağlıyorsa ( --test-dataset ve isteğe bağlı olarak --validation-dataset) --dataset bağımsız değişkeni yalnızca "eğitim veri kümesine" sahip olmak anlamına gelir. Örneğin, modelin kalitesini doğrulamak ve doğruluk ölçümlerini elde etmek için 80% - 20% yaklaşımı kullanıldığında, "eğitim veri kümesi" 80% veriye sahip olur ve "test veri kümesi" 20% veriye sahip olur.

Test veri kümesi

--test-dataset | -t (dize)

Test veri kümesi dosyasını gösteren dosya yolu, doğruluk ölçümlerini elde etmek için düzenli doğrulamalar yapılırken 80% - 20% yaklaşımı kullanıldığında örnek olarak verilir.

kullanıyorsanız --test-dataset, o zaman --dataset da gereklidir.

--test-dataset bağımsız değişken, --validation-dataset kullanılmadığı sürece isteğe bağlıdır. Bu durumda, kullanıcının üç argümanı kullanması gerekir.

Doğrulama veri kümesi

--validation-dataset | -v (dize)

Doğrulama veri kümesi dosyasını gösteren dosya yolu. Doğrulama veri kümesi her durumda isteğe bağlıdır.

kullanıyorsanız validation dataset, davranış şu şekilde olmalıdır:

  • test-dataset ve --dataset bağımsız değişkenleri de gereklidir.

  • Veri validation-dataset kümesi, model seçimi için tahmin hatasını tahmin etmek için kullanılır.

  • test-dataset, seçilen son modelin genelleştirme hatasının değerlendirmesi için kullanılır. İdeal olarak, test seti bir "kasada" tutulmalı ve yalnızca veri analizinin sonunda çıkartılmalıdır.

Temel olarak, validation dataset ve test dataset kullanılırken doğrulama aşaması iki bölüme ayrılır:

  1. İlk bölümde, modellerinize bakıp doğrulama verilerini kullanarak en iyi performansa yönelik yaklaşımı seçmeniz (=doğrulama)
  2. Ardından seçili yaklaşımın doğruluğunu tahmin edersiniz (=test).

Bu nedenle, veri ayrımı 10.80.10 veya 75.15.10 olabilir. Örneğin:

  • training-dataset dosyasında verilerin %75'i% olmalıdır.
  • validation-dataset dosyasında veri 15% içermelidir.
  • test-dataset dosyasında verilerin 10% olmalıdır.

Her durumda, söz konusu yüzdeler, zaten bölünmüş dosyaları sağlayacak CLI kullanan kullanıcı tarafından belirlenir.

Etiket sütunu

--label-col (int veya dize)

Bu bağımsız değişkenle, veri kümesinin üst bilgisinde ayarlanan sütunun adı veya veri kümesinin dosyasındaki sütunun sayısal dizini kullanılarak belirli bir hedef/hedef sütun (tahmin etmek istediğiniz değişken) belirtilebilir (sütun dizini değerleri 0'da başlar).

Bu argüman sınıflandırma ve regresyon sorunları için kullanılır.

Öğe sütunu

--item-col (int veya dize)

Öğe sütununda kullanıcıların derecelendirdiği öğelerin listesi bulunur (öğeler kullanıcılara önerilir). Bu sütun, veri kümesinin üst bilgisinde ayarlanan sütunun adı veya veri kümesinin dosyasındaki sütunun sayısal dizini kullanılarak belirtilebilir (sütun dizini değerleri 0'da başlar).

Bu bağımsız değişken yalnızca öneri görevi için kullanılır.

Derecelendirme sütunu

--rating-col (int veya dize)

Derecelendirme sütunu, kullanıcılar tarafından öğelere verilen derecelendirmelerin listesini içerir. Bu sütun, veri kümesinin üst bilgisinde ayarlanan sütunun adı veya veri kümesinin dosyasındaki sütunun sayısal dizini kullanılarak belirtilebilir (sütun dizini değerleri 0'da başlar).

Bu bağımsız değişken yalnızca öneri görevi için kullanılır.

Kullanıcı sütunu

--user-col (int veya dize)

Kullanıcı sütununda öğelere derecelendirmeler veren kullanıcıların listesi bulunur. Bu sütun, veri kümesinin üst bilgisinde ayarlanan sütunun adı veya veri kümesinin dosyasındaki sütunun sayısal dizini kullanılarak belirtilebilir (sütun dizini değerleri 0'da başlar).

Bu bağımsız değişken yalnızca öneri görevi için kullanılır.

Sütunları yoksay

--ignore-columns (dize)

Bu bağımsız değişkenle, veri kümesi dosyasındaki mevcut sütunları yoksayarak, eğitim işlemleri tarafından yüklenip kullanılmalarının önüne geçebilirsiniz.

Yoksaymak istediğiniz sütun adlarını belirtin. Birden çok sütun adını ayırmak için ', ' (boşlukla virgül) veya ' ' (boşluk) kullanın. Boşluk içeren sütun adları için tırnak işaretleri kullanabilirsiniz (örneğin, "oturum açıldı").

Örnek:

--ignore-columns email, address, id, logged_in

Başlık var

--has-header (bool)

Veri kümesi dosyalarının üst bilgi satırı olup olmadığını belirtin. Olası değerler şunlardır:

  • true
  • false

ML.NET CLI, bu bağımsız değişken kullanıcı tarafından belirtilmezse bu özelliği algılamaya çalışır.

Tren zamanı

--train-time (dize)

Varsayılan olarak, maksimum keşif veya tren süresi 30 dakikadır.

Bu bağımsız değişken, işlemin birden çok eğitmeni ve yapılandırmayı keşfetmesi için en uzun süreyi (saniye cinsinden) ayarlar. Yapılandırılan süre sınırı, tek bir yineleme için çok kısaysa (örneğin 2 saniye) aşılabilir. Bu durumda, gerçek zaman, tek bir yinelemede bir model yapılandırması üretmek için gereken süredir.

Yinelemeler için gereken süre, veri kümesinin boyutuna bağlı olarak değişebilir.

Önbellek

--cache (dize)

Önbelleğe alma kullanırsanız eğitim veri kümesinin tamamı belleğe yüklenir.

Küçük ve orta ölçekli veri kümelerinde, önbelleğin kullanılması eğitim performansını önemli ölçüde iyileştirebilir, yani eğitim süresi önbelleği kullanmadığınızdan daha kısa olabilir.

Ancak büyük veri kümeleri için bellekteki tüm verilerin yüklenmesi, bellekten çıkabileceğiniz için olumsuz etkilenebilir. Büyük veri kümesi dosyalarıyla eğitim yaparken ve önbelleği kullanmadığında ML.NET, eğitim sırasında daha fazla veri yüklemesi gerektiğinde sürücüden veri öbeklerinin akışını yapacaktır.

Aşağıdaki değerleri belirtebilirsiniz:

on: Eğitim sırasında önbelleğin kullanılmasını zorlar. off: Eğitim sırasında önbelleğin kullanılmamasını zorunlu kılar. auto: AutoML buluşsal yöntemlerine bağlı olarak önbellek kullanılır veya kullanılmaz. Genellikle küçük/orta ölçekli veri kümeleri önbellek kullanır ve seçimi kullanırsanız büyük veri kümeleri önbelleği kullanmaz auto .

Parametresini --cache belirtmezseniz önbellek auto yapılandırması varsayılan olarak kullanılır.

İsim

--name (dize)

Oluşturulan çıkış projesinin veya çözümün adı. Ad belirtilmezse, ad sample-{mltask} kullanılır.

ML.NET model dosyası (.ZIP dosyası) da aynı adı alır.

Çıkış yolu

--output | -o (dize)

Oluşturulan çıktıyı yerleştirmek için ana konum/dizin. Varsayılan değer geçerli dizindir.

Söz Kalabalığı

--verbosity | -v (dize)

Standart çıkışın ayrıntı düzeyini ayarlar.

İzin verilen değerler şunlardır:

  • q[uiet]
  • m[inimal] (varsayılan olarak)
  • diag[nostic] (bilgi kaydı seviyesi)

Varsayılan olarak, CLI aracı çalışırken, bunun çalıştığını ve mümkünse ne kadar süre kaldığını veya hangi % tamamlandığını belirtme gibi bazı minimum geri bildirimleri (minimal) göstermelidir.

Yardım

-h |--help

Her komutun parametresi için bir açıklama ile komutun yardımını yazdırır.

Ayrıca bakınız