Ereignisse
31. März, 23 Uhr - 2. Apr., 23 Uhr
Das größte Fabric-, Power BI- und SQL-Lernereignis. 31. März – 2. April. Verwenden Sie Code FABINSIDER, um $400 zu sparen.
Heute registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge aus, um die neuesten Funktionen, Sicherheitsupdates und technischen Support zu nutzen.
In diesem Lernprogramm erfahren Sie, wie Sie explorative Datenanalysen (EDA) durchführen, um die Daten zu prüfen und zu analysieren, während Sie deren wichtigste Merkmale mithilfe von Datenvisualisierungstechniken zusammenfassen.
Sie verwenden seaborn
, eine Python-Datenvisualisierungsbibliothek, die eine allgemeine Schnittstelle zum Erstellen visueller Elemente in Datenframes und Arrays bereitstellt. Weitere Informationen zu seaborn
finden Sie unter Seaborn: Statistische Datenvisualisierung.
Sie verwenden auch Data Wrangler, ein notizbuchbasiertes Tool, das Ihnen eine eintauchende Erfahrung bietet, um explorative Datenanalyse und Datenbereinigung durchzuführen.
Die wichtigsten Schritte in diesem Lernprogramm sind:
seaborn
durch.Erhalten Sie ein Microsoft Fabric-Abonnement. Oder registrieren Sie sich für eine kostenlose Microsoft Fabric-Testversion.
Melden Sie sich bei Microsoft Fabrican.
Verwenden Sie den Erfahrungsschalter auf der unteren linken Seite Ihrer Startseite, um zu Fabric zu wechseln.
Dies ist Teil 2 von 5 in der Lernprogrammreihe. Um dieses Lernprogramm abzuschließen, führen Sie zuerst Folgendes durch:
2-explore-cleanse-data.ipynb ist das Notebook, das dieses Tutorial begleitet.
Zum Öffnen des zugehörigen Notizbuchs für dieses Lernprogramm folgen Sie den Anweisungen in Vorbereiten Ihres Systems für Data Science-Lernprogramme, um das Notizbuch in Ihren Arbeitsbereich zu importieren.
Wenn Sie den Code lieber von dieser Seite kopieren und einfügen möchten, können Sie ein neues Notizbucherstellen.
Fügen Sie ein Lakehouse an das Notebook an, bevor Sie mit der Ausführung von Code beginnen.
Wichtig
Fügen Sie dasselbe Seehaus an, das Sie in Teil 1 verwendet haben.
Dieser Code liest Rohdaten aus dem Abschnitt Dateien des Lakehouses. Sie haben diese Daten im vorherigen Notizbuch hochgeladen. Stellen Sie sicher, dass Sie dasselbe Lakehouse, das Sie in Teil 1 verwendet haben, an dieses Notizbuch angefügt haben, bevor Sie diesen Code ausführen.
df = (
spark.read.option("header", True)
.option("inferSchema", True)
.csv("Files/churn/raw/churn.csv")
.cache()
)
Konvertieren Sie den Spark DataFrame in Pandas DataFrame, um die Verarbeitung und Visualisierung zu vereinfachen.
df = df.toPandas()
Erkunden Sie die Rohdaten mit display
, führen Sie einige grundlegende Statistiken aus, und zeigen Sie Diagrammansichten an. Beachten Sie, dass Sie zuerst die erforderlichen Bibliotheken wie Numpy
, Pnadas
, Seaborn
und Matplotlib
für Datenanalyse und Visualisierung importieren müssen.
import seaborn as sns
sns.set_theme(style="whitegrid", palette="tab10", rc = {'figure.figsize':(9,6)})
import matplotlib.pyplot as plt
import matplotlib.ticker as mticker
from matplotlib import rc, rcParams
import numpy as np
import pandas as pd
import itertools
display(df, summary=True)
Um beliebige pandas Dataframes in Ihrem Notizbuch zu erkunden und zu transformieren, starten Sie Data Wrangler direkt aus dem Notizbuch.
Hinweis
Data Wrangler kann nicht geöffnet werden, während der Notebookkernel ausgelastet ist. Die Zellausführung muss vor dem Starten von Data Wrangler abgeschlossen werden.
df
, wählen Sie df
aus.
Data Wrangler startet und generiert einen beschreibenden Überblick über Ihre Daten. Die Tabelle in der Mitte zeigt jede Datenspalte an. Im Bereich Zusammenfassung neben der Tabelle werden Informationen zum DataFrame angezeigt. Wenn Sie eine Spalte in der Tabelle auswählen, wird die Zusammenfassung mit Informationen zur ausgewählten Spalte aktualisiert. In einigen Fällen sind die angezeigten und zusammengefassten Daten eine abgeschnittene Ansicht Ihres DataFrames. In diesem Fall wird im Zusammenfassungsbereich das Warnbild angezeigt. Zeigen Sie mit der Maus auf diese Warnung, um Text anzuzeigen, der die Situation erklärt.
Jeder Vorgang, den Sie ausführen, kann in einer Frage von Klicks angewendet werden, die Datenanzeige in Echtzeit aktualisieren und Code generieren, den Sie als wiederverwendbare Funktion wieder in Ihrem Notizbuch speichern können.
Der Rest dieses Abschnitts führt Sie durch die Schritte zum Durchführen der Datenreinigung mit Data Wrangler.
Im linken Bereich befindet sich eine Liste der Vorgänge (z. B. Suchen und Ersetzen, Format, Formeln, numerische), die Sie für das Dataset ausführen können.
Erweitern Sie Suchen und ersetzen, und wählen Sie Doppelte Zeilen löschen aus.
Es wird ein Bereich angezeigt, in dem Sie die Liste der Spalten auswählen möchten, die Sie vergleichen möchten, um eine doppelte Zeile zu definieren. Wählen Sie RowNumber und CustomerId aus.
Im mittleren Bereich befindet sich eine Vorschau der Ergebnisse dieses Vorgangs. Unter der Vorschau befindet sich der Code zum Ausführen des Vorgangs. In diesem Fall scheinen die Daten unverändert zu sein. Da Sie jedoch eine abgeschnittene Ansicht betrachten, ist es ratsam, den Vorgang weiterhin anzuwenden.
Wählen Sie an der Seite oder unten Übernehmen aus, um zum nächsten Schritt zu wechseln.
Verwenden Sie Data Wrangler, um Zeilen mit fehlenden Daten in allen Spalten abzulegen.
Wählen Sie aus Suchen und ersetzen die Option Fehlende Werte löschen aus.
Wählen Sie aus Zielspalten die Option Alle auswählen.
Wählen Sie Übernehmen aus, um mit dem nächsten Schritt fortzufahren.
Verwenden Sie Data Wrangler zum Ablegen von Spalten, die Sie nicht benötigen.
Erweitern Sie das Schema, und wählen Sie Spalten löschen aus.
Wählen Sie RowNumber, CustomerId, Nachnameaus. Diese Spalten werden in der Vorschau rot angezeigt, um anzuzeigen, dass sie vom Code geändert werden (in diesem Fall gelöscht.)
Wählen Sie Übernehmen aus, um mit dem nächsten Schritt fortzufahren.
Jedes Mal, wenn Sie Übernehmen auswählen, wird unten links im Panel Bereinigungsschritte ein neuer Schritt erstellt. Wählen Sie unten im Panel Vorschau für Code für alle Schritte anzeigen aus, um eine Kombination aller separaten Schritte anzuzeigen.
Wählen Sie oben links Code zum Notebook hinzufügen aus, um Data Wrangler zu schließen und den Code automatisch hinzuzufügen. Die Option Code zu Notebook hinzufügen umschließt den Code in einer Funktion und ruft die Funktion anschließend auf.
Tipp
Der von Data Wrangler generierte Code wird erst angewendet, wenn Sie die neue Zelle manuell ausführen.
Wenn Sie Data Wrangler nicht verwendet haben, können Sie stattdessen diese nächste Codezelle verwenden.
Dieser Code ähnelt dem Code, der von Data Wrangler erstellt wird, fügt jedoch das Argument inplace=True
zu jedem der generierten Schritte hinzu. Durch das Festlegen von inplace=True
wird das ursprüngliche DataFrame durch Pandas überschreiben, anstatt ein neues DataFrame als Ausgabe zu erzeugen.
# Modified version of code generated by Data Wrangler
# Modification is to add in-place=True to each step
# Define a new function that include all above Data Wrangler operations
def clean_data(df):
# Drop rows with missing data across all columns
df.dropna(inplace=True)
# Drop duplicate rows in columns: 'RowNumber', 'CustomerId'
df.drop_duplicates(subset=['RowNumber', 'CustomerId'], inplace=True)
# Drop columns: 'RowNumber', 'CustomerId', 'Surname'
df.drop(columns=['RowNumber', 'CustomerId', 'Surname'], inplace=True)
return df
df_clean = clean_data(df.copy())
df_clean.head()
Zeigen Sie einige Zusammenfassungen und Visualisierungen der bereinigten Daten an.
Verwenden Sie diesen Code, um kategorisierte, numerische und Zielattribute zu ermitteln.
# Determine the dependent (target) attribute
dependent_variable_name = "Exited"
print(dependent_variable_name)
# Determine the categorical attributes
categorical_variables = [col for col in df_clean.columns if col in "O"
or df_clean[col].nunique() <=5
and col not in "Exited"]
print(categorical_variables)
# Determine the numerical attributes
numeric_variables = [col for col in df_clean.columns if df_clean[col].dtype != "object"
and df_clean[col].nunique() >5]
print(numeric_variables)
Zeigen Sie die fünfzahlige Zusammenfassung (das Mindestergebnis, das erste Quartil, den Median, das dritte Quartil, die maximale Punktzahl) für die numerischen Attribute mithilfe von Boxplots an.
df_num_cols = df_clean[numeric_variables]
sns.set(font_scale = 0.7)
fig, axes = plt.subplots(nrows = 2, ncols = 3, gridspec_kw = dict(hspace=0.3), figsize = (17,8))
fig.tight_layout()
for ax,col in zip(axes.flatten(), df_num_cols.columns):
sns.boxplot(x = df_num_cols[col], color='green', ax = ax)
fig.delaxes(axes[1,2])
Zeigen Sie die Verteilung von ausgeschiedenen und nicht ausgeschiedenen Kunden über die kategorialen Attribute an.
attr_list = ['Geography', 'Gender', 'HasCrCard', 'IsActiveMember', 'NumOfProducts', 'Tenure']
fig, axarr = plt.subplots(2, 3, figsize=(15, 4))
for ind, item in enumerate (attr_list):
sns.countplot(x = item, hue = 'Exited', data = df_clean, ax = axarr[ind%2][ind//2])
fig.subplots_adjust(hspace=0.7)
Zeigen Sie die Häufigkeitsverteilung numerischer Attribute mithilfe des Histogramms an.
columns = df_num_cols.columns[: len(df_num_cols.columns)]
fig = plt.figure()
fig.set_size_inches(18, 8)
length = len(columns)
for i,j in itertools.zip_longest(columns, range(length)):
plt.subplot((length // 2), 3, j+1)
plt.subplots_adjust(wspace = 0.2, hspace = 0.5)
df_num_cols[i].hist(bins = 20, edgecolor = 'black')
plt.title(i)
plt.show()
Führen Sie Feature engineering aus, um neue Attribute basierend auf aktuellen Attributen zu generieren:
df_clean["NewTenure"] = df_clean["Tenure"]/df_clean["Age"]
df_clean["NewCreditsScore"] = pd.qcut(df_clean['CreditScore'], 6, labels = [1, 2, 3, 4, 5, 6])
df_clean["NewAgeScore"] = pd.qcut(df_clean['Age'], 8, labels = [1, 2, 3, 4, 5, 6, 7, 8])
df_clean["NewBalanceScore"] = pd.qcut(df_clean['Balance'].rank(method="first"), 5, labels = [1, 2, 3, 4, 5])
df_clean["NewEstSalaryScore"] = pd.qcut(df_clean['EstimatedSalary'], 10, labels = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
Daten Wrangler kann ebenfalls verwendet werden, um eine einseitige Codierung durchzuführen. Öffnen Sie dazu data Wrangler erneut. Wählen Sie dieses Mal die df_clean
-Daten aus.
Sie könnten den generierten Code kopieren, data Wrangler schließen, um zum Notizbuch zurückzukehren, und dann in eine neue Zelle einfügen. Wählen Sie alternativ oben links Code zu Notebook hinzufügen aus, um Data Wrangler zu schließen und den Code automatisch hinzuzufügen.
Wenn Sie Data Wrangler nicht verwendet haben, können Sie stattdessen diese nächste Codezelle verwenden:
# This is the same code that Data Wrangler will generate
import pandas as pd
def clean_data(df_clean):
# One-hot encode columns: 'Geography', 'Gender'
df_clean = pd.get_dummies(df_clean, columns=['Geography', 'Gender'])
return df_clean
df_clean_1 = clean_data(df_clean.copy())
df_clean_1.head()
Sie verwenden diese Daten im nächsten Notizbuch dieser Reihe.
table_name = "df_clean"
# Create Spark DataFrame from pandas
sparkDF=spark.createDataFrame(df_clean_1)
sparkDF.write.mode("overwrite").format("delta").save(f"Tables/{table_name}")
print(f"Spark dataframe saved to delta table: {table_name}")
Trainieren und Registrieren von Machine Learning-Modellen mit diesen Daten:
Ereignisse
31. März, 23 Uhr - 2. Apr., 23 Uhr
Das größte Fabric-, Power BI- und SQL-Lernereignis. 31. März – 2. April. Verwenden Sie Code FABINSIDER, um $400 zu sparen.
Heute registrierenSchulung
Modul
Arbeiten mit Delta Lake-Tabellen in Microsoft Fabric - Training
Die Tabellen in einem Microsoft Fabric-Lakehouse basieren auf der Delta Lake-Technologie, die üblicherweise in Apache Spark verwendet wird. Mithilfe der erweiterten Funktionen von Deltatabellen können Sie komplexe Analyselösungen erstellen.
Zertifizierung
Microsoft Certified: Azure Data Scientist Associate - Certifications
Verwalten Sie Datenerfassung und -vorbereitung, Modelltraining und -bereitstellung sowie die Überwachung von Machine Learning-Lösungen mit Python, Azure Machine Learning und MLflow.
Dokumentation
Data Science-Lernprogramme – Vorbereiten Ihres Systems - Microsoft Fabric
Bevor Sie mit dem folgenden Data-Science-Szenario beginnen, sollten Sie sich mit den Voraussetzungen, dem Beispieldataset und den benötigten Lakehouse- und Notebookressourcen vertraut machen.
Anleitung: Durchführen der Stapelbewertung und Speichern von Vorhersagen - Microsoft Fabric
In diesem vierten Teil der Lernprogrammreihe erfahren Sie, wie Sie ein trainiertes und registriertes Modell importieren und Batchvorhersagen für ein Testdatenset durchführen.
Tutorial: Trainieren und Registrieren von Modellen für maschinelles Lernen - Microsoft Fabric
In diesem dritten Teil der Lernprogrammreihe erfahren Sie, wie Sie Machine Learning-Modelle trainieren, um vorherzusagen, ob Bankkunden aufhören würden, Geschäfte mit der Bank zu machen oder nicht, und dann die trainierten Modelle zu registrieren.