Udostępnij za pośrednictwem


Przekształcanie zliczania kompilacji

Ważne

Obsługa programu Machine Learning Studio (wersja klasyczna) zakończy się 31 sierpnia 2024 r. Zalecamy przejście do usługi Azure Machine Learning przed tym terminem.

Od 1 grudnia 2021 r. nie będzie można tworzyć nowych zasobów programu Machine Learning Studio (wersja klasyczna). Do 31 sierpnia 2024 r. można będzie nadal korzystać z istniejących zasobów programu Machine Learning Studio (wersja klasyczna).

Dokumentacja programu ML Studio (wersja klasyczna) jest wycofywana i może nie być aktualizowana w przyszłości.

Tworzy przekształcenie, które zmienia liczbę tabel w cechy, dzięki czemu można zastosować przekształcenie do wielu zestawów danych

Kategoria: Edukacja z liczbami

Uwaga

Dotyczy: Machine Learning Studio (wersja klasyczna)

Podobne moduły przeciągania i upuszczania są dostępne w Azure Machine Learning projektanta.

Omówienie modułu

W tym artykule opisano sposób używania modułu Przekształcanie zliczania kompilacji w programie Machine Learning Studio (wersja klasyczna) do analizowania danych szkoleniowych. Na podstawie tych danych moduł tworzy tabelę zliczania oraz zestaw funkcji opartych na liczbach, których można używać w modelu predykcyjnym.

Tabela zliczania zawiera wspólny rozkład wszystkich kolumn cech na danej kolumnie z określoną etykietą. Takie statystyki są przydatne do określania, które kolumny mają najwięcej informacji. Cechowanie na podstawie liczby jest przydatne, ponieważ takie funkcje są bardziej kompaktowe niż oryginalne dane treningowe, ale przechwytują wszystkie najbardziej przydatne informacje. Za pomocą parametrów modułu można dostosować sposób przekształcania liczby w nowy zestaw funkcji opartych na liczbach.

Po wygenerowaniu liczników i przekształceniu ich w funkcje możesz zapisać proces jako przekształcenie do ponownego użycia na powiązanych danych. Można również zmodyfikować zestaw funkcji bez konieczności generowania nowego zestawu liczników lub scalania liczników i cech z innym zestawem liczników i funkcji.

Możliwość ponownego użycia i ponownego zastosowania funkcji opartych na liczbach jest przydatna w scenariuszach takich jak:

  • Nowe dane stają się dostępne, aby poprawić pokrycie lub równowagę zestawu danych.
  • Twoje oryginalne liczby i funkcje były oparte na bardzo dużym zestawie danych, którego nie chcesz ponownie przetwarzać. Scalając liczby, można aktualizować dane przy użyciu nowych danych.
  • Chcesz mieć pewność, że ten sam zestaw funkcji opartych na liczbach jest stosowany do wszystkich zestawów danych, które są stosowane w eksperymencie.

Jak skonfigurować przekształcenie zliczania kompilacji

Przekształcanie funkcji na podstawie liczby można utworzyć bezpośrednio z zestawu danych i uruchamiać je ponownie za każdym razem, gdy uruchamiasz eksperyment. Możesz też wygenerować zestaw liczników, a następnie scalić go z nowymi danymi, aby utworzyć zaktualizowaną tabelę zliczania.

  • Tworzenie funkcji opartych na liczbach na podstawie zestawu danych

    Zacznij tutaj, jeśli jeszcze nie utworzono liczników. Moduł Przekształcanie zliczania kompilacji umożliwia tworzenie tabel zliczania i automatyczne generowanie zestawu funkcji.

    Ten proces tworzy przekształcenie funkcji, które można zastosować do zestawu danych przy użyciu modułu Zastosuj przekształcenie .

  • Scalanie liczby i funkcji z wielu zestawów danych

    Jeśli tabela zliczania została już wygenerowana na podstawie poprzedniego zestawu danych, wygeneruj liczniki tylko dla nowych danych lub zaimportuj istniejącą tabelę zliczania utworzoną we wcześniejszej wersji Machine Learning. Następnie scal dwa zestawy tabel zliczania

    Ten proces tworzy nowe przekształcenie funkcji, które można zastosować do zestawu danych przy użyciu modułu Zastosuj przekształcenie .

