Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
classification
, regression
ve 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
, recommendation
ve 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
, forecasting
ve 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:
- İlk bölümde, modellerinize bakıp doğrulama verilerini kullanarak en iyi performansa yönelik yaklaşımı seçmeniz (=doğrulama)
- 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.