Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:
SQL Server 2019 i starsze usługi Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Ważne
Funkcja wyszukiwania danych została uznana za przestarzałą w usługach SQL Server 2017 Analysis Services i została zakończona w usługach SQL Server 2022 Analysis Services. Dokumentacja nie jest aktualizowana dla przestarzałych i wycofanych funkcji. Aby dowiedzieć się więcej, zobacz zgodność z poprzednimi wersjami usług Analysis Services.
Rozdzielenie danych na zestawy trenowania i testowania jest ważną częścią oceny modeli wyszukiwania danych. Zazwyczaj podczas oddzielania zestawu danych do zestawu treningowego i zestawu testowania większość danych jest używana do trenowania, a mniejsza część danych jest używana do testowania. Usługi SQL Server Analysis Services losowo próbkują dane, aby zapewnić, że zestawy testowania i trenowania są podobne. Korzystając z podobnych danych do trenowania i testowania, można zminimalizować skutki rozbieżności danych i lepiej zrozumieć cechy modelu.
Po przetworzeniu modelu przy użyciu zestawu treningowego przetestujesz model, tworząc przewidywania względem zestawu testów. Ponieważ dane w zestawie testów zawierają już znane wartości atrybutu, który chcesz przewidzieć, łatwo jest określić, czy odgadnięcia modelu są poprawne.
Tworzenie zestawów testowych i szkoleniowych dla struktur wyszukiwania danych
W SQL Server 2017 oddzielasz oryginalny zestaw danych na poziomie struktury analizy danych. Informacje o rozmiarze zestawów danych trenowania i testowania oraz o tym, który wiersz należy do zestawu, są przechowywane ze strukturą, oraz wszystkie modele oparte na tej strukturze mogą używać zestawów do trenowania i testowania.
Zestaw danych testowych można zdefiniować w strukturze wydobywczej w następujący sposób:
Użyj Kreatora wyszukiwania danych, aby podzielić strukturę wyszukiwania podczas jego tworzenia.
Na karcie Struktura wydobywcza w Projektancie Eksploracji Danych modyfikowanie właściwości struktury.
Programowe tworzenie i modyfikowanie struktur przy użyciu obiektów zarządzania analizami (AMO) lub XML Data Definition Language (DDL).
Używanie Kreatora wyszukiwania danych do dzielenia struktury wyszukiwania
Domyślnie po zdefiniowaniu źródeł danych dla struktury wyszukiwania Kreator wyszukiwania danych podzieli dane na dwa zestawy: jeden z 70 procentami danych źródłowych, na potrzeby trenowania modelu, a drugi z 30 procentami danych źródłowych na potrzeby testowania modelu. Ta wartość domyślna została wybrana, ponieważ współczynnik 70–30 jest często używany w wyszukiwaniach danych, ale w usługach SQL Server Analysis Services można zmienić ten stosunek zgodnie z wymaganiami.
Można również skonfigurować kreatora, aby ustawić maksymalną liczbę przypadków trenowania lub połączyć limity, aby umożliwić maksymalny procent przypadków do określonej maksymalnej liczby przypadków. Po określeniu maksymalnej wartości procentowej przypadków i maksymalnej liczbie przypadków usługi SQL Server Analysis Services używają mniejszych z dwóch limitów jako rozmiaru zestawu testów. Jeśli na przykład określisz 30 procent wstrzymania dla przypadków testowych i maksymalną liczbę przypadków testowych jako 1000, rozmiar zestawu testów nigdy nie przekroczy 1000 przypadków. Może to być przydatne, jeśli chcesz mieć pewność, że rozmiar zestawu testowego pozostanie spójny nawet w przypadku dodania większej liczby danych treningowych do modelu.
Jeśli korzystasz z tego samego widoku źródła danych dla różnych struktur wydobywczych i chcesz zapewnić, że dane są podzielone w mniej więcej taki sam sposób dla wszystkich struktur wydobywczych i ich modeli, powinieneś określić ziarno używane do inicjowania próbkowania losowego. Po określeniu wartości holdoutSeed usługi SQL Server Analysis Services będą używać tej wartości do rozpoczęcia próbkowania. W przeciwnym razie próbkowanie używa algorytmu haszującego na nazwie struktury wydobywczej w celu wygenerowania wartości nasion.
Uwaga / Notatka
Jeśli tworzysz kopię struktury wydobywczej przy użyciu instrukcji EXPORT i IMPORT, nowa struktura wydobywcza będzie mieć te same zestawy danych szkoleniowych i testowych, ponieważ proces eksportowania tworzy nowy identyfikator, ale używa tej samej nazwy. Jeśli jednak dwie struktury wyszukiwania używają tego samego bazowego źródła danych, ale mają różne nazwy, zestawy tworzone dla każdej struktury wyszukiwania będą różne.
Modyfikowanie właściwości struktury w celu utworzenia zestawu danych testowych
Jeśli tworzysz i przetwarzasz strukturę danych górniczych, a następnie zdecydujesz, że chcesz wydzielić zestaw danych testowych, możesz zmodyfikować właściwości struktury danych górniczych. Aby zmienić sposób partycjonowania danych, edytuj następujące właściwości:
| Majątek | Description |
|---|---|
| HoldoutMaxCases | Określa maksymalną liczbę przypadków do uwzględnienia w zestawie testów. |
| Holdoutmaxpercent | Określa liczbę przypadków do uwzględnienia w zestawie testów jako procent kompletnego zestawu danych. Aby nie mieć zestawu danych, należy określić wartość 0. |
| Holdoutseed | Określa wartość całkowitą, która ma być używana jako ziarno podczas losowego wybierania danych dla partycji. Ta wartość nie ma wpływu na liczbę przypadków w zestawie treningowym; Zamiast tego gwarantuje, że partycja może być powtarzana. |
Jeśli dodasz lub zmienisz zestaw danych testowych na istniejącą strukturę, musisz ponownie przetworzyć strukturę i wszystkie skojarzone modele. Dodatkowo, ponieważ podzielenie danych źródłowych powoduje, że model zostaje wytrenowany na innym podzbiorze danych, możesz zauważyć inne wyniki od swojego modelu.
Programowe określanie blokady
Zestawy danych testowania i trenowania można definiować w strukturze przetwarzania danych przy użyciu instrukcji DMX, AMO lub XML DDL. Instrukcja ALTER MINING STRUCTURE nie obsługuje używania parametrów holdout.
DMX W języku rozszerzeń wyszukiwania danych (DMX) instrukcja CREATE MINING STRUCTURE została rozszerzona w celu uwzględnienia klauzuli WITH HOLDOUT.
ASSL Możesz utworzyć nową strukturę wyszukiwania lub dodać zestaw danych testowych do istniejącej struktury wyszukiwania przy użyciu języka skryptowego usług SQL Server Analysis Services (ASSL).
AMO Zestawy danych blokady można również wyświetlać i modyfikować przy użyciu funkcji AMO..
Informacje o zestawie danych holdout można wyświetlić w istniejącej strukturze wyszukiwania, wysyłając zapytanie do zestawu wierszy schematu wyszukiwania danych. Można to zrobić, wykonując wywołanie DISCOVER ROWSET lub używając zapytania DMX.
Pobieranie informacji o danych wstrzymania
Domyślnie wszystkie informacje o zestawach danych trenowania i testowania są buforowane, dzięki czemu można użyć istniejących danych do trenowania, a następnie testowania nowych modeli. Można również zdefiniować filtry, które mają być stosowane do danych testowych, aby można było ocenić model na podzbiorach danych.
Sposób dzielenia przypadków na zestawy danych do trenowania i testowania zależy od sposobu, w jaki konfigurujesz podział na zbiór testowy, oraz od danych, które podajesz. Jeśli chcesz określić liczbę przypadków używanych do trenowania lub testowania, lub jeśli chcesz znaleźć dodatkowe szczegóły dotyczące przypadków uwzględnionych w zestawach treningowych i testowych, możesz wykonać zapytanie dotyczące struktury modelu, tworząc zapytanie DMX. Na przykład następujące zapytanie zwraca przypadki, które zostały użyte w zestawie treningowym modelu.
SELECT * from <structure>.CASES WHERE IsTrainingCase()
Aby pobrać tylko przypadki testowe i dodatkowo filtrować przypadki testowe w jednej z kolumn w strukturze wyszukiwania, użyj następującej składni:
SELECT * from <structure>.CASES WHERE IsTestCase() AND <structure column name> = '<value>'
Ograniczenia dotyczące używania danych testowych (holdout)
Aby użyć blokady, MiningStructureCacheMode właściwość struktury wyszukiwania musi być ustawiona na wartość domyślną KeepTrainingCases. Jeśli zmienisz właściwość CacheMode na ClearAfterProcessing, a następnie przetworzysz ponownie strukturę danych do eksploracji, partycja zostanie utracona.
Nie można usunąć danych z modelu szeregów czasowych, dlatego nie można oddzielić danych źródłowych na zestawy trenowania i testowania. Jeśli zaczniesz tworzyć strukturę wydobywania i model i wybierzesz algorytm serii czasowych firmy Microsoft, opcja utworzenia zestawu danych testowych jest wyłączona. Użycie danych testowych jest również wyłączone, jeśli struktura danych zawiera kolumnę KEY TIME na poziomie tabeli przypadków lub zagnieżdżonej tabeli.
Istnieje możliwość niezamierzonego skonfigurowania zestawu danych walidacyjnych, tak aby kompletny zestaw danych był używany do testowania, a żadne dane nie zostawały do celów trenowania. Jeśli jednak to zrobisz, usługi SQL Server Analysis Services spowodują wystąpienie błędu, aby można było rozwiązać ten problem. Usługi SQL Server Analysis Services ostrzegają również, kiedy struktura jest przetwarzana, jeśli ponad 50 procent danych zostało wstrzymanych na potrzeby testowania.
W większości przypadków domyślna wartość blokady 30 zapewnia dobrą równowagę między danymi treningowym i testowym. Nie ma prostego sposobu określenia, jak duży powinien być zestaw danych, aby zapewnić wystarczające możliwości treningu, ani jak nieliczny może być zestaw danych i nadal skutecznie unikać nadmiernego dopasowania. Jednak po utworzeniu modelu można użyć krzyżowej walidacji, aby ocenić zestaw danych w odniesieniu do określonego modelu.
Oprócz właściwości wymienionych w poprzedniej tabeli właściwość tylko do odczytu HoldoutActualSize jest udostępniana w AMO i XML DDL. Jednak ponieważ rzeczywisty rozmiar partycji nie może być dokładnie określony do momentu przetworzenia struktury, należy sprawdzić, czy model został przetworzony przed pobraniem wartości właściwości HoldoutActualSize .
Zobacz też
Narzędzia do wyszukiwania danych
Pojęcia dotyczące wyszukiwania danych
Rozwiązania do wyszukiwania danych
Testowanie i walidacja (eksploracja danych)