Tworzenie funkcji opartych na liczbach na podstawie zestawu danych

  1. W Machine Learning Studio (klasycznej) dodaj moduł Build Counting Transform (Przekształcanie zliczania kompilacji) do eksperymentu. Moduł można znaleźć w obszarze Przekształcanie danych w kategorii Edukacja z liczbami.

  2. Połączenie zestaw danych, którego chcesz użyć jako podstawy dla funkcji opartych na liczbach.

  3. Użyj opcji Liczba klas , aby określić liczbę wartości w kolumnie etykiety.

    • W przypadku dowolnego problemu klasyfikacji binarnej wpisz 2.
    • W przypadku problemu klasyfikacji z więcej niż dwoma możliwymi wyjściami należy z wyprzedzeniem określić dokładną liczbę klas do zliczenia. W przypadku wprowadzenia liczby mniejszej niż rzeczywista liczba klas moduł zwróci błąd.
    • Jeśli zestaw danych zawiera wiele wartości klasy, a wartości etykiety klasy nie są sekwencyjne, należy użyć opcji Edytuj metadane, aby określić, że kolumna zawiera wartości kategorii.
  4. W przypadku opcji bity funkcji skrótu wskazują, ile bitów ma być używać podczas wyznaczania wartości skrótu.

    Zazwyczaj można bezpiecznie zaakceptować wartości domyślne, chyba że wiadomo, że istnieje wiele wartości do zliczenia i może być potrzebna większa liczba bitów.

  5. W funkcji Iniekcja wartości skrótu możesz opcjonalnie określić wartość iniekcyjną funkcji wyznaczania wartości skrótu. Ręczne ustawianie iniektu jest wykonywane zwykle wtedy, gdy chcesz mieć pewność, że wyniki wyznaczania wartości skrótu są deterministyczne w przebiegach tego samego eksperymentu.

  6. Użyj opcji Typ modułu , aby wskazać typ danych, które będą zliczane, na podstawie trybu przechowywania:

    • Zestaw danych: wybierz tę opcję, jeśli zliczasz dane zapisane jako zestaw danych w programie Machine Learning Studio (wersja klasyczna).

    • Obiekt blob: wybierz tę opcję, jeśli dane źródłowe używane do kompilowania liczników są przechowywane jako blokowy obiekt blob w Windows Azure Storage.

    • MapReduce: wybierz tę opcję, jeśli chcesz wywołać funkcje mapy/redukcji w celu przetwarzania danych.

      Aby użyć tej opcji, nowe dane muszą zostać dostarczone jako obiekty blob w usłudze Windows Azure Storage i musisz mieć dostęp do wdrożonego klastra usługi HDInsight. Po uruchomieniu eksperymentu w klastrze jest uruchamiane zadanie mapowania/redukcji w celu przeprowadzenia zliczania.

      W przypadku bardzo dużych zestawów danych zalecamy używanie tej opcji zawsze, gdy jest to możliwe. Mimo że korzystanie z usługi HDInsight może wiązać się z dodatkowymi kosztami, obliczenia na dużych zestawach danych mogą być szybsze w usłudze HDInsight.

      Aby uzyskać więcej informacji, zobacz https://azure.microsoft.com/services/hdinsight/.

  7. Po określeniu trybu przechowywania danych podaj wszelkie dodatkowe informacje o połączeniu dla wymaganych danych:

    • Jeśli używasz danych z usługi Hadoop lub magazynu obiektów blob, podaj lokalizację klastra i poświadczenia.
    • Jeśli wcześniej w eksperymencie był używany moduł Importuj dane, aby uzyskać dostęp do danych, musisz ponownie wprowadzić nazwę konta i swoje poświadczenia. Moduł Przekształcanie zliczania kompilacji uzyskuje oddzielnie dostęp do magazynu danych w celu odczytania danych i skompilowania wymaganych tabel.
  8. W przypadku kolumny etykiety lub indeksu wybierz jedną kolumnę jako kolumnę etykiety.

    Wymagana jest kolumna etykiety. Kolumna musi być już oznaczona jako etykieta lub w przypadku wystąpienia błędu.

  9. Użyj opcji Wybierz kolumny do zliczenia i wybierz kolumny, dla których mają być generowane liczby.

    Ogólnie rzecz biorąc, najlepszymi kandydatami są kolumny wielowymiarowe wraz z innymi kolumnami skorelowane z tymi kolumnami.

  10. Użyj opcji Typ tabeli Liczba , aby określić format używany do przechowywania tabeli count.

    • Słownik: tworzy tabelę zliczania słowników. Wszystkie wartości kolumn w wybranych kolumnach są traktowane jako ciągi i są skrótami przy użyciu tablicy bitowej o rozmiarze do 31 bitów. W związku z tym wszystkie wartości kolumn są reprezentowane przez nieujemną 32-bitową liczbę całkowitą.

      Ogólnie rzecz biorąc, należy użyć tej opcji dla mniejszych zestawów danych (mniej niż 1 GB), a w przypadku większych zestawów danych należy użyć opcji CMSketch .

      Po wybraniu tej opcji skonfiguruj liczbę bitów używanych przez funkcję wyznaczania wartości skrótu i ustaw inicjalizacja funkcji skrótu.

    • CMSketch: tworzy minimalną liczbę tabel szkiców. W przypadku tej opcji wiele niezależnych funkcji skrótu o mniejszym zakresie jest używanych w celu zwiększenia wydajności pamięci i zmniejszenia prawdopodobieństwo kolizji skrótów. Parametry rozmiaru bitu wyznaczania wartości skrótu i iniekcyjną wartości skrótu nie mają wpływu na tę opcję.

  11. Uruchom eksperyment.

    Moduł tworzy przekształcenie cechowania, które może być stosowane jako dane wejściowe modułu Apply Transformation (Stosowanie przekształcenia). Dane wyjściowe modułu Zastosuj transformację to przekształcony zestaw danych, który może służyć do trenowania modelu.

    Opcjonalnie możesz zapisać przekształcenie, jeśli chcesz scalić zestaw funkcji opartych na liczbach z innym zestawem funkcji opartych na liczbach. Aby uzyskać więcej informacji, zobacz Scal liczba przekształceń.

