Panduan ML.NET - Aplikasi Pertama dalam 10 Menit

Tahun lalu, kami memperkenalkan ML.NET, sistem pembelajaran lintas-platform dan mesin terbuka untuk pengembang .NET. Selama waktu ini, dia sangat berkembang dan melalui banyak versi. Hari ini kami membagikan panduan tentang cara membuat aplikasi ml.net pertama Anda dalam 10 menit.



* Manual ini dalam bahasa Inggris .

** Di bawah ini adalah tutorial untuk Windows. Tetapi hal yang persis sama dapat dilakukan di MacOS / Linux .

Instal .NET SDK


Untuk mulai membuat aplikasi .NET, Anda hanya perlu mengunduh dan menginstal .NET SDK (Perangkat Pengembangan Perangkat Lunak).



Bangun aplikasi Anda


Buka prompt perintah dan jalankan perintah berikut:

dotnet new console -o myApp cd myApp 

Perintah dotnet akan membuat aplikasi console new untuk Anda. myApp -o membuat direktori bernama myApp , di mana aplikasi Anda disimpan, dan mengisinya dengan file yang diperlukan. Perintah cd myApp akan mengembalikan Anda ke direktori aplikasi yang dibuat.

Instal Paket ML.NET


Untuk menggunakan ML.NET, Anda harus menginstal paket Microsoft.ML. Pada prompt perintah, jalankan perintah berikut:

 dotnet add package Microsoft.ML --version 0.9.0 

Unduh DB


Aplikasi pembelajaran mesin representatif kami akan memprediksi jenis bunga iris (setosa, versicolor atau virginica) berdasarkan empat karakteristik: panjang kelopak, lebar kelopak, panjang sepal dan lebar sepal.

Buka repositori pembelajaran mesin UCI : Iris dataset, salin dan tempel data ke dalam editor teks (misalnya, Notepad) dan simpan sebagai iris-data.txt di direktori myApp .

Saat Anda menambahkan data, akan terlihat seperti ini: setiap baris mewakili pola bunga iris yang berbeda. Dari kiri ke kanan, kolom mewakili: panjang sepal, lebar sepal, panjang kelopak, lebar kelopak dan jenis bunga iris.

 5.1,3.5,1.4,0.2,Iris-setosa 4.9,3.0,1.4,0.2,Iris-setosa 4.7,3.2,1.3,0.2,Iris-setosa ... 

Menggunakan Visual Studio?


Jika Anda menggunakan Visual Studio, Anda perlu mengkonfigurasi iris-data.txt untuk menyalinnya ke direktori output.



Ayo pergi sedikit


Buka Program.cs di editor teks apa pun dan ganti semua kode dengan yang berikut:

 using Microsoft.ML; using Microsoft.ML.Data; using System; namespace myApp { class Program { //  1:     // IrisData     ,   //      // -  4  --    / ,     label // - Label --  ,   ,      public class IrisData { [LoadColumn(0)] public float SepalLength; [LoadColumn(1)] public float SepalWidth; [LoadColumn(2)] public float PetalLength; [LoadColumn(3)] public float PetalWidth; [LoadColumn(4)] public string Label; } // IrisPrediction  ,     public class IrisPrediction { [ColumnName("PredictedLabel")] public string PredictedLabels; } static void Main(string[] args) { //  2:   ML.NET var mlContext = new MLContext(); //    Visual Studio, ,   'Copy to Output Directory' // iris-data.txt   'Copy always' var reader = mlContext.Data.CreateTextReader<IrisData>(separatorChar: ',', hasHeader: true); IDataView trainingDataView = reader.Read("iris-data.txt"); //  3:      learner //       Β«labelΒ»,    //        . //     pipeline.  (What type of iris is this?) //  label     (      3) var pipeline = mlContext.Transforms.Conversion.MapValueToKey("Label") .Append(mlContext.Transforms.Concatenate("Features", "SepalLength", "SepalWidth", "PetalLength", "PetalWidth")) .Append(mlContext.MulticlassClassification.Trainers.StochasticDualCoordinateAscent(labelColumn: "Label", featureColumn: "Features")) .Append(mlContext.Transforms.Conversion.MapKeyToValue("PredictedLabel")); //  4:     - var model = pipeline.Fit(trainingDataView); //  5:     //     ,     var prediction = model.CreatePredictionEngine<IrisData, IrisPrediction>(mlContext).Predict( new IrisData() { SepalLength = 3.3f, SepalWidth = 1.6f, PetalLength = 0.2f, PetalWidth = 5.1f, }); Console.WriteLine($"Predicted flower type is: {prediction.PredictedLabels}"); } } } 

Luncurkan aplikasi Anda


Pada prompt perintah, jalankan perintah berikut:

 dotnet run 

Garis akhir output adalah jenis bunga iris yang diprediksi. Anda dapat mengubah nilai yang diteruskan ke fungsi Predict untuk melihat perkiraan berdasarkan dimensi yang berbeda.

Selamat, Anda membuat model pembelajaran mesin pertama Anda dengan ML.NET!

Jangan berhenti di situ


Sekarang setelah Anda memiliki dasar-dasarnya, Anda dapat melanjutkan pelatihan dengan tutorial ML.NET kami.

Source: https://habr.com/ru/post/id436728/


All Articles