Dzielenie danych przy użyciu podziału polecania

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.

W tym artykule opisano sposób użycia opcji Podział modułu polecania w module Split Data (Podział danych) programu Machine Learning Studio (wersja klasyczna). Ta opcja jest przydatna, gdy trzeba przygotować zestawy danych do trenowania i testowania do użycia z modelem rekomendacji. Te modele nie tylko wymagają określonego formatu, ale mogą być bardzo trudne do podzielenia klasyfikacji, użytkowników i elementów w zrównoważony sposób bez użycia specjalnych narzędzi.

Uwaga

Dotyczy: tylko Machine Learning Studio (klasyczne)

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

Opcja Podziału polecania ułatwia ten proces, prosząc o typ modelu rekomendacji, z który pracujesz: na przykład czy zalecasz elementy, sugerujesz ocenę lub znajdowanie powiązanych użytkowników? Następnie dzieli zestaw danych według określonych kryteriów, takich jak sposób obsługi zimnych użytkowników lub zimnych elementów.

Podczas dzielenia zestawów danych moduł zwraca dwa zestawy danych, jeden przeznaczony do trenowania, a drugi do testowania lub oceny modelu. Jeśli wejściowy zestaw danych zawiera dodatkowe dane na wystąpienie (takie jak klasyfikacje), zostaną zachowane w danych wyjściowych.

Aby uzyskać ogólne informacje na temat partycjonowania danych dla eksperymentów uczenia maszynowego, zobacz

Inne opcje w module Split Data (Podział danych ) obsługują różne sposoby dzielenia danych:

Dzielenie zestawu danych używanego przez model rekomendacji

Opcja Podział polecania jest dostępna specjalnie dla danych używanych do trenowania systemów rekomendacji.

Przed użyciem tej opcji upewnij się, że dane są w zgodnym formacie. Rozdzielacz polecania działa przy założeniu, że zestaw danych składa się tylko z par elementów użytkownika lub trójliter klasyfikacji elementów użytkownika. Aby uzyskać szczegółowe informacje, zobacz Wymagania dotyczące danych wejściowych w tym artykule.

  1. Dodaj moduł Split Data (Podział danych) do eksperymentu i połącz go jako dane wejściowe z zestawem danych, który chcesz podzielić.

  2. W przypadku opcji Tryb dzielenia wybierz pozycję Podział polecania.

  3. Ustaw następujące opcje, aby kontrolować sposób dzielić wartości. Określ wartość procentową reprezentowaną jako liczba z wartości od 0 do 1.

    • Ułamek użytkowników tylko do trenowania: określ ułamek użytkowników, którzy powinni być przypisani tylko do zestawu danych szkoleniowych. Oznacza to, że wiersze nigdy nie będą używane do testowania modelu.

    • Część klasyfikacji użytkowników testowych do trenowania: określ, że część zebranych ocen użytkowników może być używana do trenowania.

    • Ułamek zimnych użytkowników: Użytkownicy zimni to użytkownicy, których system nie napotkał wcześniej. Zazwyczaj, ponieważ system nie ma informacji o tych użytkownikach, są one przydatne do trenowania, ale przewidywania mogą być mniej dokładne.

    • Ułamek zimnych elementów: Zimne elementy to elementy, których system nie napotkał wcześniej. Ponieważ system nie ma informacji o tych elementach, są one przydatne do trenowania, ale przewidywania mogą być mniej dokładne.

    • Ułamek ignorowanych użytkowników: ta opcja umożliwia polecania ignorowanie niektórych użytkowników, co umożliwia trenowanie modelu na podzestawie danych. Może to być przydatne ze względu na wydajność. Należy określić procent użytkowników, którzy mają być ignorowani.

    • Ułamek ignorowanych elementów: rozdzielacz polecania może ignorować niektóre elementy i trenować model na podzestawie danych. Może to być przydatne ze względu na wydajność. Należy określić procent elementów do zignorowania.

  4. Usuń sporadycznie produkowane zimne elementy: Ta opcja jest zwykle ustawiona na zero, aby upewnić się, że wszystkie jednostki w zestawie testowym są uwzględnione w zestawie treningowym.

    Element jest "czasami zimny", jeśli jest objęty tylko zestawem testowym i nie został jawnie wybrany jako zimny. Takie elementy można utworzyć za pomocą kroków (4) i (6) w algorytmie opisanym w sekcji Sposób dzielenia danych polecania .

  5. Iniekcjator losowy: określ wartość iniekcyjną, jeśli chcesz za każdym razem podzielić dane w taki sam sposób. W przeciwnym razie domyślnie dane wejściowe są losowo podzielone, przy użyciu wartości zegara systemowego jako iniekcją.

  6. Uruchom eksperyment.

