Tabellarisches Vertex AI-Dataset erstellen

Das Modell, das Sie später in dieser Anleitung erstellen, benötigt ein Dataset, um es zu trainieren. Die in diesem Tutorial verwendeten Daten sind ein öffentlich zugängliches Dataset, das Angaben zu drei Pinguinarten enthält. Anhand der folgenden Daten können Sie vorhersagen, welcher der drei Arten ein Pinguin angehört.

  • island: Die Insel, auf der eine Pinguinart vorkommt.
  • culmen_length_mm: Die Länge des Rückens entlang der Schnabeloberseite eines Pinguins.
  • culmen_depth_mm: Die Höhe des Schnabels eines Pinguins.
  • flipper_length_mm: Die Länge des flossenartigen Flügels eines Pinguins.
  • body_mass_g: Die Körpermasse eines Pinguins.
  • sex – Das Geschlecht des Pinguins.

Daten herunterladen, vorverarbeiten und aufteilen

In diesem Abschnitt laden Sie das öffentlich verfügbare BigQuery-Dataset herunter und bereiten die Daten vor. So bereiten Sie die Daten vor:

  • Konvertieren Sie die Kategoriemerkmale (Merkmale, die mit einem String statt einer Zahl beschrieben werden) in numerische Daten. Beispiel: Sie konvertieren die Namen der drei Pinguinarten in die numerischen Werte 0, 1 und 2.

  • Entfernen Sie alle Spalten im Dataset, die nicht verwendet werden.

  • Entfernen Sie alle Zeilen, die nicht verwendet werden können.

  • Teilen Sie die Daten in zwei verschiedene Datensätze auf. Jeder Datensatz wird in einem Pandas-DataFrame-Objekt gespeichert.

    • Das df_train DataFrame enthält Daten, die zum Trainieren Ihres Modells verwendet werden.

    • Das df_for_prediction DataFrame enthält Daten, die zum Generieren von Vorhersagen verwendet werden.

Nach der Verarbeitung der Daten ordnet der Code die numerischen Werte der drei Kategorienspalten ihren String-Werten zu und gibt sie dann aus, damit Sie sehen können, wie die Daten aussehen.

Führen Sie den folgenden Code in Ihrem Notebook aus, um Ihre Daten herunterzuladen und zu verarbeiten:

import numpy as np
import pandas as pd

LABEL_COLUMN = "species"

# Define the BigQuery source dataset
BQ_SOURCE = "bigquery-public-data.ml_datasets.penguins"

# Define NA values
NA_VALUES = ["NA", "."]

# Download a table
table = bq_client.get_table(BQ_SOURCE)
df = bq_client.list_rows(table).to_dataframe()

# Drop unusable rows
df = df.replace(to_replace=NA_VALUES, value=np.NaN).dropna()

# Convert categorical columns to numeric
df["island"], island_values = pd.factorize(df["island"])
df["species"], species_values = pd.factorize(df["species"])
df["sex"], sex_values = pd.factorize(df["sex"])

# Split into a training and holdout dataset
df_train = df.sample(frac=0.8, random_state=100)
df_for_prediction = df[~df.index.isin(df_train.index)]

# Map numeric values to string values
index_to_island = dict(enumerate(island_values))
index_to_species = dict(enumerate(species_values))
index_to_sex = dict(enumerate(sex_values))

# View the mapped island, species, and sex data
print(index_to_island)
print(index_to_species)
print(index_to_sex)

Im Folgenden finden Sie die ausgegebenen zugeordneten Werte für nicht numerische Merkmale:

{0: 'Dream', 1: 'Biscoe', 2: 'Torgersen'}
{0: 'Adelie Penguin (Pygoscelis adeliae)', 1: 'Chinstrap penguin (Pygoscelis antarctica)', 2: 'Gentoo penguin (Pygoscelis papua)'}
{0: 'FEMALE', 1: 'MALE'}

Die ersten drei Werte stehen für die Inseln, die ein Pinguin bewohnen könnte. Die zweiten drei Werte sind wichtig, da sie den Vorhersagen zugeordnet werden, die Sie am Ende dieser Anleitung erhalten. In der dritten Zeile werden das Geschlechtsmerkmal FEMALE auf 0 und das Geschlechtsmerkmal MALE auf 1 zugeordnet.

Tabellarisches Dataset zum Trainieren Ihres Modells erstellen

Im vorherigen Schritt haben Sie Ihre Daten heruntergeladen und verarbeitet. In diesem Schritt laden Sie die in Ihrer df_train DataFrame gespeicherten Daten in ein BigQuery-Dataset. Anschließend erstellen Sie mit dem BigQuery-Dataset ein tabellarisches Vertex AI-Dataset. Dieses tabellarische Dataset wird zum Trainieren Ihres Modells verwendet. Weitere Informationen finden Sie unter Verwaltete Datasets verwenden.

Erstellen Sie ein BigQuery-Dataset

Führen Sie den folgenden Code aus, um Ihr BigQuery-Dataset zu erstellen, mit dem ein Vertex AI-Dataset erstellt wird. Der Befehl create_dataset gibt ein neues BigQuery-DataSet zurück.

# Create a BigQuery dataset
bq_dataset_id = f"{project_id}.dataset_id_unique"
bq_dataset = bigquery.Dataset(bq_dataset_id)
bq_client.create_dataset(bq_dataset, exists_ok=True)

Tabellarisches Vertex AI-Dataset erstellen

Führen Sie den folgenden Code aus, um Ihr BigQuery-Dataset in ein tabellarisches Vertex AI-Dataset zu konvertieren. Sie können die Warnung bezüglich der erforderlichen Anzahl an Zeilen für das Training mit Tabellendaten ignorieren. Da diese Anleitung schnell zeigen soll, wie Sie Vorhersagen abrufen, wird ein relativ kleiner Satz an Daten verwendet, um Ihnen zu zeigen, wie Sie Vorhersagen generieren. In der Praxis sollten Sie mindestens 1.000 Zeilen in einem tabellarischen Dataset nutzen. Der Befehl create_from_dataframe gibt ein Vertex AI-TabularDataset zurück.

# Create a Vertex AI tabular dataset
dataset = aiplatform.TabularDataset.create_from_dataframe(
    df_source=df_train,
    staging_path=f"bq://{bq_dataset_id}.table-unique",
    display_name="sample-penguins",
)

Sie haben jetzt das tabellarische Vertex AI-Dataset, das zum Trainieren Ihres Modells verwendet wird.

(Optional) Öffentliches Dataset in BigQuery ansehen

Wenn Sie die in dieser Anleitung verwendeten öffentlichen Daten aufrufen möchten, können Sie sie in BigQuery öffnen.

  1. Geben Sie unter Suche in Google Cloud „BigQuery“ ein und drücken Sie die Eingabetaste.

  2. Klicken Sie in den Suchergebnissen auf "BigQuery".

  3. Maximieren Sie im Fenster Explorer bigquery-public-data.

  4. Maximieren Sie unter bigquery-public-data den Eintrag ml_datasets und klicken Sie dann auf penguins.

  5. Klicken Sie unter Feldname auf einen der Namen, um die Daten des Felds aufzurufen.

Ansehen des öffentlichen Pinguin-Datasets.