AI met gegevensstromen
In dit artikel wordt beschreven hoe u kunstmatige intelligentie (AI) kunt gebruiken met gegevensstromen. In dit artikel wordt het volgende beschreven:
- Cognitive Services
- Geautomatiseerde Machine Learning
- Integratie van Azure Machine Learning
Cognitive Services in Power BI
Met Cognitive Services in Power BI kunt u verschillende algoritmen van Azure Cognitive Services toepassen om uw gegevens te verrijken in de selfservice voor gegevensvoorbereiding voor gegevensstromen.
De services die momenteel worden ondersteund zijn Sentimentanalyse, Sleuteltermextractie, Taaldetectie en Afbeeldingen taggen. De transformaties worden uitgevoerd op de Power BI-service en vereisen geen Azure Cognitive Services-abonnement. Deze functie vereist Power BI Premium.
AI-functies inschakelen
Cognitive Services worden ondersteund voor knooppunten met Premium-capaciteit EM2, A2 of P1 en andere knooppunten met meer resources. Cognitive Services zijn ook beschikbaar met een PPU-licentie (Premium Per User). Voor het uitvoeren van Cognitive Services wordt een afzonderlijke AI-werkbelasting op de capaciteit gebruikt. Voordat u cognitive services in Power BI gebruikt, moet de AI-workload worden ingeschakeld in de capaciteitsinstellingen van de Beheer-portal. U kunt de AI-workload inschakelen in de sectie workloads en de maximale hoeveelheid geheugen definiëren die u voor deze workload wilt gebruiken. De aanbevolen geheugenlimiet is 20%. Door deze limiet te overschrijden, vertraagt de query.
Aan de slag met Cognitive Services in Power BI
Cognitive Services-transformaties maken deel uit van de selfservice voor gegevensvoorbereiding voor gegevensstromen. Begin met het bewerken van een gegevensstroom om uw gegevens met Cognitive Services te verrijken.
Selecteer de knop AI-inzichten in het bovenste lint van de Power Query-editor.
Selecteer in het pop-upvenster de functie die u wilt gebruiken en de gegevens die u wilt transformeren. In dit voorbeeld wordt het gevoel van een kolom met revisietekst beoordeeld.
LanguageISOCode is een optionele invoer om de taal van de tekst op te geven. In deze kolom wordt een ISO-code verwacht. U kunt een kolom gebruiken als invoer voor LanguageISOCode of u kunt een statische kolom gebruiken. In dit voorbeeld is de taal voor de hele kolom als Engels (en) opgegeven. Als u deze kolom leeg laat, detecteert Power BI automatisch de taal voordat de functie wordt toegepast. Selecteer vervolgens Aanroepen.
Nadat u de functie hebt aangeroepen, wordt het resultaat als een nieuwe kolom aan de tabel toegevoegd. De transformatie wordt ook als een toegepaste stap aan de query toegevoegd.
Als de functie meerdere uitvoerkolommen retourneert, voegt u met het aanroepen van de functie een nieuwe kolom toe met een rij van de meerdere uitvoerkolommen.
Gebruik de uitvouwoptie om een of beide waarden als kolommen aan uw gegevens toe te voegen.
Beschikbare functies
Deze sectie beschrijft de beschikbare functies in Cognitive Services in Power BI.
Taal detecteren
De functie taaldetectie evalueert tekstinvoer en retourneert voor elke kolom de taalnaam en ISO-id. Deze functie is handig voor gegevenskolommen die willekeurige tekst verzamelen waarvan de taal onbekend is. Als invoer verwacht de functie gegevens in tekstindeling.
Text Analytics herkent maximaal 120 talen. Zie Wat is taaldetectie in Azure Cognitive Service voor taal voor meer informatie.
Sleuteltermen ophalen
De functie Sleuteltermextractie evalueert ongestructureerde tekst en retourneert voor elke tekstkolom een lijst met sleuteltermen. De functie vereist een tekstkolom als invoer en accepteert een optionele invoer voor LanguageISOCode. Zie Aan de slag voor meer informatie.
Sleuteltermextractie werkt het beste wanneer u er grotere stukken tekst aan geeft om aan te werken, in tegenstelling tot sentimentanalyse. Sentimentanalyse presteert beter op kleinere tekstblokken. Voor de beste resultaten bij beide activiteiten, zou u de invoeren dienovereenkomstig kunnen herstructureren.
Gevoel scoren
De functie Gevoel scoren evalueert tekstinvoer en retourneert een gevoelsscore voor elk document, variërend van 0 (negatief) tot 1 (positief). Deze functie is handig voor het detecteren van positieve en negatieve gevoelens op sociale media, klantbeoordelingen en discussiefora.
Text Analytics maakt gebruik van een machine learning-classificatiealgoritme voor het genereren van een gevoelsscore tussen 0 en 1. Scores dichter bij 1 wijzen op een positief gevoel. Scores dichter bij 0 duiden op een negatief gevoel. Het model is vooraf getraind met een uitgebreide hoeveelheid tekst met gevoelsassociaties. Het is momenteel niet mogelijk om uw eigen trainingsgegevens te gebruiken. Het model maakt tijdens de tekstanalyse gebruik van een combinatie aan technieken, waaronder tekstverwerking, woordsoortanalyse, woordplaatsing en woordassociaties. Zie Machine Learning en Text Analytics voor meer informatie over het algoritme.
Sentimentanalyse wordt uitgevoerd op de hele invoerkolom, in tegenstelling tot het extraheren van gevoel voor een bepaalde tabel in de tekst. In de praktijk verbetert het scoren van nauwkeurigheid wanneer documenten een of twee zinnen bevatten in plaats van een grote lap tekst. Tijdens een evaluatiefase voor objectiviteit bepaalt het model of een invoerkolom als geheel objectief is of sentiment bevat. Een invoerkolom die meestal objectief is, gaat niet verder naar de zin voor gevoelsdetectie, wat resulteert in een score van 0,50, zonder verdere verwerking. Voor invoerkolommen die in de pijplijn worden voortgezet, genereert de volgende fase een score die groter of kleiner is dan 0,50, afhankelijk van de mate van gevoel die is gedetecteerd in de invoerkolom.
Op dit moment ondersteunt Sentimentanalyse Engels, Duits, Spaans en Frans. Andere talen zijn beschikbaar als preview. Zie Wat is taaldetectie in Azure Cognitive Service voor taal voor meer informatie.
Afbeeldingen taggen
De functie Afbeeldingen taggen retourneert tags op basis van meer dan 2.000 herkenbare objecten, levende wezens, landschappen en acties. Wanneer tags ambigu of niet algemeen bekend zijn, biedt de uitvoer 'hints' om de betekenis van de tag in de context van een bekende instelling te duiden. Tags zijn niet geordend als taxonomie en er bestaan geen overnamehiërarchieën. Een verzameling inhoudstags vormt de basis voor een 'beschrijving van de afbeelding, weergegeven als voor mensen leesbare taal opgemaakt in volledige zinnen.
Na het uploaden van een afbeelding of het specificeren van een afbeeldings-URL, leveren de algoritmen van Computer Vision als output tags die zijn gebaseerd op objecten, levende wezens en acties die in de afbeelding zijn herkend. U kunt tagging niet alleen gebruiken voor het hoofdonderwerp, zoals een persoon op de voorgrond, maar ook voor de omgeving (binnen of buiten), meubels, gereedschap, planten, dieren, accessoires, gadgets en enzovoort.
Voor deze functie is een afbeeldings-URL of een kolom abase-64 vereist als invoer. Momenteel ondersteunt Afbeeldingen taggen Engels, Spaans, Japans, Portugees en vereenvoudigd Chinees. Zie ComputerVision Interface voor meer informatie.
Geautomatiseerde machine learning in Power BI
Met geautomatiseerde machine learning (AutoML) voor gegevensstromen kunnen bedrijfsanalisten machine learning-modellen (ML) rechtstreeks in Power BI trainen, valideren en aanroepen. De service bevat een eenvoudige ervaring voor het maken van een nieuw ML-model, waarbij analisten hun gegevensstromen kunnen gebruiken om de invoergegevens op te geven voor het trainen van het model. De service extraheert automatisch de meest relevante functies en selecteert een geschikt algoritme, waarna het ML-model wordt afgestemd en gevalideerd. Nadat een model is getraind, genereert Power BI automatisch een prestatierapport dat de resultaten van de validatie bevat. Het model kan vervolgens worden aangeroepen voor nieuwe of bijgewerkte gegevens in de gegevensstroom.
Geautomatiseerde machine learning is alleen beschikbaar voor gegevensstromen die worden gehost in Power BI Premium of Embedded.
Werken met AutoML
Bij gegevensstromen kunt u zelf gegevens voorbereiden voor big data. AutoML is geïntegreerd in gegevensstromen en stelt u in staat om uw gegevensvoorbereiding te gebruiken voor het bouwen van machine learning-modellen, rechtstreeks binnen Power BI.
Met AutoML in Power BI kunnen gegevensanalisten gegevensstromen gebruiken om machine learning-modellen te bouwen met een vereenvoudigde ervaring met behulp van alleen Power BI-vaardigheden. Power BI automatiseert het grootste deel van de gegevenswetenschap achter het maken van de ML-modellen. Het heeft vangnetten om ervoor te zorgen dat het gegenereerde model van goede kwaliteit is en inzicht geeft in het proces dat wordt gebruikt om uw ML-model te maken.
AutoML biedt ondersteuning voor het maken van modellen van het type Binaire voorspelling, Classificatie en Regressie voor gegevensstromen. Deze functies zijn typen machine learning-technieken onder supervisie, wat betekent dat ze leren van de bekende resultaten van eerdere waarnemingen om de resultaten van andere waarnemingen te voorspellen. De invoergegevensset voor het trainen van een AutoML-model is een set rijen die zijn gelabeld met de bekende resultaten.
Met AutoML in Power BI integreert u geautomatiseerde ML uit Azure Machine Learning om uw ML-modellen te maken. U hebt echter geen Azure-abonnement nodig om AutoML te gebruiken in Power BI. De Power BI-service beheert het proces van het trainen en hosten van de ML-modellen volledig.
Nadat een ML-model is getraind, genereert AutoML automatisch een Power BI-rapport waarin de waarschijnlijke prestaties van uw ML-model worden uitgelegd. AutoML benadrukt de verklaarbaarheid door het accentueren van de belangrijkste beïnvloeders in de invoer die van invloed zijn op de voorspellingen die worden geretourneerd door uw model. Het rapport bevat ook belangrijke metrische gegevens voor het model.
Andere pagina's van het gegenereerde rapport bevatten het statistische overzicht van het model en de trainingsdetails. Het statistisch overzicht is van belang voor gebruikers die de standaardprestatiemetingen voor het model willen zien die worden gehanteerd in de gegevenswetenschap. De trainingsdetails geven een overzicht van alle iteraties die zijn uitgevoerd om het model te maken, met de bijbehorende modelleringsparameters. Hier wordt ook beschreven hoe elke invoer is gebruikt voor het maken van het ML-model.
U kunt het ML-model vervolgens toepassen op uw gegevens om een score te verkrijgen. Wanneer de gegevensstroom wordt vernieuwd, worden uw gegevens bijgewerkt met voorspellingen uit uw ML-model. Power BI bevat ook een afzonderlijke uitleg voor elke specifieke voorspelling die het ML-model produceert.
Een machine learning-model maken
In dit gedeelte wordt beschreven hoe u een AutoML-model maakt.
Gegevens voorbereiden voor het maken van een ML-model
Als u een machine learning-model wilt maken in Power BI, moet u eerst een gegevensstroom maken voor de gegevens die de historische resultaatgegevens bevatten. Dit zijn de gegevens die worden gebruikt voor het trainen van het ML-model. U moet ook berekende kolommen toevoegen voor zakelijke metrische gegevens die sterke voorspellers kunnen zijn voor het resultaat dat u probeert te voorspellen. Zie Een gegevensstroom configureren en gebruiken voor meer informatie over het configureren van uw gegevensstroom.
AutoML hanteert specifieke gegevensvereisten voor het trainen van een machine learning-model. Deze vereisten worden beschreven in de volgende secties, op basis van de respectieve modeltypen.
De invoer van het ML-model configureren
Als u een AutoML-model wilt maken, selecteert u het ML-pictogram in de kolom Acties van de gegevensstroomtabel en selecteert u Een machine learning-model toevoegen.
Er wordt een vereenvoudigde ervaring gestart, bestaande uit een wizard die u begeleidt bij het maken van het ML-model. De wizard bestaat uit de volgende eenvoudige stappen.
1. Selecteer de tabel met de historische gegevens en kies de resultaatkolom waarvoor u een voorspelling wilt
De resultaatkolom identificeert het labelkenmerk voor het trainen van het ML-model, zoals weergegeven in de volgende afbeelding.
2. Een modeltype kiezen
Wanneer u de resultaatkolom opgeeft, analyseert AutoML de labelgegevens om het meest waarschijnlijke ML-modeltype aan te bevelen dat kan worden getraind. U kunt een ander modeltype kiezen, zoals wordt weergegeven in de volgende afbeelding door op Een model kiezen te klikken.
Notitie
Sommige modeltypen worden mogelijk niet ondersteund voor de gegevens die u hebt geselecteerd en worden daarom uitgeschakeld. In het vorige voorbeeld is Regressie uitgeschakeld, omdat een tekstkolom is geselecteerd als resultaatkolom.
3. Selecteer de invoer die door het model moet worden gebruikt als voorspellende signalen
AutoML analyseert een voorbeeld van de geselecteerde tabel om de invoer voor te stellen die kan worden gebruikt voor het trainen van het ML-model. Uitleg wordt gegeven naast kolommen die niet zijn geselecteerd. Als een bepaalde kolom te veel afzonderlijke waarden of slechts één waarde heeft, of als er een lage of hoge correlatie met de uitvoerkolom is, wordt dit niet aanbevolen.
Invoer die afhankelijk is van de resultaatkolom (of de labelkolom) mag niet worden gebruikt voor het trainen van het ML-model, omdat deze van invloed zijn op de prestaties. Dergelijke kolommen worden gemarkeerd als kolommen met 'verdacht hoge correlatie met uitvoerkolom'. Het introduceren van deze kolommen in de trainingsgegevens veroorzaakt labellekken, waarbij het model goed presteert op de validatie- of testgegevens, maar niet kan overeenkomen met die prestaties wanneer het wordt gebruikt in productie om te scoren. Labellekken kan een mogelijk probleem zijn in AutoML-modellen wanneer de prestaties van het trainingsmodel te mooi zijn om waar te zijn.
Deze functie-aanbeveling is gebaseerd op een sample van gegevens, waardoor u de gebruikte invoer moet controleren. U kunt de selecties zo wijzigen dat deze alleen de kolommen bevatten die het model moet bestuderen. U kunt ook alle kolommen selecteren door het selectievakje naast de tabelnaam in te schakelen.
4. Geef uw model een naam en sla de configuratie op
In de laatste stap kunt u het model een naam geven, Opslaan selecteren en kiezen waarmee het ML-model wordt getraind. U kunt ervoor kiezen om de trainingstijd te verkorten om snel resultaten te bekijken of de hoeveelheid tijd die wordt besteed aan training te vergroten om het beste model te krijgen.
Training van ML-model
De training van AutoML-modellen vindt plaats tijdens het vernieuwen van een gegevensstroom. AutoML bereidt uw gegevens eerst voor op de training. AutoML splitst de historische gegevens die u opgeeft in gegevenssets voor trainingsdoeleinden en voor testdoeleinden. De set voor testdoeleinden is een evaluatieset die wordt gebruikt om de modelprestaties na de training te valideren. Deze sets worden gerealiseerd als trainings- en testtabellen in de gegevensstroom. AutoML maakt gebruik van kruisvalidatie voor de modelvalidatie.
Vervolgens wordt elke invoerkolom geanalyseerd en wordt de invoer toegepast, waardoor eventuele ontbrekende waarden worden vervangen door gesubstitueerde waarden. Er worden een aantal verschillende imputatiestrategieën gebruikt door AutoML. In het geval van invoerkenmerken die als numerieke functies worden behandeld, wordt voor de imputatie het gemiddelde van de kolomwaarden genomen. In het geval van invoerkenmerken die als categorische functies worden behandeld, gebruikt AutoML de modus van de kolomwaarden voor de imputatie. Het AutoML-framework berekent het gemiddelde en de modus van waarden die worden gebruikt voor de invoer van de subsampled-trainingsgegevensset.
Daarna worden, zoals vereist, steekproeven en normalisatie toegepast op uw gegevens. In het geval van classificatiemodellen voert AutoML de invoergegevens uit door middel van gelaagde steekproeven en worden de klassen gebalanceerd om ervoor te zorgen dat het aantal rijen gelijk is.
AutoML past verschillende transformaties toe op elke geselecteerde invoerkolom op basis van het gegevenstype en de statistische eigenschappen. AutoML gebruikt deze transformaties voor het extraheren van functies die kunnen worden gebruikt bij het trainen van uw ML-model.
Het trainingsproces voor AutoML-modellen bestaat uit maximaal 50 iteraties met verschillende modelleringsalgoritmen en hyperparameter-instellingen om het model met de beste prestaties te vinden. De training kan vroeg worden beëindigd met minder iteraties als AutoML merkt dat er geen prestatieverbetering wordt waargenomen. AutoML beoordeelt de prestaties van elk van deze modellen door te valideren met de testgegevensset voor bewaring. Tijdens deze trainingsstap maakt AutoML verschillende pijplijnen voor de training en validatie van deze iteraties. Het proces voor het beoordelen van de prestaties van de modellen kan enige tijd duren, van enkele minuten tot een paar uur, tot de trainingstijd die in de wizard is geconfigureerd. De tijd die nodig is, is afhankelijk van de grootte van uw gegevensset en de beschikbare capaciteitsresources.
In sommige gevallen kan het uiteindelijke gegenereerde model gebruikmaken van ensemble learning, waarbij meerdere modellen worden gebruikt om betere voorspellende prestaties te leveren.
Verklaarbaarheid van AutoML-model
Nadat het model is getraind, analyseert AutoML de relatie tussen de invoerfuncties en de modeluitvoer. Daarnaast worden voor elke invoerfunctie de magnitude van de wijziging van de modeluitvoer beoordeeld voor de set met evaluatiegegevens. Deze relatie staat bekend als de functie-urgentie. Deze analyse vindt plaats als onderdeel van de vernieuwing nadat de training is voltooid. Daarom kan het vernieuwen langer duren dan de trainingstijd die in de wizard is geconfigureerd.
Rapport voor AutoML-model
AutoML genereert een Power BI-rapport met een overzicht van de prestaties van het model tijdens validatie, samen met het belang van globale functies. Dit rapport is toegankelijk vanaf het tabblad Machine Learning-modellen nadat het vernieuwen van de gegevensstroom is geslaagd. Het rapport geeft een overzicht van de resultaten van het toepassen van het ML-model op de testgegevens voor evaluatie en het vergelijken van de voorspellingen met de bekende resultaatwaarden.
U kunt het modelrapport bekijken om inzicht in de prestaties te krijgen. U kunt ook controleren of de belangrijkste beïnvloeders van het model overeenkomen met de zakelijke inzichten over de bekende resultaten.
De diagrammen en metingen die worden gebruikt om de prestaties van het model te beschrijven in het rapport, zijn afhankelijk van het modeltype. Deze prestatiediagrammen en metingen worden beschreven in de volgende secties.
Op andere pagina's in het rapport kunnen statistische metingen over het model worden beschreven vanuit het perspectief van gegevenswetenschap. Zo bevat het rapport voor binaire voorspellingen bijvoorbeeld een toenamediagram en de ROC-curve voor het model.
De rapporten bevatten ook een pagina met trainingsdetails met een beschrijving van hoe het model is getraind en een diagram met een beschrijving van de modelprestaties voor elke iteratie.
Een andere sectie op deze pagina beschrijft het gedetecteerde type invoerkolom en de invoermethode die worden gebruikt voor het invullen van ontbrekende waarden. De pagina bevat ook de parameters die worden gebruikt door het uiteindelijke model.
Als het geproduceerde model gebruikmaakt van ensemble learning, bevat de pagina Trainingsdetails ook een grafiek met het gewicht van elk samenstellend model in het ensemble en de bijbehorende parameters.
Het AutoML-model toepassen
Als u tevreden bent met de prestaties van het gemaakte ML-model, kunt u het model toepassen op nieuwe of bijgewerkte gegevens wanneer uw gegevensstroom wordt vernieuwd. Selecteer in het modelrapport de knop Toepassen in de rechterbovenhoek of de knop ML-model toepassen onder acties op het tabblad Machine Learning-modellen .
Als u het ML-model wilt toepassen, moet u de naam opgeven van de tabel waarop het model moet worden toegepast en een voorvoegsel voor de kolommen die aan deze tabel worden toegevoegd voor de modeluitvoer. Het standaardvoorvoegsel voor de kolomnamen is de modelnaam. De functie Toepassen kan meer parameters bevatten die specifiek zijn voor het modeltype.
Door het ML-model toe te passen, worden er twee nieuwe gegevensstroomtabellen gemaakt die de voorspellingen en geïndividualiseerde uitleg bevatten voor elke rij die wordt gescored in de uitvoertabel. Als u bijvoorbeeld het model PurchaseIntent toepast op de tabel OnlineShoppers , genereert de uitvoer de tabellen OnlineShoppers enriched PurchaseIntent en OnlineShoppers enriched PurchaseIntent . Voor elke rij in de verrijkte tabel wordt De uitleg onderverdeeld in meerdere rijen in de tabel met verrijkte uitleg op basis van de invoerfunctie. Met een ExplanationIndex kunt u de rijen van de tabel met verrijkte uitleg toewijzen aan de rij in de verrijkte tabel.
U kunt ook een Power BI AutoML-model toepassen op tabellen in een gegevensstroom in dezelfde werkruimte met behulp van AI-inzichten in de functiebrowser PQO. Op deze manier kunt u modellen die door anderen zijn gemaakt, gebruiken in dezelfde werkruimte, zonder u dat de eigenaar bent van de gegevensstroom die het model bevat. Met Power Query worden alle Power BI ML-modellen in de werkruimte gedetecteerd en weergegeven als dynamische Power Query-functies. U kunt deze functies aanroepen door ze te openen vanaf het lint in Power Query-editor of door de M-functie rechtstreeks aan te roepen. Deze functionaliteit wordt momenteel alleen ondersteund voor Power BI-gegevensstromen en voor Power Query Online in de Power BI-service. Dit proces verschilt van het toepassen van ML-modellen binnen een gegevensstroom met behulp van de wizard AutoML. Er is geen uitlegtabel gemaakt met behulp van deze methode. Tenzij u de eigenaar van de gegevensstroom bent, hebt u geen toegang tot modeltrainingsrapporten of kunt u het model niet opnieuw trainen. Als het bronmodel wordt bewerkt door invoerkolommen toe te voegen of te verwijderen of als het model of de brongegevensstroom wordt verwijderd, wordt deze afhankelijke gegevensstroom ook verbroken.
Nadat u het model hebt toegepast, zorgt AutoML ervoor dat uw voorspellingen altijd actueel zijn wanneer de gegevensstroom wordt vernieuwd.
Als u de inzichten en voorspellingen van het ML-model in een Power BI-rapport wilt gebruiken, kunt u vanuit Power BI Desktop verbinding maken met de uitvoertabel met behulp van de gegevensstroomconnector.
Modellen van het type Binaire voorspelling
Modellen van het type Binaire voorspelling, formeel ook bekend als binaire classificatiemodellen, worden gebruikt om een gegevensset in twee groepen te classificeren. Ze worden gebruikt om gebeurtenissen te voorspellen die een binaire uitkomst kunnen hebben. Bijvoorbeeld of een verkoopkans wordt geconverteerd, of een account wordt opgezegd, of een factuur op tijd wordt betaald, of een transactie frauduleus is, enzovoort.
De uitvoer van een binair voorspellingsmodel is een waarschijnlijkheidsscore, die de waarschijnlijkheid aangeeft dat het doelresultaat werkelijkheid zal worden.
Een binair voorspellingsmodel trainen
Vereisten:
- Voor elke klasse met resultaten zijn minimaal 20 rijen met historische gegevens vereist
Het proces van het maken van een binair voorspellingsmodel volgt dezelfde stappen als andere AutoML-modellen, zoals beschreven in de vorige sectie , Invoer van ML-model configureren. Het enige verschil zit in de stap Een model kiezen , waarin u de waarde voor het doelresultaat kunt selecteren waarin u het meest geïnteresseerd bent. U kunt ook beschrijvende labels opgeven voor de resultaten die moeten worden gebruikt in het automatisch gegenereerde rapport waarin de resultaten van de modelvalidatie worden samengevat.
Rapport voor binair voorspellingsmodel
Het binaire voorspellingsmodel produceert als uitvoer een kans dat een rij het doelresultaat bereikt. Het rapport bevat een slicer voor de waarschijnlijkheidsdrempel, die van invloed is op de manier waarop de scores groter en kleiner dan de waarschijnlijkheidsdrempel worden geïnterpreteerd.
In het rapport worden de prestaties van het model beschreven in termen van terecht positieven (True Positives), fout-positieven (False Positives), terecht negatieven (True Negatives) en fout-negatieven (False Negatives). Terecht positieven en terecht negatieven zijn correct voorspelde resultaten voor de twee klassen in de resultaatgegevens. Fout-positieven zijn rijen die volgens de voorspelling doelresultaat zouden hebben, maar die dat niet hebben gedaan. Fout-negatieven zijn daarentegen rijen die als doelresultaten werden voorspeld, maar die niet werden voorspeld.
Metingen, zoals Precisie en Terughalen, beschrijven het effect van de waarschijnlijkheidsdrempel op de voorspelde resultaten. U kunt de slicer met de waarschijnlijkheidsdrempel gebruiken om een drempel te selecteren die een compromis oplevert tussen Precisie en Terughalen.
Het rapport bevat ook een hulpprogramma voor een kosten-batenanalyse waarmee u de subset van de populatie kunt identificeren waarop moet worden ingezet om de hoogste winst te krijgen. Aan de hand van de geschatte kosten per eenheid en een eenheidsvoordeel door het bereiken van een doelresultaat, wordt getracht met de kosten-batenanalyse de winst te maximaliseren. U kunt dit hulpprogramma gebruiken om uw waarschijnlijkheidsdrempelwaarde te kiezen op basis van het maximumpunt in de grafiek om de winst te maximaliseren. U kunt de grafiek ook gebruiken om de winst of kosten voor uw keuze van de waarschijnlijkheidsdrempelwaarde te berekenen.
De pagina Nauwkeurigheidsrapport van het modelrapport bevat het diagram Cumulatieve toenames en de ROC-curve voor het model. Deze gegevens bieden statistische metingen van de modelprestaties. De rapporten bevatten beschrijvingen van de weergegeven diagrammen.
Een binair voorspellingsmodel toepassen
Als u een binair voorspellingsmodel wilt toepassen, moet u de tabel opgeven met de gegevens waarop u de voorspellingen van het ML-model wilt toepassen. Andere parameters zijn het voorvoegsel voor de naam van de uitvoerkolom en de waarschijnlijkheidsdrempel voor het classificeren van het voorspelde resultaat.
Wanneer een binair voorspellingsmodel wordt toegepast, worden vier uitvoerkolommen toegevoegd aan de verrijkte uitvoertabel: Outcome, PredictionScore, PredictionExplanation en ExplanationIndex. Voor de kolomnamen in de tabel wordt het voorvoegsel opgegeven wanneer het model wordt toegepast.
PredictionScore is een waarschijnlijkheidspercentage waarmee de waarschijnlijkheid wordt aangegeven dat het doelresultaat werkelijkheid zal worden.
De kolom Outcome bevat het label voor het voorspelde resultaat. Als records waarschijnlijkheidsscores hebben die de drempel overschrijden, wordt voorspeld dat ze het doelresultaat waarschijnlijk behalen en krijgen ze het label Waar. Records die lager zijn dan de drempelwaarde, worden voorspeld als onwaarschijnlijk dat ze het resultaat bereiken en worden gelabeld als Onwaar.
De kolom PredictionExplanation bevat een uitleg met de specifieke invloed van de invoerfuncties op de PredictionScore.
Classificatiemodellen
Classificatiemodellen worden gebruikt om een gegevensset in meerdere groepen of klassen te classificeren. Ze worden gebruikt om gebeurtenissen te voorspellen die een van de verschillende mogelijke resultaten kunnen hebben. Bijvoorbeeld of een klant waarschijnlijk een hoge, gemiddelde of lage levensduurwaarde heeft. Ze kunnen ook voorspellen of het risico op wangebruik hoog, gemiddeld, laag, enzovoort is.
De uitvoer van een classificatiemodel is een waarschijnlijkheidsscore, die de waarschijnlijkheid aangeeft dat een rij voldoet aan de criteria voor een bepaalde klasse.
Een classificatiemodel trainen
De invoertabel met uw trainingsgegevens voor een classificatiemodel moet een kolom met een tekenreeks of een geheel getal hebben als resultaatkolom, die de bekende resultaten in het verleden identificeert.
Vereisten:
- Voor elke klasse met resultaten zijn minimaal 20 rijen met historische gegevens vereist
Het proces voor het maken van een classificatiemodel volgt dezelfde stappen als andere AutoML-modellen, zoals beschreven in de vorige sectie , Invoer van ML-model configureren.
Rapport voor classificatiemodel
Power BI maakt het classificatiemodelrapport door het ML-model toe te passen op de bewaringstestgegevens. Vervolgens wordt de voorspelde klasse voor een rij vergeleken met de werkelijke bekende klasse.
Het modelrapport bevat een grafiek met de uitsplitsing van de correct en onjuist geclassificeerde rijen voor elke bekende klasse.
Met een andere klassespecifieke inzoomactie kunt u analyseren hoe de voorspellingen voor een bekende klasse worden gedistribueerd. Deze analyse toont de andere klassen waarin rijen van die bekende klasse waarschijnlijk onjuist zijn geclassificeerd.
De toelichting van het model in het rapport bevat ook de belangrijkste voorspellingsfactoren voor elke klasse.
Het classificatiemodelrapport bevat ook een pagina Trainingsdetails die vergelijkbaar is met de pagina's voor andere modeltypen, zoals eerder beschreven, in het AutoML-modelrapport.
Een classificatiemodel toepassen
Als u een ML-classificatiemodel wilt toepassen, moet u de tabel met de invoergegevens en het voorvoegsel van de naam van de uitvoerkolom opgeven.
Wanneer een classificatiemodel wordt toegepast, worden vijf uitvoerkolommen toegevoegd aan de verrijkte uitvoertabel: ClassificationScore, ClassificationResult, ClassificationExplanation, ClassProbabilities en ExplanationIndex. Voor de kolomnamen in de tabel wordt het voorvoegsel opgegeven wanneer het model wordt toegepast.
De kolom ClassProbabilities bevat de lijst met waarschijnlijkheidsscores voor de rij voor elke mogelijke klasse.
De ClassificationScore is het waarschijnlijkheidspercentage, waarmee de kans wordt aangegeven dat een rij de criteria voor een bepaalde klasse haalt.
De kolom ClassificationResult bevat de meest waarschijnlijk voorspelde klasse voor de rij.
De kolom ClassificationExplanation bevat een uitleg met de specifieke invloed van de invoerfuncties op de ClassificationScore.
Regressiemodellen
Regressiemodellen worden gebruikt om een numerieke waarde te voorspellen en kunnen worden gebruikt in scenario's zoals het bepalen van:
- De omzet die waarschijnlijk wordt gerealiseerd door een verkoopdeal.
- De levensduurwaarde van een account.
- Het bedrag van een debiteurenfactuur dat waarschijnlijk zal worden betaald
- De datum waarop een factuur kan worden betaald, enzovoort.
De uitvoer van een regressiemodel is de voorspelde waarde.
Trainen van een regressiemodel
De invoertabel met de trainingsgegevens voor een regressiemodel moet een numerieke kolom hebben als resultaatkolom, die de bekende resultaatwaarden identificeert.
Vereisten:
- Er zijn minimaal 100 rijen met historische gegevens vereist voor een regressiemodel.
Het proces voor het maken van een regressiemodel volgt dezelfde stappen als andere AutoML-modellen, zoals beschreven in de vorige sectie , Invoer van ML-model configureren.
Rapport van regressiemodel
Net als de andere AutoML-modelrapporten, wordt het regressierapport gebaseerd op de resultaten van het toepassen van het model op de evaluatiegegevens.
Het modelrapport bevat een diagram waarin de voorspelde waarden worden vergeleken met de werkelijke waarden. In dit diagram geeft de afstand vanaf de diagonaal de fout in de voorspelling aan.
In het diagram met resterende fouten ziet u de verdeling van het percentage van gemiddelde fouten voor verschillende waarden in de set met evaluatiegegevens. De horizontale as vertegenwoordigt het gemiddelde van de werkelijke waarde voor de groep. De grootte van de bel geeft de frequentie of het aantal waarden in dat bereik weer. De verticale as vertegenwoordigt de gemiddelde restfouten.
Het regressiemodelrapport bevat ook een pagina Met trainingsdetails, zoals de rapporten voor andere modeltypen, zoals beschreven in de vorige sectie, Rapport AutoML-model.
Een regressiemodel toepassen
Als u een Regression ML-model wilt toepassen, moet u de tabel met de invoergegevens en het voorvoegsel van de naam van de uitvoerkolom opgeven.
Wanneer een regressiemodel wordt toegepast, worden er drie uitvoerkolommen toegevoegd aan de verrijkte uitvoertabel: RegressionResult, RegressionExplanation en ExplanationIndex. De kolomnamen in de tabel hebben het voorvoegsel dat is opgegeven wanneer het model wordt toegepast.
De kolom RegressionResult bevat de voorspelde waarde voor de rij op basis van de invoerkolommen. De kolom RegressionExplanation bevat een uitleg met de specifieke invloed van de invoerfuncties op de RegressionResult.
Azure Machine Learning-integratie in Power BI
Talloze organisaties gebruiken machine learning-modellen voor betere inzichten en voorspellingen over hun bedrijf. U kunt machine learning gebruiken met uw rapporten, dashboards en andere analyses om deze inzichten te verkrijgen. De mogelijkheid om inzichten uit deze modellen te visualiseren en aan te roepen, kan helpen deze inzichten te verspreiden onder de zakelijke gebruikers die deze het meest nodig hebben. Power BI maakt het nu eenvoudig om de inzichten op te nemen van modellen die worden gehost op Azure Machine Learning, met behulp van eenvoudige aanwijs- en klikbewegingen.
Als u deze mogelijkheid wilt gebruiken, kan een data scientist de BI-analist toegang verlenen tot het Azure Machine Learning-model met behulp van de Azure Portal. Vervolgens detecteert Power Query aan het begin van elke sessie alle Azure Machine Learning-modellen waartoe de gebruiker toegang heeft en maakt deze beschikbaar als dynamische Power Query functies. De gebruiker roept deze functies vervolgens aan door ze te openen vanuit het lint in Power Query-editor, of door de ML-functie rechtstreeks aan te roepen. Power BI maakt ook automatisch batches van de toegangsaanvragen bij het aanroepen van het Azure Machine Learning-model voor een set rijen om betere prestaties te bereiken.
Deze functionaliteit wordt momenteel alleen ondersteund voor Power BI-gegevensstromen en voor Power Query online in de Power BI-service.
Zie Inleiding tot gegevensstromen en selfservice voor gegevensvoorbereiding voor meer informatie over gegevensstromen.
Zie voor meer informatie over Azure Machine Learning:
- Overzicht: Wat is Azure Machine Learning?
- Quick Starts en zelfstudies voor Azure Machine Learning: Documentatie voor Azure Machine Learning
Een Power BI-gebruiker toegang verlenen tot het Azure Machine Learning-model
Voor toegang tot een Azure Machine Learning-model vanuit Power BI moet de gebruiker leestoegang hebben tot het Azure-abonnement en de Machine Learning-werkruimte.
In de stappen in dit artikel wordt beschreven hoe u een Power BI-gebruiker toegang verleent tot een model dat wordt gehost op de Azure Machine Learning-service om toegang te krijgen tot dit model als een Power Query-functie. Zie Azure-rollen toewijzen met behulp van Azure Portal voor meer informatie.
Meld u aan bij Azure Portal.
Ga naar de pagina Abonnementen. U vindt de pagina Abonnementen via de lijst Alle services in het navigatievenstermenu van de Azure-portal.
Selecteer uw abonnement.
Selecteer Access Control (IAM) en kies vervolgens de knop Toevoegen.
Selecteer Lezer als de rol. Kies vervolgens de Power BI-gebruiker aan wie u toegang wilt verlenen tot het Azure Machine Learning-model.
Selecteer Opslaan.
Herhaal stap drie tot en met zes om de gebruiker lezertoegang te verlenen voor de specifieke machine learning-werkruimte die als host fungeert voor het model.
Schemadetectie voor machine learning-modellen
Gegevenswetenschappers gebruiken Python voornamelijk om hun machine learning-modellen voor machine learning te ontwikkelen en zelfs te implementeren. De data scientist moet het schemabestand expliciet genereren met behulp van Python.
Dit schemabestand moet worden opgenomen in de geïmplementeerde webservice voor machine learning-modellen. Als u wilt dat het schema voor de webservice automatisch wordt geautomatiseerd, moet u een voorbeeld opgeven van de invoer/uitvoer in het script van de vermelding voor het geïmplementeerd model. Zie Een machine learning-model implementeren en scoren met behulp van een online-eindpunt voor meer informatie. De koppeling bevat het voorbeeldscript van de vermelding met de instructies voor het genereren van schema's.
Met name de functies @input_schema en @output_schema in het invoerscript verwijzen naar de voorbeeldindelingen voor invoer en uitvoer in de variabelen input_sample en output_sample . De functies gebruiken deze voorbeelden om een Swagger-specificatie (OpenAPI) voor de webservice te genereren tijdens de implementatie.
Deze instructies voor het genereren van schema's door het bijwerken van het invoerscript moeten ook worden toegepast op modellen die zijn gemaakt met behulp van geautomatiseerde machine learning-experimenten met de Azure Machine Learning SDK.
Notitie
Modellen die zijn gemaakt met behulp van de visuele interface van Azure Machine Learning bieden momenteel geen ondersteuning voor het genereren van schema's, maar wel in volgende versies.
Het Azure Machine Learning-model aanroepen in Power BI
U kunt elk Azure Machine Learning-model aanroepen waartoe u toegang hebt, rechtstreeks vanuit de Power Query-editor in uw gegevensstroom. Als u toegang wilt krijgen tot de Azure Machine Learning-modellen, selecteert u de knop Tabel bewerken voor de tabel die u wilt verrijken met inzichten uit uw Azure Machine Learning-model, zoals wordt weergegeven in de volgende afbeelding.
Als u de knop Tabel bewerken selecteert, wordt de Power Query-editor voor de tabellen in uw gegevensstroom geopend.
Selecteer in het lint de knop AI-inzichten en selecteer vervolgens de map Azure Machine Learning-modellen in het navigatievenstermenu. Alle Azure Machine Learning-modellen waartoe u toegang hebt, worden hier weergegeven als Power Query-functies. Bovendien worden de invoerparameters voor het Azure Machine Learning-model automatisch toegewezen als parameters van de bijbehorende Power Query-functie.
Als u een Azure Machine Learning-model wilt aanroepen, kunt u een van de kolommen van de geselecteerde tabel opgeven als invoer in de vervolgkeuzelijst. U kunt ook een constante waarde opgeven die als invoer wordt gebruikt door het kolompictogram aan de linkerzijde van de het invoerdialoogvenster in te schakelen.
Selecteer Aanroepen om het voorbeeld van de uitvoer van het Azure Machine Learning-model weer te geven als een nieuwe kolom in de tabel. De modelaanroep wordt weergegeven als een toegepaste stap voor de query.
Als het model meerdere uitvoerparameters retourneert, worden deze gegroepeerd als een rij in de uitvoerkolom. U kunt een kolom uitbreiden om afzonderlijke uitvoerparameters te produceren in afzonderlijke kolommen.
Nadat u de gegevensstroom hebt opgeslagen, wordt het model automatisch aangeroepen wanneer de gegevensstroom wordt vernieuwd, voor nieuwe of bijgewerkte rijen in de tabel.
Overwegingen en beperkingen
- AI-inzichten (Cognitive Services en Azure Machine Learning-modellen) worden niet ondersteund op computers met proxyverificatie.
- Azure Machine Learning-modellen worden niet ondersteund voor gastgebruikers.
- Er zijn enkele bekende problemen met het gebruik van gateway met AutoML en Cognitive Services. Als u een gateway wilt gebruiken, raden we u aan om eerst een gegevensstroom te maken waarmee de benodigde gegevens via de gateway worden geïmporteerd. Maak vervolgens een andere gegevensstroom die verwijst naar de eerste gegevensstroom om deze modellen en AI-functies te maken of toe te passen.
- Als uw AI-werk met gegevensstromen mislukt, moet u mogelijk Snel combineren inschakelen wanneer u AI gebruikt met gegevensstromen. Nadat u de tabel hebt geïmporteerd en voordat u AI-functies gaat toevoegen, selecteert u Opties op het lint Start en schakelt u in het venster dat wordt weergegeven het selectievakje in naast Gegevens uit meerdere bronnen toestaan om de functie in te schakelen. Selecteer vervolgens OK om uw selectie op te slaan. Vervolgens kunt u AI-functies toevoegen aan uw gegevensstroom.
Volgende stappen
In dit artikel hebt u een overzicht van geautomatiseerde machine learning voor gegevensstromen in de Power BI-service. De volgende artikelen kunnen ook nuttig zijn.
- Zelfstudie: Een machine learning-model bouwen in Power BI
- Zelfstudie: Cognitive Services gebruiken in Power BI
- Zelfstudie: Azure Machine Learning-modellen gebruiken in Power BI
De volgende artikelen bieden meer informatie over gegevensstromen en Power BI:
- Inleiding tot gegevensstromen en selfservice voor gegevensvoorbereiding
- Een gegevensstroom maken
- Een gegevensstroom configureren en gebruiken
- Gegevensstroomopslag configureren voor gebruik van Azure Data Lake Gen 2
- Premium-functies van gegevensstromen
- Overwegingen en beperkingen voor gegevensstromen
- Best practices voor gegevensstromen