Scalanie liczby i funkcji z wielu zestawów danych

  1. W Machine Learning Studio (klasycznej) dodaj moduł Build Counting Transform (Przekształcanie zliczania kompilacji) do eksperymentu i połącz zestaw danych zawierający nowe dane, które chcesz dodać.

  2. Użyj opcji Typ modułu , aby wskazać źródło nowych danych. Możesz scalić dane z różnych źródeł.

    • Zestaw danych: wybierz tę opcję, jeśli nowe dane są dostarczane jako zestaw danych w programie Machine Learning Studio (wersja klasyczna).

    • Obiekt blob: wybierz tę opcję, jeśli nowe dane są dostarczane jako blokowy obiekt blob w Windows Azure Storage.

    • MapReduce: wybierz tę opcję, jeśli chcesz wywołać funkcje mapy/redukcji w celu przetwarzania danych.

      Aby użyć tej opcji, nowe dane muszą zostać dostarczone jako obiekty blob w usłudze Windows Azure Storage i musisz mieć dostęp do wdrożonego klastra usługi HDInsight. Po uruchomieniu eksperymentu w klastrze zostanie uruchomione zadanie mapowania/redukcji w celu przeprowadzenia zliczania.

      Aby uzyskać więcej informacji, zobacz https://azure.microsoft.com/services/hdinsight/.

  3. Po określeniu trybu przechowywania danych podaj wszelkie dodatkowe informacje o połączeniu dla nowych danych:

    • Jeśli używasz danych z usługi Hadoop lub magazynu obiektów blob, podaj lokalizację klastra i poświadczenia.

    • Jeśli wcześniej w eksperymencie był używany moduł Importuj dane, aby uzyskać dostęp do danych, musisz ponownie wprowadzić nazwę konta i swoje poświadczenia. Przyczyną jest to, że moduł Przekształcanie zliczania kompilacji uzyskuje oddzielnie dostęp do magazynu danych w celu odczytania danych i skompilowania wymaganych tabel.

  4. Podczas scalania liczników następujące opcje muszą być dokładnie takie same w obu tabelach counts:

    • Liczba klas
    • Bity funkcji skrótu
    • Iniekcją funkcji skrótu
    • Wybieranie kolumn do zliczenia

    Kolumna etykiety może być inna, o ile zawiera tę samą liczbę klas.

  5. Użyj opcji Typ tabeli Liczba , aby określić format i lokalizację docelową zaktualizowanej tabeli zliczania.

    Porada

    Format dwóch tabel liczbowych, które zamierzasz scalić, musi być taki sam. Innymi słowy, jeśli wcześniejsza tabela liczb została zapisana przy użyciu formatu Dictionary , nie można scalić jej z liczbami zapisanymi przy użyciu formatu CMSketch .

  6. Uruchom eksperyment.

    Moduł tworzy przekształcenie cechowania, które może być stosowane jako dane wejściowe modułu Apply Transformation (Stosowanie przekształcenia ). Dane wyjściowe modułu Zastosuj transformację to przekształcony zestaw danych, który może służyć do trenowania modelu.

  7. Aby scalić ten zestaw liczników z istniejącym zestawem funkcji opartych na liczbach, zobacz Scalanie przekształcenia liczby.

