Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
SQL Server 2019 en eerder Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Belangrijk
Data mining werd verouderd verklaard in SQL Server 2017 Analysis Services en is nu stopgezet in SQL Server 2022 Analysis Services. Documentatie wordt niet bijgewerkt voor afgeschafte en stopgezette functies. Zie Analysis Services-compatibiliteit met eerdere versies voor meer informatie.
Het correct verwerken van ontbrekende waarden is belangrijk voor effectieve modellering. In deze sectie worden ontbrekende waarden uitgelegd en wordt uitgelegd hoe u SQL Server Analysis Services functies kunt gebruiken om deze te verwerken bij het bouwen van gegevensanalysestructuren en -modellen.
Definitie van ontbrekende waarden in gegevensanalyse
Een ontbrekende waarde kan een aantal verschillende dingen betekenen. Het veld is mogelijk niet van toepassing, de gebeurtenis is niet uitgevoerd of de gegevens zijn niet beschikbaar. Het kan zijn dat de persoon die de gegevens heeft ingevoerd, de juiste waarde niet wist of het niet uitmaakt of een veld niet is ingevuld.
Ontbrekende waarden bieden belangrijke informatie in veel scenario's voor gegevensanalyse. De betekenis van de ontbrekende waarden is grotendeels afhankelijk van context. Een ontbrekende waarde voor de datum in een lijst met facturen heeft bijvoorbeeld een aanzienlijke andere betekenis dan het ontbreken van een datum in een kolom die de aanname van een werknemer aangeeft. Over het algemeen behandelt SQL Server Analysis Services ontbrekende waarden als informatief en past u de waarschijnlijkheden aan om de ontbrekende waarden op te nemen in de berekeningen. Door dit te doen, kunt u ervoor zorgen dat modellen evenwichtig zijn en bestaande gevallen niet te zwaar wegen.
SQL Server Analysis Services biedt twee mechanismen voor het verwerken van ontbrekende waarden. De eerste methode regelt de verwerking van null-waarden in de miningstructuur. Elk algoritme implementeert de tweede methode anders om ontbrekende waarden te verwerken en te tellen in modellen die null-waarden toestaan.
Het opgeven van de verwerking van null-waarden
Uw gegevensbron vertegenwoordigt mogelijk ontbrekende waarden als null-waarden, lege spreadsheetcellen N/A of een andere code, of een kunstmatige waarde, zoals 9999. Voor gegevensanalyse worden echter alleen null-waarden beschouwd als ontbrekende waarden. Als uw gegevens tijdelijke aanduidingen bevatten in plaats van nullen, kunnen ze van invloed zijn op de resultaten van het model. Vervang ze daarom door nullen of leid indien mogelijk de juiste waarden af. Er zijn verschillende hulpprogramma's die u kunt gebruiken om de juiste waarden af te afleiden en in te vullen, zoals de opzoektransformatie of de gegevensprofieltaak in SQL Server Integration Services, of het hulpprogramma Fill By Example in de data mining-Add-Ins voor Excel.
Als de taak die u modelleert geen ontbrekende waarden in een kolom toestaat, past u de NOT_NULL vlag voor modellering toe wanneer u de mijnbouwstructuur definieert. Deze vlag geeft aan dat de verwerking moet mislukken als een case geen geschikte waarde heeft. Als deze fout optreedt bij het verwerken van een model, kunt u de fout vastleggen en stappen uitvoeren om de gegevens te corrigeren die aan het model worden geleverd.
Berekening van de ontbrekende status
Gegevensanalysealgoritmen behandelen ontbrekende waarden als informatief. Bij tabellen is Ontbreekt een geldige status. Een gegevensanalysemodel kan andere waarden gebruiken om te voorspellen of een waarde ontbreekt, dus een ontbrekende waarde is geen fout.
Wanneer u een mijnbouwmodel maakt, wordt er automatisch een ontbrekende status toegevoegd aan het model voor alle afzonderlijke kolommen. Als de invoerkolom [Geslacht] bijvoorbeeld de waarden Mannelijk en Vrouwelijk bevat, voegt het model een derde waarde toe, Ontbrekend. Het histogram van de kolom bevat het aantal gevallen met de status Ontbrekend . Als in de kolom Geslacht geen waarden ontbreken, ziet u in het histogram dat de status Ontbreekt in 0 gevallen wordt gevonden.
De reden voor het standaard opnemen van de ontbrekende status wordt duidelijk wanneer u denkt dat uw gegevens mogelijk geen voorbeelden van alle mogelijke waarden hebben en u niet wilt dat het model de mogelijkheid uitsluit, alleen omdat er geen voorbeeld in de gegevens was. Als bijvoorbeeld verkoopgegevens voor een winkel laten zien dat alle klanten die een bepaald product hebben gekocht, vrouwen waren, zou u geen model willen maken dat voorspelt dat alleen vrouwen het product konden kopen. In plaats daarvan voegt SQL Server Analysis Services een tijdelijke aanduiding toe voor de extra onbekende waarde, ontbrekend genoemd, als een manier om mogelijke andere statussen in te sluiten.
In de volgende tabel ziet u bijvoorbeeld de verdeling van waarden voor het knooppunt (Alle) in het beslissingsstructuurmodel dat is gemaakt voor de zelfstudie Bike Buyer. In het voorbeeldscenario is de kolom [Bike Buyer] het voorspelbare kenmerk, waarbij 1 'Ja' aangeeft en 0 'Nee' aangeeft.
| Waarde | Aanvragen |
|---|---|
| 0 | 9296 |
| 1 | 9098 |
| Vermist | 0 |
De distributie laat zien dat ongeveer de helft van de klanten een fiets koopt en de helft niet. Elk geval in deze gegevensset heeft een waarde in de kolom [Bike Buyer], dus het aantal ontbrekende waarden is nul. Als een case een null bevat in het veld [Bike Buyer], SQL Server Analysis Services die rij als een case telt met een ontbrekende waarde.
Als de invoer een doorlopende kolom is, bevat het model twee mogelijke statussen voor het kenmerk: Bestaand en Ontbreekt. Met andere woorden: de kolom bevat een waarde van een bepaald numeriek gegevenstype of bevat geen waarde. Voor gevallen met een waarde berekent het model het gemiddelde, de standaarddeviatie en andere zinvolle statistieken. Voor gevallen zonder waarde biedt het model het aantal ontbrekende vales en past de voorspellingen dienovereenkomstig aan. De methode voor het aanpassen van de voorspelling verschilt afhankelijk van het algoritme en wordt beschreven in de volgende sectie.
Opmerking
Voor kenmerken in een geneste tabel zijn ontbrekende waarden niet informatief. Als een klant bijvoorbeeld geen product koopt, heeft de geneste tabel Products geen rij voor dat product, en maakt het dataminingmodel er dus geen attribuut voor. Als u klanten zonder aankopen van bepaalde producten wilt identificeren, gebruikt u een NOT EXISTS-instructie in het modelfilter om te filteren op producten die niet bestaan in de geneste tabel. Zie Een filter toepassen op een mijnbouwmodel voor meer informatie.
De kans op ontbrekende statussen aanpassen
Naast het tellen van waarden berekent SQL Server Analysis Services de waarschijnlijkheid van een willekeurige waarde in de gegevensset. Dezelfde berekening is van toepassing op de ontbrekende waarde. In de volgende tabel ziet u bijvoorbeeld de waarschijnlijkheden voor de gevallen in het vorige voorbeeld:
| Waarde | Aanvragen | Waarschijnlijkheid |
|---|---|---|
| 0 | 9296 | 50,55% |
| 1 | 9098 | 49.42% |
| Vermist | 0 | 0,03% |
Het lijkt misschien vreemd dat de kans op de ontbrekende waarde 0,03%is, wanneer het aantal gevallen 0 is. Dit gedrag is standaard en vertegenwoordigt een aanpassing waarmee het model onbekende waarden probleemloos kan verwerken.
In het algemeen wordt kans berekend als de gunstige gevallen gedeeld door alle mogelijke gevallen. In dit voorbeeld berekent het algoritme de som van de gevallen die voldoen aan een bepaalde voorwaarde ([Bike Buyer] = 1 of [Bike Buyer] = 0) en deelt dit getal door het totale aantal rijen. Om rekening te houden met de ontbrekende gevallen, voegt het algoritme 1 toe aan het aantal mogelijke gevallen. Als gevolg hiervan is de waarschijnlijkheid voor het onbekende geval niet langer nul, maar een zeer klein getal, wat aangeeft dat de toestand slechts onwaarschijnlijk is, niet onmogelijk.
De kleine ontbrekende waarde wijzigt de voorspelling niet, maar verbetert de modellering wanneer historische gegevens niet alle mogelijke resultaten bevatten.
Opmerking
Gegevensanalyseproviders verwerken ontbrekende waarden anders. Sommige aanbieders behandelen bijvoorbeeld ontbrekende gegevens in een geneste kolom als een sparse representatie en ontbrekende gegevens in een niet-geneste kolom als willekeurig ontbrekend.
Als uw gegevens elk resultaat specificeren, stelt u de NOT_NULL modelleringsvlag in op de kolom mijnstructuur om waarschijnlijkheidsaanpassingen te voorkomen.
Opmerking
Elk algoritme, inclusief een aangepast algoritme van een invoegtoepassing van derden, kan ontbrekende waarden op een andere manier verwerken.
Speciale verwerking van ontbrekende waarden in beslissingsstructuurmodellen
Het Microsoft Decision Trees-algoritme berekent kans op ontbrekende waarden anders dan andere algoritmen. In plaats van er een toe te voegen aan het totale aantal gevallen, gebruikt het algoritme een andere formule om de ontbrekende status aan te passen.
Gebruik in een beslissingsstructuurmodel de volgende formule om de kans op de ontbrekende status te berekenen:
StateProbability = (KnooppuntA-priorikans) * (ToestandOndersteuning + 1) / (KnooppuntOndersteuning + TotaalAantallenToestanden)
Het algoritme Decision Trees biedt een extra aanpassing waarmee het algoritme de aanwezigheid van filters op het model kan compenseren, waardoor veel statussen tijdens de training kunnen worden uitgesloten.
Als in SQL Server 2017 een status aanwezig is tijdens de training, maar geen ondersteuning heeft in een bepaald knooppunt, wordt de standaardaanpassing door het algoritme uitgevoerd. Als tijdens de training echter nooit een status wordt aangetroffen, stelt het algoritme de waarschijnlijkheid in op exact nul. Deze aanpassing is niet alleen van toepassing op de ontbrekende status, maar ook op andere statussen die aanwezig zijn in de trainingsgegevens, maar geen ondersteuning hebben als gevolg van modelfiltering.
Deze aanvullende aanpassing resulteert in de volgende formule:
StateProbability = 0,0 als die status 0 ondersteuning heeft in de trainingsset
ELSE StateProbability = (NodePriorProbability)* (StateSupport + 1) / (NodeSupport + TotalStatesWithNonZeroSupport)
Het netto-effect van deze aanpassing is het handhaven van de stabiliteit van de boom.
Gerelateerde taken
In deze resources wordt uitgelegd hoe u ontbrekende waarden kunt verwerken.
| Tasks | Links |
|---|---|
| Vlaggen toevoegen aan afzonderlijke modelkolommen om te bepalen hoe het model ontbrekende waarden verwerkt | Modelleringsvlagmen weergeven of wijzigen (gegevensanalyse) |
| Eigenschappen van het miningmodel instellen om te bepalen hoe het model ontbrekende waarden verwerkt | De eigenschappen van een mijnbouwmodel wijzigen |
| Modelleervlagmen opgeven in DMX | Modelleringsvlaggen (DMX) |
| Wijzigen hoe de mijnbouwstructuur ontbrekende waarden verwerkt | De eigenschappen van een mijnbouwstructuur wijzigen |
Zie ook
Inhoud van het miningmodel (Analysis Services - Data Mining)
Modelleringsvlagmen (gegevensanalyse)