Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
classification, regression, dan recommendation adalah perintah utama yang disediakan oleh alat baris perintah CLI ML.NET. Perintah ini memungkinkan Anda menghasilkan model ML.NET kualitas yang baik untuk model klasifikasi, regresi, dan rekomendasi menggunakan pembelajaran mesin otomatis (AutoML) serta contoh kode C# untuk menjalankan/menilai model tersebut. Selain itu, kode C# untuk melatih model dihasilkan bagi Anda untuk meneliti algoritma dan pengaturan model.
Nota
Artikel ini mengacu pada ML.NET CLI dan ML.NET AutoML, yang saat ini dalam pratinjau, dan materi dapat berubah.
Gambaran Umum
Contoh penggunaan:
mlnet regression --dataset "cars.csv" --label-col price
mlnet Perintah tugas ML (classification, regression, , recommendationdan forecasting) menghasilkan aset berikut:
- Model serial .zip ("model terbaik") siap digunakan.
- Kode C# untuk menjalankan/menilai model yang dihasilkan.
- Kode C# dengan kode pelatihan yang digunakan untuk menghasilkan model tersebut.
Dua aset pertama dapat langsung digunakan di aplikasi pengguna akhir Anda (aplikasi web ASP.NET Core, layanan, aplikasi desktop, dan lainnya) untuk membuat prediksi dengan model.
Aset ketiga, kode pelatihan, menunjukkan kepada Anda kode API ML.NET apa yang digunakan oleh CLI untuk melatih model yang dihasilkan, sehingga Anda dapat menyelidiki algoritma dan pengaturan model tertentu.
Contoh
Perintah CLI paling sederhana untuk masalah klasifikasi (AutoML menyimpulkan sebagian besar konfigurasi dari data yang disediakan):
mlnet classification --dataset "customer-feedback.tsv" --label-col Sentiment
Perintah CLI sederhana lainnya untuk masalah regresi:
mlnet regression --dataset "cars.csv" --label-col Price
Buat dan latih model klasifikasi dengan himpunan data pelatihan, himpunan data pengujian, dan argumen eksplisit penyesuaian lebih lanjut:
mlnet classification --dataset "/MyDataSets/Population-Training.csv" --test-dataset "/MyDataSets/Population-Test.csv" --label-col "InsuranceRisk" --cache on --train-time 600
Pilihan perintah
mlnet Perintah tugas ML (classification, , regression, recommendationforecasting, dan train) melatih beberapa model berdasarkan himpunan data yang disediakan dan opsi CLI ML.NET. Perintah ini juga memilih model terbaik, menyimpan model sebagai file .zip berseri, dan menghasilkan kode C# terkait untuk penilaian dan pelatihan.
Opsi klasifikasi
Menjalankan mlnet classification akan melatih model klasifikasi. Pilih perintah ini jika Anda ingin Model ML mengategorikan data ke dalam 2 kelas atau lebih (misalnya, analisis sentimen).
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
Opsi regresi
Menjalankan mlnet regression akan melatih model regresi. Pilih perintah ini jika Anda ingin Model ML memprediksi nilai numerik (misalnya, prediksi harga).
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
Opsi rekomendasi
Menjalankan mlnet recommendation akan melatih model rekomendasi. Pilih perintah ini jika Anda ingin Model ML merekomendasikan item kepada pengguna berdasarkan peringkat (misalnya, rekomendasi produk).
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
Opsi input yang tidak valid menyebabkan alat CLI memancarkan daftar input yang valid dan pesan kesalahan.
Pilihan prakiraan
Menjalankan mlnet forecasting akan melatih model prakiraan rangkaian waktu. Pilih perintah ini jika Anda ingin Model ML memperkirakan nilai berdasarkan data historis (misalnya, prakiraan penjualan).
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>
Opsi kereta
Menjalankan mlnet train akan melatih model berdasarkan file "mbconfig" yang dihasilkan dari Model Builder. Agar perintah ini berfungsi, data pelatihan harus berada di direktori yang sama dengan file "mbconfig".
-training-config <training-config> (REQUIRED)
--log-file-path <log-file-path>
-v, --verbosity <verbosity>
Kumpulan Data
--dataset | -d (String)
Argumen ini menyediakan jalur file ke salah satu opsi berikut:
A: Seluruh file himpunan data: Jika menggunakan opsi ini dan pengguna tidak menyediakan
--test-datasetdan--validation-dataset, maka validasi silang (k-fold, dll.) atau pendekatan pemisahan data otomatis akan digunakan secara internal untuk memvalidasi model. Dalam hal ini, pengguna hanya perlu menyediakan jalur file himpunan data.B: File himpunan data pelatihan: Jika pengguna juga menyediakan himpunan data untuk validasi model (menggunakan
--test-datasetdan secara--validation-datasetopsional ), maka--datasetargumen berarti hanya memiliki "himpunan data pelatihan". Misalnya, saat menggunakan pendekatan 80% - 20% untuk memvalidasi kualitas model dan untuk mendapatkan metrik akurasi, "himpunan data pelatihan" akan memiliki 80% data dan "himpunan data pengujian" akan memiliki 20% data.
Himpunan data pengujian
--test-dataset | -t (String)
Jalur file yang menunjuk ke file himpunan data pengujian, misalnya saat menggunakan pendekatan 80% - 20% saat membuat validasi reguler untuk mendapatkan metrik akurasi.
Jika menggunakan --test-dataset, maka --dataset juga diperlukan.
Argumen --test-dataset bersifat opsional kecuali --validation-dataset digunakan. Dalam hal ini, pengguna harus menggunakan tiga argumen.
Himpunan data validasi
--validation-dataset | -v (String)
Jalur file menunjuk ke file himpunan data validasi. Himpunan data validasi bersifat opsional, dalam hal apa pun.
Jika menggunakan validation dataset, perilakunya harus:
Argumen
test-datasetdan--datasetjuga diperlukan.Himpunan
validation-datasetdata digunakan untuk memperkirakan kesalahan prediksi untuk pemilihan model.test-datasetdigunakan untuk penilaian kesalahan generalisasi model yang dipilih akhir. Idealnya, set pengujian harus disimpan dalam "penyimpan aman" dan hanya dibawa keluar di akhir analisis data.
Pada dasarnya, saat menggunakan validation dataset plus test dataset, fase validasi dibagi menjadi dua bagian:
- Di bagian pertama, Anda hanya melihat model Anda dan memilih pendekatan berkinerja terbaik menggunakan data validasi (=validasi)
- Kemudian Anda memperkirakan akurasi pendekatan yang dipilih (=test).
Oleh karena itu, pemisahan data bisa 80/10/10 atau 75/15/10. Contohnya:
-
training-datasetfile harus memiliki 75% dari data. - File
validation-datasetharus memiliki data sebanyak 15%. -
test-datasetfile harus memiliki 10% dari data.
Bagaimanapun, persentase tersebut akan diputuskan oleh pengguna menggunakan CLI yang akan menyediakan file yang sudah dibagi.
Kolom label
--label-col (int atau string)
Dengan argumen ini, kolom tujuan/target tertentu (variabel yang ingin Anda prediksi) dapat ditentukan dengan menggunakan nama kolom yang ditetapkan di header himpunan data atau indeks numerik kolom dalam file himpunan data (nilai indeks kolom dimulai dari 0).
Argumen ini digunakan untuk masalah klasifikasi dan regresi .
Kolom Barang
--item-col (int atau string)
Kolom item memiliki daftar item yang dilaporkan pengguna (item disarankan untuk pengguna). Kolom ini dapat ditentukan dengan menggunakan nama kolom yang diatur di header himpunan data atau indeks numerik kolom dalam file himpunan data (nilai indeks kolom dimulai dari 0).
Argumen ini hanya digunakan untuk tugas rekomendasi .
Kolom peringkat
--rating-col (int atau string)
Kolom peringkat memiliki daftar peringkat yang diberikan kepada item oleh pengguna. Kolom ini dapat ditentukan dengan menggunakan nama kolom yang diatur di header himpunan data atau indeks numerik kolom dalam file himpunan data (nilai indeks kolom dimulai dari 0).
Argumen ini hanya digunakan untuk tugas rekomendasi .
Kolom pengguna
--user-col (int atau string)
Kolom pengguna memiliki daftar pengguna yang memberikan peringkat ke item. Kolom ini dapat ditentukan dengan menggunakan nama kolom yang diatur di header himpunan data atau indeks numerik kolom dalam file himpunan data (nilai indeks kolom dimulai dari 0).
Argumen ini hanya digunakan untuk tugas rekomendasi .
Abaikan kolom
--ignore-columns (String)
Dengan argumen ini, Anda dapat mengabaikan kolom yang ada dalam file himpunan data sehingga tidak dimuat dan digunakan oleh proses pelatihan.
Tentukan nama kolom yang ingin Anda abaikan. Gunakan ', ' (koma dengan spasi) atau ' ' (spasi) untuk memisahkan beberapa nama kolom. Anda dapat menggunakan tanda kutip untuk nama kolom yang berisi spasi kosong (misalnya, "masuk").
Contoh:
--ignore-columns email, address, id, logged_in
Memiliki header
--has-header (Bool)
Tentukan apakah file himpunan data memiliki baris header. Nilai yang mungkin adalah:
truefalse
CLI ML.NET akan mencoba mendeteksi properti ini jika argumen ini tidak ditentukan oleh pengguna.
Waktu kereta api
--train-time (String)
Secara default, eksplorasi maksimum atau waktu kereta adalah 30 menit.
Argumen ini mengatur waktu maksimum (dalam detik) untuk proses mengeksplorasi berbagai pengajar dan konfigurasi. Batas waktu yang dikonfigurasi mungkin terlampaui jika terlalu pendek (misalnya 2 detik) untuk satu perulangan. Dalam hal ini, waktu aktual adalah waktu yang diperlukan untuk menghasilkan satu konfigurasi model dalam satu iterasi.
Waktu yang diperlukan untuk iterasi dapat bervariasi tergantung pada ukuran himpunan data.
Tembolok
--cache (String)
Jika Anda menggunakan cache, seluruh himpunan data pelatihan akan dimuat ke dalam memori.
Untuk himpunan data kecil dan menengah, menggunakan cache dapat secara drastis meningkatkan performa pelatihan, yang berarti waktu pelatihan bisa lebih pendek daripada saat Anda tidak menggunakan cache.
Namun, untuk himpunan data besar, memuat semua data dalam memori dapat berdampak negatif karena Anda mungkin kehabisan memori. Saat berlatih dengan file himpunan data besar dan tidak menggunakan cache, ML.NET akan melakukan streaming potongan-potongan data dari penyimpanan ketika butuh memuat lebih banyak data selama pelatihan.
Anda dapat menentukan nilai berikut:
on: Memaksa penggunaan cache saat pelatihan.
off: Memaksa agar cache tidak digunakan saat pelatihan.
auto: Tergantung pada heuristik AutoML, cache akan digunakan atau tidak. Biasanya, himpunan data kecil/menengah akan menggunakan cache dan himpunan data besar tidak akan menggunakan cache jika Anda menggunakan pilihan tersebut auto .
Jika Anda tidak menentukan --cache parameter, konfigurasi cache auto akan digunakan secara default.
Nama
--name (String)
Nama untuk proyek atau solusi output yang dibuat. Jika tidak ada nama yang ditentukan, nama sample-{mltask} akan digunakan.
File model ML.NET (file .ZIP) juga akan mendapatkan nama yang sama.
Jalur keluaran
--output | -o (String)
Lokasi/folder utama untuk menempatkan output yang dihasilkan. Defaultnya adalah direktori saat ini.
Verbositas
--verbosity | -v (String)
Mengatur tingkat verbositas output standar.
Nilai yang diizinkan adalah:
q[uiet]-
m[inimal](secara bawaan) -
diag[nostic](tingkat informasi pengelogan)
Secara default, alat CLI harus menunjukkan beberapa umpan balik minimum (minimal) saat bekerja, seperti menyebutkan bahwa alat tersebut berfungsi dan jika memungkinkan berapa banyak waktu yang tersisa atau % waktu apa yang selesai.
Bantuan
-h |--help
Mencetak informasi bantuan untuk perintah, beserta deskripsi setiap parameter dari perintah tersebut.
Lihat juga
- Cara menginstal alat CLI ML.NET
- Gambaran umum CLI ML.NET
- Tutorial : Menganalisis sentimen menggunakan CLI ML.NET
- Telemetri di CLI ML.NET