Przykłady

Zobacz te artykuły, aby uzyskać więcej informacji na temat algorytmu zliczania i porównywania modelowania opartego na liczbach w porównaniu z innymi metodami.

Następujące eksperymenty w Azure AI Gallery pokazują , jak używać uczenia opartego na liczbach do tworzenia różnych modeli predykcyjnych:

Parametry modułu

Następujące parametry są używane ze wszystkimi opcjami:

Nazwa Typ Zakres Opcjonalne Domyślny Opis
Liczba klas Liczba całkowita >= 2 Wymagane 2 Liczba klas dla etykiety.
Bity funkcji skrótu Liczba całkowita [12;31] Wymagane 20 Liczba bitów zakresu funkcji skrótu.
Iniekcją funkcji skrótu Liczba całkowita dowolny Wymagane 1 Iniekt dla funkcji skrótu.
Typ modułu Wymagane Zestaw danych Typ modułu do użycia podczas generowania tabeli count.
Liczba typów tabel CountTableType wybieranie z listy Wymagane Słownik Określ format tabeli count.

Podczas wybierania opcji obiektu blob mają zastosowanie następujące opcje.

Nazwa Typ Zakres Opcjonalne Domyślny Opis
Nazwa obiektu blob Ciąg dowolny Wymagane Nazwa wejściowego obiektu blob. Nie dołączaj nazwy kontenera.
Nazwa konta Ciąg dowolny Wymagane Nazwa konta magazynu.
Klucz konta Securestring dowolny Wymagane Klucz konta magazynu.
Nazwa kontenera Ciąg dowolny Wymagane Kontener obiektów blob platformy Azure, który zawiera wejściowy obiekt blob.
Liczba kolumn Ciąg dowolny Wymagane Indeksy oparte na jednym z grup kolumn do wykonania zliczanie.
Kolumna etykiety Liczba całkowita >= 1 Wymagane 1 Jeden indeks kolumny etykiety.
Format obiektu blob dowolny Wymagane CSV Format pliku tekstowego obiektu blob.

Następujące parametry mają zastosowanie w przypadku używania MapReduce do generowania liczników:

Nazwa Typ Zakres Opcjonalne Domyślny Opis
Domyślna nazwa konta magazynu Ciąg dowolny Wymagane brak Nazwa konta magazynu zawierającego wejściowy obiekt blob.
Domyślny klucz konta magazynu Securestring dowolny Wymagane brak Klucz konta magazynu zawierającego wejściowy obiekt blob.
Domyślna nazwa kontenera Ciąg dowolny Wymagane brak Nazwa kontenera obiektów blob do napisania tabeli zliczania.
Cluster URI Ciąg dowolny Wymagane brak Uri to the HDInsight Hadoop cluster (URI klastra hadoop usługi HDInsight).
Nazwa użytkownika Ciąg dowolny Wymagane brak Nazwa użytkownika do logowania się do klastra hadoop usługi HDInsight.

