Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:
SQL Server 2019 és korábbi Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Fontos
Az adatbányászat elavult az SQL Server 2017 Analysis Servicesben, és megszűnt az SQL Server 2022 Analysis Servicesben. Az elavult és megszűnt funkciók dokumentációja nem frissül. További információkért tekintse meg az Analysis Services visszamenőleges kompatibilitását.
Az adatok betanítási és tesztelési csoportokba való elkülönítése fontos része az adatbányászati modellek kiértékelésének. Amikor egy adatkészletet betanítási és tesztelési csoportra választ el, az adatok nagy része betanításra, a teszteléshez pedig az adatok kisebb részét használja fel. Az SQL Server Analysis Services véletlenszerűen mintát vesz az adatokból, így biztosítható, hogy a tesztelési és betanítási csoportok hasonlóak legyenek. Ha hasonló adatokat használ betanításhoz és teszteléshez, minimalizálhatja az adateltérések hatásait, és jobban megértheti a modell jellemzőit.
Miután a betanítási készlettel feldolgozta a modellt, a modell teszteléséhez előrejelzéseket kell készítenie a tesztkészlettel. Mivel a tesztelési csoportban szereplő adatok már tartalmazzák az előrejelezni kívánt attribútum ismert értékeit, könnyen megállapítható, hogy a modell tippelései helyesek-e.
Teszt- és betanítási készletek létrehozása adatbányászati struktúrákhoz
Az SQL Server 2017-ben az eredeti adatkészletet a bányászati struktúra szintjén kell elkülöníteni. A betanítási és tesztelési adatkészletek méretéről, valamint arról, hogy melyik sor melyik halmazhoz tartozik, a rendszer a struktúrával együtt tárolja, és az ezen a struktúrán alapuló összes modell használhatja a készleteket a betanításhoz és teszteléshez.
A bányászati struktúrában a következő módokon határozhatja meg a tesztelési adatok készletét:
Az Adatbányászati varázsló használatával ossza fel a bányászati struktúrát annak létrehozása során.
A struktúratulajdonságok módosítása a Data Mining Designer Mining Structure lapján.
Struktúrák programozott létrehozása és módosítása Analysis Management Objects (AMO) vagy XML Data Definition Language (DDL) használatával.
Bányastruktúra felosztása az Adatbányászat varázslóval
Alapértelmezés szerint, miután definiálta a bányászati struktúra adatforrásait, az Adatbányászat varázsló két halmazra osztja az adatokat: egyet a forrásadatok 70 százalékával, a modell betanítására, egyet pedig a forrásadatok 30 százalékával a modell tesztelésére. Ez az alapértelmezett beállítás azért lett kiválasztva, mert az adatbányászatban gyakran 70–30 arányt használnak, de az SQL Server Analysis Services használatával ezt az arányt a követelményeknek megfelelően módosíthatja.
A varázslót úgy is konfigurálhatja, hogy beállítsa a betanítási esetek maximális számát, vagy kombinálhatja a korlátozásokat, hogy az esetek maximális százalékát egy megadott maximális esetszámig engedélyezze. Ha az esetek maximális százalékát és az esetek maximális számát is megadja, az SQL Server Analysis Services a két korlát közül a kisebbet használja a tesztkészlet méreteként. Ha például 30 százalékos mentességet ad meg a tesztelési esetekhez, és a tesztelési esetek maximális száma 1000, a tesztkészlet mérete soha nem haladja meg az 1000 esetet. Ez akkor lehet hasznos, ha azt szeretné, hogy a tesztkészlet mérete konzisztens maradjon, még akkor is, ha több betanítási adatot ad hozzá a modellhez.
Ha ugyanazt az adatforrásnézetet használja a különböző bányászati struktúrákhoz, és azt szeretné, hogy az adatok nagyjából ugyanúgy legyenek elosztva az összes bányászati szerkezethez és azok modelljeihez, meg kell adnia a véletlenszerű mintavételezés inicializálásához használt magot. A HoldoutSeed értékének megadásakor az SQL Server Analysis Services ezt az értéket fogja használni a mintavételezés megkezdéséhez. Ellenkező esetben a mintavételezés egy hash-algoritmust használ a bányászati szerkezet nevével a magérték létrehozásához.
Megjegyzés:
Ha az EXPORT és AZ IMPORT utasításokkal hozza létre a bányászati struktúra másolatát, az új bányászati struktúra ugyanazokkal a betanítási és tesztelési adatkészletekkel fog rendelkezni, mivel az exportálási folyamat új azonosítót hoz létre, de ugyanazt a nevet használja. Ha azonban két bányászati szerkezet ugyanazt az alapul szolgáló adatforrást használja, de eltérő a neve, akkor az egyes bányászati struktúrákhoz létrehozott készletek eltérőek lesznek.
Struktúratulajdonságok módosítása tesztadatkészlet létrehozásához
Ha létrehoz és feldolgoz egy bányászati struktúrát, majd később úgy dönt, hogy egy tesztadatkészletet szeretne félretenni, módosíthatja a bányászati struktúra tulajdonságait. Az adatok particionálási módjának módosításához módosítsa a következő tulajdonságokat:
| Ingatlan | Description |
|---|---|
| HoldoutMaxCases | Megadja a tesztelési csoportban felvehető esetek maximális számát. |
| HoldoutMaxPercent | Megadja a tesztelési csoportban a teljes adatkészlet százalékos arányában felvenni kívánt esetek számát. Ha nincs adatkészlete, a 0 értéket kell megadnia. |
| HoldoutSeed | A partíciók adatainak véletlenszerű kiválasztásakor a magként használandó egész számértéket adja meg. Ez az érték nem befolyásolja a betanítási csoportban lévő esetek számát; ehelyett biztosítja, hogy a partíció ismételhető legyen. |
Ha egy tesztadatkészletet egy meglévő struktúrára ad hozzá vagy módosít, újra kell feldolgoznia a struktúrát és az összes társított modellt. Az is lehetséges, hogy mivel a forrásadatok megosztása a modell egy másik adattartományon való betanítását eredményezi, eltérő eredményeket tapasztalhat a modelljével.
Holdout programozás szerinti megadása
DMX-utasítások, AMO vagy XML DDL használatával definiálhat tesztelési és betanítási adatkészleteket egy bányászati struktúrában. Az ALTER MINING STRUCTURE utasítás nem támogatja a visszatartott paraméterek használatát.
A DMX nyelvben, amely az adatbányászati bővítményeket jelenti, a CREATE MINING STRUCTURE utasítást kiegészítették a WITH HOLDOUT záradékkal.
ASSL Létrehozhat egy új bányászati struktúrát, vagy hozzáadhat egy tesztelési adatkészletet egy meglévő bányászati struktúrához az SQL Server Analysis Services scripting Language (ASSL) használatával.
AMO A visszatartott adatkészleteket az AMO használatával is megtekintheti és módosíthatja.
Az adatbányászati séma sorkészletének lekérdezésével megtekintheti a meglévő bányászati struktúrában lévő visszatartott adatokra vonatkozó információkat. Ezt egy DISCOVER ROWSET-hívással vagy DMX-lekérdezéssel teheti meg.
Adatok lekérése a visszatartott adatokról
Alapértelmezés szerint a betanítási és tesztelési adatkészletekkel kapcsolatos összes információ gyorsítótárazva van, így meglévő adatokkal taníthatja be és tesztelheti az új modelleket. A gyorsítótárazott visszatartási adatokra alkalmazandó szűrőket is meghatározhat, hogy kiértékelhesse a modellt az adatok részhalmazai alapján.
Az esetek betanítási és tesztelési adatkészletekre való felosztásának módja a holdout konfigurálásától és a megadott adatoktól függ. Ha meg szeretné határozni a betanításhoz vagy teszteléshez használt esetek számát, vagy ha további részleteket szeretne megtudni a betanítási és tesztkészletekben szereplő esetekről, egy DMX-lekérdezés létrehozásával lekérdezheti a modell struktúráját. Az alábbi lekérdezés például a modell betanítási készletében használt eseteket adja vissza.
SELECT * from <structure>.CASES WHERE IsTrainingCase()
Ha csak a teszteseteket szeretné lekérni, és a teszteseteket a bányászati szerkezet egyik oszlopára szeretné szűrni, használja a következő szintaxist:
SELECT * from <structure>.CASES WHERE IsTestCase() AND <structure column name> = '<value>'
A visszatartott adatok használatára vonatkozó korlátozások
A holdout használatához a MiningStructureCacheMode bányászati struktúra tulajdonságát az alapértelmezett, KeepTrainingCases értékre kell állítani. Ha a CacheMode tulajdonságot ClearAfterProcessingre módosítja, majd újra feldolgozza a bányászati struktúrát, a partíció elveszik.
Nem távolíthat el adatokat egy idősormodellből; Ezért a forrásadatok nem különíthetők el betanítási és tesztelési csoportokra. Ha bányászati struktúrát és modellt kezd létrehozni, és a Microsoft Time Series algoritmust választja, a visszatartott adatkészletek létrehozásának lehetősége le van tiltva. A visszatartott adatok használata akkor is le van tiltva, ha a bányászati struktúra egy KEY TIME oszlopot tartalmaz az eset vagy a beágyazott tábla szintjén.
Véletlenül úgy konfigurálható a visszatartott adatkészlet, hogy a teljes adatkészletet a teszteléshez használják, és a betanításhoz nem marad adat. Ha azonban így tesz, az SQL Server Analysis Services hibát jelez, hogy kijavíthassa a problémát. Az SQL Server Analysis Services a struktúra feldolgozásakor is figyelmezteti, ha az adatok több mint 50 százaléka tesztelésre van kiállítva.
A legtöbb esetben a 30 alapértelmezett visszatartott érték jó egyensúlyt biztosít a betanítási és tesztelési adatok között. Nincs egyszerű módja annak meghatározására, hogy az adathalmaz mekkora legyen, hogy elegendő betanítást biztosítson, vagy hogy a betanítási csoport mennyire lehet ritka, és továbbra is elkerülheti a túlillesztést. A modell létrehozása után azonban keresztérvényesítéssel értékelheti az adatkészletet egy adott modell tekintetében.
Az előző táblázatban felsorolt tulajdonságok mellett a HoldoutActualSize írásvédett tulajdonság is elérhető az AMO-ban és az XML DDL-ben. Mivel azonban a partíció tényleges mérete csak a struktúra feldolgozása után határozható meg pontosan, a HoldoutActualSize tulajdonság értékének lekérése előtt ellenőriznie kell, hogy a modell feldolgozásra került-e.
Lásd még:
Adatbányászati eszközök
Adatbányászati fogalmak
Adatbányászati megoldások
Tesztelés és érvényesítés (adatbányászat)