Membuat set data tabulasi Vertex AI

Model yang Anda buat nanti dalam tutorial ini memerlukan set data untuk melatihnya. Data yang digunakan di dalam tutorial ini adalah set data yang tersedia untuk umum, yang berisi detail tentang tiga spesies penguin. Data berikut ini digunakan untuk memprediksi yang mana dari ketiga spesies penguin tersebut.

  • island - Pulau tempat spesies penguin ditemukan.
  • culmen_length_mm - Panjang punggung di sepanjang bagian atas paruh seekor penguin.
  • culmen_depth_mm - Tinggi paruh seekor penguin.
  • flipper_length_mm - Panjang sayap seekor penguin, yang terlihat seperti sirip.
  • body_mass_g - Massa tubuh seekor penguin.
  • sex - Jenis kelamin seekor penguin.

Mendownload, melakukan prapemrosesan, dan membagi data

Di bagian ini, Anda akan mendownload set data BigQuery yang tersedia untuk publik, dan menyiapkan datanya. Untuk menyiapkan datanya, Anda perlu melakukan hal berikut ini:

  • Konversikan fitur kategoris (fitur yang dijelaskan dengan string, bukan angka) menjadi data numerik. Misalnya, Anda mengonversi nama ketiga jenis penguin menjadi nilai numerik 0, 1, dan 2.

  • Hapus semua kolom dalam set data yang tidak digunakan.

  • Hapus semua baris yang tidak dapat digunakan.

  • Pisahkan data menjadi dua set data yang berbeda. Setiap kumpulan data disimpan di dalam objek pandas DataFrame.

    • df_train DataFrame berisi data yang digunakan untuk melatih model Anda.

    • df_for_prediction DataFrame berisi data yang digunakan untuk menghasilkan prediksi.

Setelah memproses data, kode tersebut akan memetakan nilai numerik tiga kolom kategoris ke nilai stringnya, lalu mencetaknya sehingga Anda dapat melihat tampilan data tersebut.

Untuk mengunduh dan memproses data, jalankan kode berikut ini di dalam notebook Anda:

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)

Berikut ini adalah nilai cetak yang dipetakan untuk karakteristik yang bukan numerik:

{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'}

Tiga nilai pertama adalah pulau yang mungkin dihuni oleh penguin. Tiga nilai kedua merupakan hal yang penting, sebab nilai tersebut dipetakan ke prediksi yang Anda terima di akhir tutorial ini. Baris ketiga menunjukkan karakteristik jenis kelamin FEMALE dipetakan ke 0, dan MALE yang dipetakan karakteristik jenis kelaminnya ke 1.

Membuat set data tabulasi untuk melatih model Anda

Pada langkah sebelumnya, Anda telah mendownload dan memproses data Anda. Pada langkah ini, Anda memuat data yang disimpan di dalam df_train DataFrame ke set data BigQuery. Kemudian, Anda menggunakan set data BigQuery untuk membuat set data tabulasi Vertex AI. Set data tabulasi ini digunakan untuk melatih model Anda. Untuk informasi selengkapnya, lihat Menggunakan set data terkelola.

Membuat set data BigQuery

Untuk membuat set data BigQuery yang digunakan untuk membuat set data Vertex AI, jalankan kode berikut ini. Perintah create_dataset menampilkan BigQuery DataSet yang baru.

# 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)

Membuat set data tabulasi Vertex AI

Untuk mengonversi set data BigQuery menjadi set data tabulasi Vertex AI, jalankan kode berikut. Anda dapat mengabaikan peringatan tentang jumlah baris yang diperlukan untuk dilatih menggunakan data tabulasi. Karena tujuan tutorial ini adalah untuk menunjukkan cara mendapatkan prediksi dengan cepat, sekumpulan data yang relatif kecil digunakan untuk menunjukkan cara untuk membuat prediksi kepada Anda. Dalam skenario dunia nyata, Anda ingin setidaknya 1000 baris di dalam set data tabel. Perintah create_from_dataframe menampilkan TabularDataset Vertex AI.

# 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",
)

Sekarang, set data tabel Vertex AI telah digunakan untuk melatih model Anda.

(Opsional) Melihat set data publik di dalam BigQuery

Jika ingin melihat data publik yang digunakan dalam tutorial ini, Anda dapat membukanya di BigQuery.

  1. Di bagian Search di dalam Google Cloud, masukkan BigQuery, lalu tekan tombol return.

  2. Di hasil penelusuran, klik BigQuery

  3. Di jendela Explorer, luaskan bigquery-public-data.

  4. Di bagian bigquery-public-data, luaskan ml_datasets, lalu klik penguins.

  5. Klik salah satu nama di bagian Field name untuk melihat data dari kolom tersebut.

Lihat set data publik penguin.