Przykłady

Aby zapoznać się z przykładami dzielenia zestawu klasyfikacji i funkcji używanych do trenowania lub testowania modelu rekomendacji, zalecamy przejrzenie przewodnika dostarczonego wraz z tym przykładowym eksperymentem w przewodniku Azure AI Gallery: Movie Recommendation (Zalecenia dotyczące filmów)

Uwagi techniczne

Ta sekcja zawiera szczegóły implementacji, porady i odpowiedzi na często zadawane pytania.

Wymagania dotyczące danych wejściowych

Rozdzielacz polecania działa przy założeniu, że zestaw danych składa się tylko z par elementów użytkownika lub trójliter klasyfikacji elementów użytkownika. W związku z tym moduł Split Data ( Podział danych) nie może działać w przypadku zestawów danych, które mają więcej niż trzy kolumny, aby uniknąć nieporozumień z danymi typu funkcji.

Jeśli zestaw danych zawiera zbyt wiele kolumn, może wystąpić ten błąd:

Błąd 0022: Liczba wybranych kolumn w wejściowym zestawie danych nie jest równa x

Aby obejść ten problem, możesz użyć opcji Wybierz kolumny w zestawie danych , aby usunąć niektóre kolumny. Kolumny można zawsze dodać później, korzystając z modułu Dodawanie kolumn .

Alternatywnie, jeśli zestaw danych ma wiele funkcji, których chcesz użyć w modelu, podziel zestaw danych przy użyciu innej opcji i wytrenuj model przy użyciu polecenia Train Model (Trenowanie modelu), a nie Train Matchbox Recommender (Trenowanie polecenia matchbox).

Aby uzyskać szczegółowe informacje na temat obsługiwanych formatów danych, zobacz Train Matchbox Recommender (Trenuj program matchbox recommender).

Porady dotyczące użycia

  • Jeśli zestaw danych nie zawiera co najmniej dwóch wierszy, zostanie podniesiony błąd.

  • Jeśli określisz liczbę jako wartość procentową lub użyjemy ciągu zawierającego znak "%", wartość będzie interpretowana jako wartość procentowa.

    Wszystkie wartości procentowe muszą znajdować się w zakresie (0, 100), bez uwzględnienia wartości 0 i 100.

  • Jeśli określisz liczbę lub wartość procentową, która jest liczbą zmiennoprzecinkową mniejszą niż jeden, i nie użyjemy symbolu procentu (%), liczba jest interpretowana jako wartość proporcjonalna.

Szczegóły implementacji

Podczas dzielenia danych na zestawy treningowe i testowe do użycia z modelem rekomendacji jest używany następujący algorytm:

  1. Żądany ułamek ignorowanych elementów jest usuwany ze wszystkimi powiązanymi obserwacjami.

  2. Żądana część zimnych elementów jest przenoszony do zestawu testowego ze wszystkimi skojarzonymi obserwacjami.

  3. Żądany ułamek ignorowanych użytkowników, którzy pozostają po pierwszych dwóch krokach, jest usuwany wraz ze wszystkimi powiązanymi obserwacjami.

  4. Żądany ułamek zimnych użytkowników, którzy pozostają po pierwszych dwóch krokach, jest przenoszony do zestawu testowego ze wszystkimi skojarzonymi obserwacjami.

  5. Żądany ułamek użytkowników tylko do trenowania, które pozostają po dwóch pierwszych krokach, jest przenoszony do zestawu treningowego ze wszystkimi skojarzonymi obserwacjami.

  6. Dla każdego użytkownika, który pozostanie po wszystkich poprzednich krokach, żądana część klasyfikacji użytkowników testowych do trenowania jest przenoszony do zestawu treningowego, a pozostała jest przenoszony do zestawu testowego.

    Co najmniej jedna obserwacja jest zawsze przenoszony do zestawu treningowego dla każdego użytkownika.

  7. Jeśli jest to wymagane, wystąpienia, które są skojarzone z okazjonalnie produkowane zimnymi elementami, można usunąć z zestawu testowego.

    Element jest "czasami zimny", jeśli jest objęty tylko zestawem testowym i nie został jawnie wybrany jako zimny. Takie elementy mogą być wykonywane w krokach (4) i (6).

    Przewidywanym użyciem tej opcji jest to, że żądana liczba zimnych użytkowników i elementów jest ustawiona na zero. Dzięki temu wszystkie jednostki w zestawie testowym zostaną uwzględnione w zestawie treningowym.

Zobacz też

Dzielenie danychPartitioni Split