Uczenie maszynowe (ML) przeszło od modnego hasła, które dobrze jest mieć w aplikacji, do niezbędnej funkcji, która działa i dodaje wartości. Naukowcy zajmujący się danymi opracowują modele ML w różnych platformach ML, takich jak TensorFlow, Scikit-learn, PyTorch, Azure ML itp. Zanim ML.NET stał się dostępny dla wszystkich programistów, dodanie funkcji ML do aplikacji .NET wymagało znajomości niektórych platform ML do tworzenia i tworzenia trenować modele ML. Wymagało to również dodatkowego czasu i wysiłku, aby zintegrować ten model z aplikacjami .NET.
ML.NET znacznie ułatwił tę pracę programistom .NET dzięki Model Builder, graficznemu rozszerzeniu Visual Studio do budowania, trenowania i wdrażania niestandardowych modeli ML. Korzystając z Kreatora modeli ML.NET i jego funkcji AutoML, programiści, którzy nie mają doświadczenia w uczeniu maszynowym, tacy jak ja, mogą nadal tworzyć i używać modeli ML w ciągu kilku minut.
O ML.NET
Zanim zagłębimy się w nasz przykład, porozmawiajmy trochę o historii ML.NET i jej obecnym stanie.
ML.NET czerpie swoje początki z projektu Microsoft Research z 2002 r. o nazwie TMSN, co oznacza „wyszukiwanie i nawigację w testach eksploracji”. Później zmieniono jego nazwę na TLC, „kod uczenia się”. Wojna ML.NET wywodząca się z biblioteki TLC. Początkowo był używany w wewnętrznych produktach firmy Microsoft.
Pierwsza publicznie dostępna wersja ML.NET 1.0 została wydana w 2019 r. Zawierała dodatek Model Builder i funkcje AutoML (zautomatyzowane uczenie maszynowe).
Obecna wersja to 1.6.0. Więcej szczegółów na temat wszystkich wydań można znaleźć na oficjalnej stronie wydania ML.NET.
Niektóre zadania, które możemy wykonać za pomocą ML.NET to:
– Analiza nastrojów
– Rekomendacja produktu
– Przewidywanie cen
– Segmentacja klientów
– Wykrywanie obiektów
– Wykrywanie oszustw
– Wykrywanie skoków sprzedaży
– Klasyfikacja obrazu
– Prognozowanie sprzedaży
Zainstaluj i skonfiguruj
Minimalna wymagana wersja programu Visual Studio to 16.6.1. Poniższe kroki są wykonywane w programie Visual Studio 16.9.2. Dlatego jeśli używasz innej wersji, niektóre szczegóły mogą się różnić.
Zainstaluj ML.NET Model Builder
- Otwórz instalator programu Visual Studio
- Sprawdź Programowanie pulpitu .NET opcja
- W prawym panelu rozwiń Programowanie pulpitu .NET> rozwiń Opcjonalnie > sprawdź Kreator modeli ML.NET (wersja zapoznawcza)
Uwaga:ML.NET Model Builder jest dostępny w programowaniu wieloplatformowym .NET opcja.
Włącz Kreatora modeli ML.NET w Visual Studio
- Przejdź do Narzędzia > Opcje > Środowisko > Funkcje podglądu
- Sprawdź Włącz konstruktora modeli ML.NET pole wyboru
Budowanie modelu ML
Kliknij projekt prawym przyciskiem myszy i wybierz Dodaj > Uczenie maszynowe
Wybierz scenariusz
Wybierz Klasyfikacja tekstu – dodamy prostą funkcję analizy nastrojów:
Wybierz środowisko szkoleniowe
W naszym przypadku jest to komputer lokalny.
Dodaj dane
Użyjemy pliku ZIP zbioru danych UCI Sentiment Labeled Sentences dostępne do pobrania.
Wybierz wynik, który chcesz przewidzieć
W naszym przypadku jest to druga kolumna, więc wybierzemy col1 . Kolumny wejściowe są wybierane automatycznie, ponieważ dostępne są tylko dwie kolumny.
Trenuj modelkę
Wybierz czas na szkolenie i kliknij Rozpocznij szkolenie :
Poniższe obrazy przedstawiają dane wyjściowe i wyniki treningu:
Oceń model
Jeśli wpiszemy Janice była miła na przykładowe dane wejściowe, wynik pokazuje, że to zdanie jest pozytywne ze 100% pewnością:
Jeśli wpiszemy Janice była niegrzeczna na przykładowe dane wejściowe, wynik pokazuje, że to zdanie nie jest pozytywne ze 100% pewnością:
Wdrażanie i używanie modelu ML
Pozostało tylko skorzystać z modelu, który zbudujemy w naszej aplikacji. Musimy dodać odniesienie do naszego projektu modelu ML.
Ponadto musimy zainstalować Microsoft.ML z NuGet.
Microsoft.ML obsługuje tylko x64 i x86 architektura procesora. Dlatego podczas tworzenia aplikacji wybierz jeden z nich.
I to wszystko. Tutaj możemy zobaczyć nasz kod w akcji.
Wniosek
Cały proces od instalacji ML.NET do pierwszej aplikacji z funkcjonalnością ML można wykonać w kilka minut. Oczywiście jest to bardzo prosty przykład, którego jedynym celem jest zapoznanie się z frameworkiem ML.NET. Jednak nawet bez wcześniejszego doświadczenia mógłbym zbudować aplikację, która po pewnych dostosowaniach i ulepszeniach może faktycznie działać w prawdziwym scenariuszu.
To powiedziawszy, ML.NET jest narzędziem. Będziesz mógł z niego korzystać wydajniej dzięki większej wiedzy na temat algorytmów i zasad uczenia maszynowego.
Dziękujemy za trzymanie się do końca i mam nadzieję, że dołączysz do nas w następnym artykule na temat ML.NET.