Następujące parametry definiują format tabeli count:

Nazwa Typ Zakres Opcjonalne Domyślny Opis
Liczba typów tabel CountTableType Lista Wymagane Słownik Typ tabeli count.
Etykieta indeksu kolumny lub nazwy ColumnSelection Wymagane, jeśli tabela count została zapisana jako zestaw danych brak Wybierz kolumnę etykiety.
Wybieranie kolumn do zliczenia ColumnSelection Wymagane, jeśli tabela count została zapisana jako zestaw danych Wybierz kolumny do zliczania. Te kolumny są traktowane jako cechy kategorii.
Głębokość tabeli szkicu cmdł Liczba całkowita >= 1 Wymagane, jeśli tabela count używa formatu CMSketch 4 Głębokość tabeli szkicu CM, która jest równa liczbie funkcji wyznaczania wartości skrótu.
Szerokość tabeli szkiców CM Liczba całkowita [1;31] Wymagane, jeśli tabela count używa formatu CMSketch 20 Szerokość tabeli szkicu CM, która jest liczbą bitów zakresu funkcji skrótu.
Etykieta indeksu kolumny lub kolumny nazw ColumnSelection Wymagane, jeśli tabela count została zapisana jako zestaw danych Wybiera kolumnę etykiety.
Wybieranie kolumn do zliczenia ColumnSelection Wymagane, jeśli tabela count została zapisana jako zestaw danych Wybiera kolumny do zliczania. Te kolumny są traktowane jako cechy kategorii.
Liczba typów tabel Wymagane, jeśli tabela count została zapisana jako zestaw danych Słownik Określa typ tabeli count.
Głębokość tabeli szkicu cmdł Liczba całkowita >= 1 Wymagane, jeśli tabela count została zapisana jako CMSketch 4 Głębokość tabeli szkicu CM, która jest równa liczbie funkcji wyznaczania wartości skrótu.
Szerokość tabeli szkiców CM Liczba całkowita [1;31] Wymagane, jeśli tabela count została zapisana jako CMSketch 20 Szerokość tabeli szkicu CM, która jest liczbą bitów zakresu funkcji skrótu.

Dane wyjściowe

Nazwa Typ Opis
Przekształcenie zliczania ITransform, interfejs Przekształcenie zliczania.

Wyjątki

Wyjątek Opis
Błąd 0003 Wyjątek występuje, jeśli co najmniej jeden z wejść ma wartość null lub jest pusty.
Błąd 0004 Wyjątek występuje, jeśli parametr jest mniejszy lub równy określonej wartości.
Błąd 0005 Wyjątek występuje, jeśli parametr jest mniejszy niż określoną wartość.
Błąd 0007 Wyjątek występuje, jeśli parametr jest większy niż określonej wartości.
Błąd 0009 Wyjątek występuje, gdy nazwa konta magazynu platformy Azure lub nazwa kontenera jest niepoprawnie określona.
Błąd 0065 Wyjątek występuje, jeśli nazwa obiektu blob platformy Azure jest niepoprawnie określona.
Błąd 0011 Wyjątek występuje, jeśli przekazany argument zestawu kolumn nie ma zastosowania do żadnej kolumny zestawu danych.
Błąd 0049 Wyjątek występuje w przypadku, gdy nie jest możliwe analizowanie pliku.
Błąd 1000 Wyjątek biblioteki wewnętrznej.
Błąd 0059 Wyjątek występuje, gdy nie można analizowania indeksu kolumn określonego w s wyboru kolumny.
Błąd 0060 Wyjątek występuje, gdy w storze kolumn jest określony zakres kolumn poza zakresem.
Błąd 0089 Wyjątek występuje, gdy określona liczba klas jest mniejsza niż rzeczywista liczba klas w zestawie danych używanym do zliczania.

Aby uzyskać listę błędów specyficznych dla modułów programu Studio (wersja klasyczna), zobacz Machine Learning Kodów błędów.

Aby uzyskać listę wyjątków interfejsu API, zobacz Machine Learning API REST Error Codes (Kody błędów interfejsu API REST).

Zobacz też

Edukacja z liczbami