Zum Inhalt springen

AI in Power BI – Schnelleinstieg

AI in Power BI

Power BI Dataflows und Power BI Desktop „AI“

Was ist der Unterschied zwischen maschinellem Lernen und künstlicher Intelligenz?

Wenn es in Python geschrieben ist, ist es wahrscheinlich maschinelles Lernen. Wenn es in PowerPoint geschrieben ist, ist es wahrscheinlich KI. (Mat Velloso, ehemaliger technischer Berater des CEO bei Microsoft)

AI in PowerBI

Wie allgemein bekannt, unterstützt Power BI derzeit sowohl R- und Python-Skripte als auch R- und Python-Grafiken in Power BI Desktop und Power BI Service. (teilweise Vorschau). Im Bereich Datenflüsse wurden in einer ersten Version die sogenannten Cognitive Services zur Verfügung gestellt. Dies ist ein vorgeübter ML Models von Microsoft. Sie können auch von Power Query aus aufgerufen werden. Kürzlich erschien auch der Key Influencer Visual.

Mehr Info in einem früheren Beitrag zu Dataflows:

Self-Service-Datenaufbereitung für Big Data in Power BI (Dataflows)

Inhalt dieses Artikels:

  1. Cognitive Services in Power BI (Preview)
  2. Cluster Analysis with R Script
  3. Visual Clustering R
  4. Phyton Visual

1 Cognitive Services in Power BI (Preview)

Microsoft Docs Getting Started

Detect Language
Die Spracherkennungsfunktion wertet die Texteingabe aus und gibt für jedes Feld den Namen der Sprache und die ISO-Kennung zurück. Diese Funktion ist nützlich für Datenspalten, die beliebigen Text erfassen, wobei die Sprache unbekannt ist. Die Funktion erwartet Daten im Textformat als Eingabe.

Text Analytics erkennt bis zu 120 Sprachen.

CognitiveServices.DetectLanguageProductName

AI in PowerBI

Expanded CognitiveServices.DetectLanguageProductName

AI in PowerBI

Filtered rows Supported Languages for Image Tagging

Tag Images

Die Funktion „Bilder markieren“ gibt Tags zurück, die auf mehr als 2.000 erkennbaren Objekten, Lebewesen, Szenen und Aktionen basieren. Wenn Tags nicht eindeutig oder nicht allgemein bekannt sind, enthält die Ausgabe Hinweise, um die Bedeutung des Tags im Kontext einer bekannten Einstellung zu verdeutlichen. Tags sind nicht als Taxonomie organisiert und es gibt keine Vererbungshierarchien. Eine Sammlung von Inhalts-Tags bildet die Grundlage für eine Bildbeschreibung, die als für Menschen lesbare Sprache in vollständigen Sätzen angezeigt wird.

Nach dem Hochladen eines Bildes oder der Angabe einer Bild-URL geben Computer Vision-Algorithmen anhand der im Bild identifizierten Objekte, Lebewesen und Aktionen Tags aus. Das Markieren ist nicht auf das Hauptthema beschränkt, wie z. B. eine Person im Vordergrund, sondern umfasst auch die Einstellung (innen oder außen), Möbel, Werkzeuge, Pflanzen, Tiere, Zubehör, Geräte usw.

Diese Funktion erfordert eine Bild-URL oder ein abase-64-Feld als Eingabe. Derzeit unterstützt die Bildkennzeichnung Englisch, Spanisch, Japanisch, Portugiesisch und vereinfachtes Chinesisch. Weitere Informationen finden Sie unter Unterstützte Sprachen.

  • en, es – Spanish, ja – Japanese, pt – Portuguese, zh – Simplified Chinese are supported Languages for Images Tagging
CognitiveServices.TagImages

Expanded CognitiveServices.TagImages

CognitiveServices.ExtractKeyPhrases

2 R Script for Cluster


# ‘dataset’ holds the input data for this script

c(108,122) Input Column 108 and Column 122

4 Number of Clusters based on Elbow Chart

Salt and Sugar Cluster

SS<- kmeans(dataset[,c(108,122)], 4)

mydata <- data.frame(dataset, SS$cluster)

Energy Cluster (Energy, Fat, Carbo)

ENE<- kmeans(dataset[,c(69,71,107)], 3)

mydata1 <- data.frame(dataset, ENE$cluster)

Fat Cluster (Fat , Saturated Fat)

FAT<- kmeans(dataset[,c(72,71,106)], 3)

mydata1 <- data.frame(dataset, FAT$cluster)

Salt and Fat Cluster

SF<- kmeans(dataset[,c(122,71)], 3)

mydata1 <- data.frame(dataset, SF$cluster)

Here we can see the assign clusters to the raw data.

Ergebnis in Power BI:

Tagging Details

Key Ingredients phrase Extraction

Analysis

Elbow Chart for getting and Idea about how many clusters you may need as a good starting point:

# The following code to create a dataframe and remove duplicated rows is always executed and acts as a preamble for your script:

# dataset <- data.frame(product_name, salt_100g, sugars_100g, fat_100g, brands, bad.cluster)

# dataset <- unique(dataset)

# Paste or type your script code here:

array <- (nrow(dataset[,1:3])-1)*sum(apply(dataset[,1:3],2,var))

for (a in
2:15) array[a] <- sum(kmeans(dataset[1:3], centers=a)$withinss)

plot(1:15, array, type=“b”, xlab=“Number of ALL Clusters”, ylab=“Within grp. sum of squares”)

Cluster Results

Salt and Sugar Cluster

Energy Cluster (Energy, Fat, Carbo)

Fat Cluster (Fat , Saturated Fat)

Salt and Fat Cluster

Scatter

Visual Clustering R

library(cluster)

# Ward Hierarchical Clustering

#d <- dist(dataset, method = “euclidean”) # distance matrix

#H.fit <- hclust(d, method=”ward”)

#plot(fit) # display dendogram

#groups <- cutree(fit, k=5) # cut tree into 5 clusters

# draw dendogram with red borders around the 5 clusters

#rect.hclust(fit, k=5, border=”red”)

D=daisy(dataset, metric=‘manhattan’)

H.fit <- hclust(D, method=“ward”)

row.names(dataset) <- dataset$Geo

#plot(H.fit, labels=dataset$Geo, hang=-1)

groups <- cutree(H.fit, k=5, tree) # cut tree into 4 clusters

#rect.hclust(H.fit, k=5, border=”red”)

clusplot(dataset, groups, color=TRUE, lines=0, main= ‘Fat’, span=F, labels=2, shade=FALSE)

import seaborn as sns

import matplotlib.pyplot as plt

sns.swarmplot(x=“DetectLanguage.Detected.Language.Name”, y=“energy_100g”, data=dataset)

plt.show()

import matplotlib.pyplot as plt

import pandas

from pandas.plotting import scatter_matrix

scatter_matrix(dataset)

plt.show()

AI in PowerBI

Views: 35