ML.NET 0.7 (Machine Learning .NET)

Kami sangat senang mengumumkan rilis ML.NET 0.7, versi terbaru dari sistem pembelajaran mesin lintas-platform dan open source untuk pengembang .NET ( ML.NET 0,1 dirilis pada // Build 2018 ). Rilis ini bertujuan untuk memperluas fungsionalitas platform. Lebih detail di bawah cut!



Mendukung rekomendasi sistem dengan Matriks Factorization




Sistem rekomendasi memungkinkan Anda membuat rekomendasi yang dipersonalisasi untuk produk katalog, lagu, film, dll. Kami telah meningkatkan dukungan untuk membuat sistem rekomendasi di ML.NET dengan menambahkan Matriks faktorisasi (MF). Ini adalah pendekatan yang populer untuk rekomendasi ketika Anda bisa mendapatkan data tentang bagaimana pengguna menilai item tertentu dalam katalog. Misalnya, Anda mungkin tahu cara pengguna menilai film tertentu. Berkat pengetahuan ini, Anda dapat merekomendasikan film lain yang mungkin juga ingin mereka tonton.

Kami menambahkan MF ke ML.NET karena seringkali secara signifikan lebih cepat daripada Mesin Factorization Field-Aware (yang kami tambahkan ke ML.NET 0.3), dan itu dapat mendukung peringkat yang numerik (mis. 1-5 bintang) sebagai gantinya nilai biner ("Suka" atau "tidak suka"). Terlepas dari kenyataan bahwa kami menambahkan MF, Anda masih dapat menggunakan FFM jika Anda ingin menggunakan informasi lain di luar peringkat yang diberikan pengguna ke elemen (misalnya, genre film, tanggal rilis film, profil pengguna). Diskusi yang lebih rinci tentang perbedaan dapat ditemukan di sini .

Contoh menggunakan MF dapat ditemukan di sini . Contoh ini umum, tetapi Anda dapat membayangkan bahwa baris matriks sesuai dengan pengguna, kolom matriks sesuai dengan film, dan nilai matriks sesuai dengan peringkat. Matriks ini agak langka karena pengguna hanya menilai sebagian kecil dari direktori.

MF ML.NET menggunakan LIBMF .

Skenario Deteksi Anomali - Mendeteksi Acara Tidak Biasa




Deteksi anomali memungkinkan Anda mengidentifikasi nilai atau peristiwa yang tidak biasa. Ini digunakan dalam skenario seperti deteksi penipuan (mendeteksi transaksi kartu kredit yang mencurigakan) dan pemantauan server (mendeteksi aktivitas yang tidak biasa).

ML.NET 0.7 mendeteksi dua jenis perilaku abnormal:

  • Deteksi Spike: Spike dikaitkan dengan ledakan sementara yang tiba-tiba pada nilai input. Ini bisa berupa pencilan karena kegagalan fungsi, serangan dunia maya, konten web viral, dll.
  • Deteksi titik perubahan: titik perubahan menandai awal penyimpangan konstan dalam perilaku data.

Anomali ini dapat dideteksi pada dua jenis data menggunakan komponen ML.NET yang berbeda:

  • IidSpikeDetector dan IidChangePointDetector digunakan untuk data yang diambil dari satu distribusi stasioner (setiap titik data tidak tergantung pada yang sebelumnya).
  • SsaSpikeDetector dan SsaChangePointDetector digunakan untuk data yang memiliki komponen musiman / tren (mungkin dipesan berdasarkan waktu, seperti penjualan produk).

Kode sampel menggunakan deteksi anomali di ML.NET dapat ditemukan di sini .

Kustomisasi jaringan pipa ML.NET yang ditingkatkan




ML.NET menawarkan banyak transformasi data (misalnya, pemrosesan teks, gambar, fungsi kategorikal, dll.). Namun, kasus penggunaan tertentu memerlukan konversi tertentu. Sekarang kami telah menambahkan dukungan untuk transformasi khusus sehingga Anda dapat dengan mudah memasukkan solusi kustom.

CustomMappingEstimator memungkinkan Anda membuat metode pemrosesan data Anda sendiri dan menambahkannya ke pipeline ML.NET. Ini akan terlihat seperti apa dalam pipa:

var estimator = mlContext.Transforms.CustomMapping<MyInput, MyOutput>(MyLambda.MyAction, "MyLambda") .Append(...) .Append(...) 

Di bawah ini adalah definisi dari apa yang akan dilakukan pemetaan khusus ini. Dalam contoh ini, kami akan mengonversi label teks ("spam" atau "ham") menjadi label logis (benar atau salah).

 public class MyInput { public string Label { get; set; } } public class MyOutput { public bool Label { get; set; } } public class MyLambda { [Export("MyLambda")] public ITransformer MyTransformer => ML.Transforms.CustomMappingTransformer<MyInput, MyOutput>(MyAction, "MyLambda"); [Import] public MLContext ML { get; set; } public static void MyAction(MyInput input, MyOutput output) { output.Label= input.Label == "spam" ? true : false; } } 

Contoh CustomMappingEstimator yang lebih lengkap dapat ditemukan di sini .

Dukungan X86 selain x64




Dalam rilis ML.NET ini, Anda sekarang dapat menggunakan model pembelajaran mesin pada perangkat x86 / 32-bit (hanya Windows). Sebelumnya, ML.NET terbatas pada perangkat x64 (Windows, Linux, dan Mac). Harap dicatat bahwa beberapa komponen berdasarkan koneksi eksternal (misalnya, TensorFlow) tidak tersedia di x86-Windows.

NimbusML - Binding Eksperimental Python untuk ML.NET




NimbusML menyediakan binding eksperimental Python untuk ML.NET. Kami telah melihat umpan balik dari komunitas eksternal dan tim pengembangan internal mengenai penggunaan beberapa bahasa pemrograman. Kami ingin sebanyak mungkin orang menggunakan ML.NET.

ML.NET tidak hanya memungkinkan para ilmuwan data untuk menggunakan model pembelajaran mesin dengan Python (dengan komponen yang juga dapat digunakan dalam jaringan pipa scikit-learn ), tetapi juga memungkinkan Anda untuk menyimpan model yang dapat dengan mudah digunakan dalam aplikasi .NET melalui ML.NET (selengkapnya lihat disini ).

Jika Anda melewatkannya: umpan balik pada API baru


ML.NET 0.6 memperkenalkan serangkaian API baru untuk ML.NET yang memberikan peningkatan fleksibilitas. API ini dalam versi 0.7 dan versi mendatang masih terus berkembang, dan kami ingin menerima tanggapan Anda untuk menjadikan sistem ini lebih baik.

Ingin hadir? Tinggalkan ulasan tentang ML.NET GitHub !

Sumber Daya Tambahan


  • Berikut adalah konsep ML.NET yang paling penting untuk memahami API baru.
  • Temukan panduan di sini yang menunjukkan cara menggunakan API ini untuk berbagai skenario yang ada dan baru.
  • Tautan ke API ML.NET dengan semua dokumentasi API disediakan di sini .

Mulai!




Jika Anda belum melakukannya, unduh ML.NET di sini . Juga jelajahi sumber daya bermanfaat lainnya:


Iklan menit


Orang-orang dari AI-Komunitas sekarang memegang kejuaraan online dalam Ilmu Data dengan kumpulan hadiah 600.000 rubel. Bergabunglah dengan kami, kasing mungkin menarik bagi Anda.

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


All Articles