What-If Aracı ve Vertex AI'ı kullanarak finansal makine öğrenimi modeli oluşturma

1. Genel Bakış

Bu laboratuvarda, finansal verilerle eğitilmiş bir XGBoost modelini analiz etmek için What-if Aracı'nı kullanacaksınız. Modeli analiz ettikten sonra Cloud'un yeni Vertex AI'sına dağıtacaksınız.

Öğrendikleriniz

Öğrenecekleriniz:

  • Barındırılan bir not defterindeki herkese açık ipotek veri kümesinde XGBoost modelini eğitme
  • What-if aracını kullanarak modeli analiz etme
  • XGBoost modelini Vertex AI'a dağıtma

Bu laboratuvarı Google Cloud'da çalıştırmanın toplam maliyeti yaklaşık 1 ABD dolarıdır.

2. Vertex AI'a giriş

Bu laboratuvarda, Google Cloud'daki en yeni AI ürün teklifi kullanılmaktadır. Vertex AI, Google Cloud'daki makine öğrenimi tekliflerini sorunsuz bir geliştirme deneyimiyle entegre eder. Önceden, AutoML ve özel modellerle eğitilen modellere ayrı hizmetler üzerinden erişilebiliyordu. Yeni teklif, her ikisi de tek bir API'de ve diğer yeni ürünlerle birleştirilir. Dilerseniz mevcut projeleri Vertex AI'a taşıyabilirsiniz. Geri bildiriminiz varsa lütfen destek sayfasını inceleyin.

Vertex AI, uçtan uca makine öğrenimi iş akışlarını destekleyen birçok farklı ürün içerir. Bu laboratuvar, aşağıda vurgulanan ürünlere odaklanacaktır: Tahmin ve Not defterleri.

Vertex ürününe genel bakış

3. XGBoost ile ilgili kısa bilgiler

XGBoost, tahmine dayalı modeller oluşturmak için karar ağaçlarını ve gradyan artırmayı kullanan bir makine öğrenimi çerçevesidir. Bir ağaçtaki farklı yaprak düğümleriyle ilişkili puana dayanarak birden fazla karar ağacını bir araya getirir.

Aşağıdaki diyagramda, bir spor maçının hava durumu tahminine göre oynanıp oynanmaması gerektiğini değerlendiren basit bir karar ağacı modelinin görselleştirmesi gösterilmektedir:

Ağaç modeli örneği

Bu model için neden XGBoost kullanıyoruz? Geleneksel nöral ağların en iyi performansı resimler ve metin gibi yapılandırılmamış verilerde gösterdiği görse de karar ağaçları, bu codelab'de kullanacağımız ipotek veri kümesi gibi yapılandırılmış verilerde genellikle çok iyi performans gösterir.

4. Ortamınızı ayarlama

Bu codelab'i çalıştırmak için faturalandırmanın etkin olduğu bir Google Cloud Platform projesine ihtiyacınız var. Proje oluşturmak için buradaki talimatları uygulayın.

1. Adım: Compute Engine API'yi etkinleştirin

Compute Engine'e gidin ve zaten etkinleştirilmemişse Etkinleştir'i seçin. Not defteri örneğinizi oluşturmak için buna ihtiyacınız olacaktır.

2. adım: Vertex AI API'yi etkinleştirin

Cloud Console'un Vertex bölümüne giderek Vertex AI API'yi etkinleştir'i tıklayın.

Vertex kontrol paneli

3. Adım: Not defterleri örneği oluşturun

Cloud Console'un Vertex bölümünde Notebooks'u tıklayın:

Not defterlerini seçin

Burada, Yeni Örnek'i seçin. Ardından GPU'suz TensorFlow Enterprise 2.3 örnek türünü seçin:

TFE örneği

Varsayılan seçenekleri kullanın ve ardından Oluştur'u tıklayın. Örnek oluşturulduktan sonra JupyterLab'i aç'ı seçin.

4. Adım: XGBoost'u yükleyin

JupyterLab örneğiniz açıldıktan sonra XGBoost paketini eklemeniz gerekir.

Bunu yapmak için başlatıcıdan Terminal'i seçin:

Ardından aşağıdaki komutu çalıştırarak Vertex AI tarafından desteklenen en son XGBoost sürümünü yükleyin:

pip3 install xgboost==1.2

Bu işlem tamamlandıktan sonra başlatıcıdan bir Python 3 Notebook örneği açın. Not defterinizi kullanmaya başlamaya hazırsınız.

5. Adım: Python paketlerini içe aktarın

Not defterinizin ilk hücresine aşağıdaki içe aktarma işlemlerini ekleyin ve hücreyi çalıştırın. Üst menüde sağ ok tuşuna veya Command-Enter tuşuna basarak çalıştırabilirsiniz:

import pandas as pd
import xgboost as xgb
import numpy as np
import collections
import witwidget

from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, confusion_matrix
from sklearn.utils import shuffle
from witwidget.notebook.visualization import WitWidget, WitConfigBuilder

5. Verileri indirme ve işleme

XGBoost modelini eğitmek için ffiec.gov'dan alınan bir ipotek veri kümesi kullanacağız. Orijinal veri kümesinde bazı ön işleme gerçekleştirdik ve modeli eğitmek için kullanmanız için daha küçük bir sürüm oluşturduk. Model, belirli bir ipotek başvurusunun onaylanıp onaylanmayacağını tahmin eder.

1. Adım: Önceden işlenmiş veri kümesini indirin

Google Cloud Storage'da veri kümesinin bir sürümünü sizin için hazırladık. Jupyter not defterinizde aşağıdaki gsutil komutunu çalıştırarak indirebilirsiniz:

!gsutil cp 'gs://mortgage_dataset_files/mortgage-small.csv' .

2. Adım: Veri kümesini Pandas ile okuyun

Pandas DataFrame'imizi oluşturmadan önce, Pandas'ın veri kümemizi doğru bir şekilde okuyabilmesi için her bir sütunun veri türüne ait bir dict oluşturacağız:

COLUMN_NAMES = collections.OrderedDict({
 'as_of_year': np.int16,
 'agency_code': 'category',
 'loan_type': 'category',
 'property_type': 'category',
 'loan_purpose': 'category',
 'occupancy': np.int8,
 'loan_amt_thousands': np.float64,
 'preapproval': 'category',
 'county_code': np.float64,
 'applicant_income_thousands': np.float64,
 'purchaser_type': 'category',
 'hoepa_status': 'category',
 'lien_status': 'category',
 'population': np.float64,
 'ffiec_median_fam_income': np.float64,
 'tract_to_msa_income_pct': np.float64,
 'num_owner_occupied_units': np.float64,
 'num_1_to_4_family_units': np.float64,
 'approved': np.int8
})

Ardından, yukarıda belirttiğimiz veri türlerini ileterek bir DataFrame oluşturacağız. Orijinal veri kümesi belirli bir şekilde sıralanmışsa verilerimizi karıştırmak önemlidir. Bunu yapmak için, ilk hücrede içe aktardığımız shuffle adında bir sklearn yardımcı programı kullanıyoruz:

data = pd.read_csv(
 'mortgage-small.csv',
 index_col=False,
 dtype=COLUMN_NAMES
)
data = data.dropna()
data = shuffle(data, random_state=2)
data.head()

data.head(), veri kümemizin ilk beş satırını Pandas'ta önizlememize olanak tanıyor. Yukarıdaki hücreyi çalıştırdıktan sonra şuna benzer bir sonuç görürsünüz:

Mortgage veri kümesi önizlemesi

Bunlar, modelimizi eğitmek için kullanacağımız özelliklerdir. Ekranın en sonuna kadar kaydırırsanız son approved sütununu görürsünüz. Bu, bizim tahmin ettiğimiz şeydir. 1 değeri belirli bir uygulamanın onaylandığını, 0 ise reddedildiğini belirtir.

Veri kümesindeki onaylanmış / reddedilen değerlerin dağılımını görmek ve bir dizi etiket oluşturmak için aşağıdaki komutu çalıştırın:

# Class labels - 0: denied, 1: approved
print(data['approved'].value_counts())

labels = data['approved'].values
data = data.drop(columns=['approved'])

Veri kümesinin yaklaşık% 66'sı onaylanmış uygulamalar içermektedir.

3. Adım: Kategorik değerler için model sütun oluşturma

Bu veri kümesi kategorik ve sayısal değerlerin bir karışımını içerir, ancak XGBoost tüm özelliklerin sayısal olmasını gerektirir. XGBoost modelimizde, kategorik değerleri tek kullanımlık kodlama kullanarak göstermek yerine, Pandas get_dummies işlevinden yararlanacağız.

get_dummies, birden çok olası değer içeren bir sütunu alır ve her biri yalnızca 0 ve 1'lerden oluşan bir sütun serisine dönüştürür. Örneğin, "color" (renk) olası "mavi" değerleriyle ve "kırmızı", get_dummies, bunu "color_blue" adında 2 sütuna dönüştürür. ve "color_red" boole 0 ve 1 değerleriyle birlikte kullanın.

Kategorik özelliklerimiz için model sütunlar oluşturmak üzere aşağıdaki kodu çalıştırın:

dummy_columns = list(data.dtypes[data.dtypes == 'category'].index)
data = pd.get_dummies(data, columns=dummy_columns)

data.head()

Bu defalık verileri önizlediğinizde, tek tek özelliklerin (aşağıda gösterilmiştir purchaser_type gibi) birden çok sütuna bölünmüş olduğunu görürsünüz:

Pandas model sütunları

4. adım: Verileri eğitim ve test kümelerine ayırma

Makine öğrenimindeki önemli kavramlardan biri eğitim / test dağılımıdır. Verilerimizin büyük bir kısmını alıp modelimizi eğitmek için kullanırız. Kalan kısmını da modelimizi daha önce hiç görülmemiş veriler üzerinde test etmek için bir kenara atarız.

Verilerimizi bölmek için Scikit-learn işlevini train_test_split kullanan aşağıdaki kodu not defterinize ekleyin:

x,y = data.values,labels
x_train,x_test,y_train,y_test = train_test_split(x,y)

Artık modelinizi oluşturup eğitmeye hazırsınız.

6. XGBoost modelini oluşturun, eğitin ve değerlendirin

1. Adım: XGBoost modelini tanımlayın ve eğitin

XGBoost'ta model oluşturmak basittir. Modeli oluşturmak için XGBClassifier sınıfını kullanacağız ve yalnızca özel sınıflandırma görevimiz için doğru objective parametresini iletmemiz gerekecek. Bu örnekte, ikili sınıflandırma sorunumuz olduğu ve modelin (0,1) aralığında tek bir değer üretmesini istediğimiz için reg:logistic kullanıyoruz: onaylanmamış için 0 ve onaylılar için 1.

Aşağıdaki kod bir XGBoost modeli oluşturur:

model = xgb.XGBClassifier(
    objective='reg:logistic'
)

fit() yöntemini çağırıp eğitim verilerini ve etiketlerini ileterek modeli tek bir kod satırıyla eğitebilirsiniz.

model.fit(x_train, y_train)

2. Adım: Modelinizin doğruluğunu değerlendirin

Artık predict() işleviyle test verilerimiz hakkında tahminler oluşturmak için eğitilen modelimizi kullanabiliriz.

Ardından, test verilerimize dayalı olarak modelimizin doğruluğunu hesaplamak için Scikit-learn'ün accuracy_score() işlevini kullanırız. Modele, kesin referans değerlerini, test kümemizdeki her örnek için modelin tahmin edilen değerleriyle birlikte iletiriz:

y_pred = model.predict(x_test)
acc = accuracy_score(y_test, y_pred.round())
print(acc, '\n')

Doğruluk oranını %87 civarında görürsünüz, ancak makine öğreniminde her zaman rastgelelik unsuru olduğu için sizin doğruluk oranınız biraz farklılık gösterir.

3. adım: Modelinizi kaydedin

Modeli dağıtmak için aşağıdaki kodu çalıştırarak modeli bir yerel dosyaya kaydedin:

model.save_model('model.bst')

7. Modelinizi yorumlamak için What-if aracını kullanma

1. Adım: What-if Aracı görselleştirmesini oluşturun

What-if Aracı'nı yerel modelinize bağlamak için test örneklerinizin bir alt kümesini, bu örneklerdeki kesin referans değerleriyle birlikte iletmeniz gerekir. Kesin referans etiketleriyle birlikte 500 test örneğimizden oluşan bir Numpy dizisi oluşturalım:

num_wit_examples = 500
test_examples = np.hstack((x_test[:num_wit_examples],y_test[:num_wit_examples].reshape(-1,1)))

What-if Aracı'nı örneklendirmek için, bir WitConfigBuilder nesnesi oluşturup analiz etmek istediğimiz modele iletmeniz yeterlidir.

What-if Aracı, modelimizdeki (bu senaryoda 2) her sınıf için bir puan listesi beklediğinden, XGBoost'un predict_proba yöntemini What-If Aracı ile kullanacağız:

config_builder = (WitConfigBuilder(test_examples.tolist(), data.columns.tolist() + ['mortgage_status'])
  .set_custom_predict_fn(model.predict_proba)
  .set_target_feature('mortgage_status')
  .set_label_vocab(['denied', 'approved']))
WitWidget(config_builder, height=800)

Görselleştirmenin yüklenmesinin bir dakika süreceğini unutmayın. Yükleme işlemi tamamlandığında aşağıdakileri görürsünüz:

What-If Aracı ilk görünümü

Y ekseni bize modelin tahminini gösterir. 1 değeri yüksek güvenilirlikli approved tahmini, 0 ise yüksek güvenli denied tahminidir. X ekseni, yalnızca yüklenen tüm veri noktalarının yayılımıdır.

2. adım: Veri noktalarını tek tek inceleyin

What-if Aracı'ndaki varsayılan görünüm Veri noktası düzenleyicisi sekmesidir. Burada herhangi bir veri noktasını tıklayarak özelliklerini görebilir, özellik değerlerini değiştirebilir ve bu değişikliğin modelin tek bir veri noktasıyla ilgili tahminini nasıl etkilediğini görebilirsiniz.

Aşağıdaki örnekte 0,5 eşiğine yakın bir veri noktası seçtik. Bu veri noktasıyla ilişkili ipotek başvurusunun kaynağı CFPB'dir. Bu özelliği 0 olarak, ayrıca bu kredinin HUD'den kaynaklanması halinde modelin tahminine ne olacağını görmek için agency_code_Department of Housing and Urban Development (HUD) değerini 1 olarak değiştirdik:

What-if Aracı'nın sol alt bölümünde görebileceğiniz gibi, bu özelliği değiştirmek modelin approved tahminini %32 oranında önemli ölçüde düşürdü. Bu durum, kredinin kaynağı olan ajansın modelin çıktısı üzerinde güçlü bir etkiye sahip olduğunu gösterebilir. Ancak emin olmak için daha fazla analiz yapmamız gerek.

Kullanıcı arayüzünün sol alt bölümünde, her veri noktası için kesin referans değerini de görüp modelin tahminiyle karşılaştırabiliriz:

3. Adım: Varsayımsal analiz

Ardından, herhangi bir veri noktasını tıklayın ve En yakın karşı olgusal veri noktasını göster kaydırma çubuğunu sağa kaydırın:

Bunu seçtiğinizde, seçtiğiniz orijinal değerle en benzer özellik değerlerine, ancak bunun tersi bir tahmine sahip veri noktası gösterilir. Daha sonra, iki veri noktasının nerede farklılaştığını görmek için özellik değerleri arasında gezinebilirsiniz (farklar yeşil ve kalın olarak vurgulanır).

4. adım: Kısmi bağımlılık grafiklerine bakın

Her bir özelliğin modelin genel tahminlerini nasıl etkilediğini görmek için Kısmi bağımlılık grafikleri kutusunu işaretleyin ve Genel kısmi bağımlılık grafikleri'nin seçildiğinden emin olun:

Burada, HUD'den kaynaklanan kredilerin reddedilme olasılığının biraz daha yüksek olduğunu görebiliriz. Ajans kodu bir boole özelliği olduğundan, değerler yalnızca tam olarak 0 veya 1 olabilir. Bu nedenle grafik bu şekildedir.

applicant_income_thousands sayısal bir özelliktir. Kısmi bağımlılık grafiğine göre daha yüksek gelirin başvurunun onaylanma olasılığını kısmen artırdığını fakat yaklaşık 200.000 ABD dolarını bulabildiğini görüyoruz. 200.000 ABD dolarından sonra bu özellik modelin tahminini etkilemez.

5. adım: Genel performans ve adalet hakkında bilgi edinin

Ardından, Performans ve Adalet sekmesini seçin. Bu, karışıklık matrisleri, PR eğrileri ve ROC eğrilerini de içeren, sağlanan veri kümesiyle ilgili model sonuçlarına ilişkin genel performans istatistiklerini gösterir.

Karışıklık matrisini görmek için Kesin Referans Özelliği olarak mortgage_status'yi seçin:

Bu karışıklık matrisi, modelimizin doğru ve yanlış tahminlerini toplamın yüzdesi olarak gösterir. Gerçek Evet / Tahmin Edilen Evet ve Gerçek Hayır / Tahmin Edilen Hayır karelerini toplarsanız bu karelerin toplamı modelinizle aynı olmalıdır (bu durumda yaklaşık %87 olsa da ML modellerinin eğitilmesinde rastgelelik unsuru olduğu için modeliniz biraz farklılık gösterebilir).

Ayrıca eşik kaydırma çubuğunu kullanarak, modelin kredi için approved tahminine karar vermeden önce döndürmesi gereken pozitif sınıflandırma puanını artırıp azaltabilir ve bunun doğruluğu, yanlış pozitif ve yanlış negatif değerleri nasıl değiştirdiğini görebilirsiniz. Bu durumda, doğruluk 0,55'lik bir eşik civarında en yüksek olur.

Sonra, soldaki Dilim ölçütü açılır listesinde loan_purpose_Home_purchase'yi seçin:

Artık verilerinizin iki alt kümesiyle ilgili performansı görürsünüz: "0" dilim, kredinin ev satın alma işlemi için olmadığı durumları gösterir. "1" dilimi, kredinin ev satın alma amaçlı olduğu durumlardır. Performansta fark olup olmadığını görmek için iki dilim arasındaki doğruluk, yanlış pozitif ve yanlış negatif oranı değerlerini kontrol edin.

Karışıklık matrislerine bakmak için satırları genişletirseniz, modelin "onaylandı" sonucunu tahmin ettiğini görebilirsiniz. kredi başvurularının yaklaşık% 70'i, ev satışına yönelik olmayan kredilerin ise yalnızca% 46'sı için geçerlidir (tam yüzdeler modelinize göre değişiklik gösterir):

Soldaki radyo düğmelerinden Demografik denklik'i seçerseniz iki eşik, modelin her iki dilimdeki başvuru sahiplerinin benzer yüzdesi için approved değerini tahmin edecek şekilde ayarlanır. Bu durum, her bir dilim için doğruluk, yanlış pozitif ve yanlış negatif değerlerinde ne yapar?

6. Adım: Özellik dağıtımını keşfedin

Son olarak, What-if Aracı'nda Özellikler sekmesine gidin. Bu işlem, veri kümenizdeki her özellik için değerlerin dağılımını gösterir:

Veri kümenizin dengeli olduğundan emin olmak için bu sekmeyi kullanabilirsiniz. Örneğin, veri kümesinde Çiftlik Hizmetleri Kurumu'na ait çok az kredinin yer aldığı görülüyor. Model doğruluğunu iyileştirmek için, veriler mevcutsa ilgili ajanstan daha fazla kredi eklemeyi düşünebiliriz.

Aşağıda, What-if Tool'u keşfetmeyle ilgili birkaç fikir verilmiştir. Aracı kullanmaya devam edebilirsiniz. Keşfedilecek daha pek çok alan var.

8. Modeli Vertex AI'a dağıtma

Modelimiz yerel olarak çalışıyor, ancak sadece bu not defterinde değil, her yerden tahmin yapabilseydik güzel olurdu. Bu adımda modeli buluta dağıtacağız.

1. Adım: Modelimiz için bir Cloud Storage paketi oluşturun

Öncelikle codelab'in geri kalanında kullanacağımız bazı ortam değişkenlerini tanımlayalım. Aşağıdaki değerlere Google Cloud projenizin adını, oluşturmak istediğiniz bulut depolama paketinin adını (genel olarak benzersiz olmalıdır) ve modelinizin ilk sürümünün sürüm adını girin:

# Update the variables below to your own Google Cloud project ID and GCS bucket name. You can leave the model name we've specified below:
GCP_PROJECT = 'your-gcp-project'
MODEL_BUCKET = 'gs://storage_bucket_name'
MODEL_NAME = 'xgb_mortgage'

Şimdi XGBoost model dosyamızı depolamak için bir depolama paketi oluşturmaya hazırız. Dağıtım sırasında Vertex AI'ı bu dosyaya yönlendireceğiz.

Bölgesel depolama paketi oluşturmak için not defterinizde şu gsutil komutunu çalıştırın:

!gsutil mb -l us-central1 $MODEL_BUCKET

2. Adım: Model dosyasını Cloud Storage'a kopyalayın

Şimdi, XGBoost kayıtlı model dosyamızı Cloud Storage'a kopyalayacağız. Aşağıdaki gsutil komutunu çalıştırın:

!gsutil cp ./model.bst $MODEL_BUCKET

Dosyanın kopyalandığını onaylamak için Cloud Console'daki depolama tarayıcısına gidin:

3. Adım: Modeli oluşturun ve uç noktaya dağıtın

Modeli buluta dağıtmaya neredeyse hazırız. Vertex AI'da bir model birden fazla uç nokta içerebilir. Önce bir model oluşturacağız, sonra da bu modelin içinde bir uç nokta oluşturup dağıtacağız.

İlk olarak, modelinizi oluşturmak için gcloud KSA'yı kullanın:

!gcloud beta ai models upload \
--display-name=$MODEL_NAME \
--artifact-uri=$MODEL_BUCKET \
--container-image-uri=us-docker.pkg.dev/cloud-aiplatform/prediction/xgboost-cpu.1-2:latest \
--region=us-central1

artifact-uri parametresi, XGBoost modelinizi kaydettiğiniz Storage konumuna işaret eder. container-image-uri parametresi, Vertex AI'a sunum için hangi önceden oluşturulmuş container'ın kullanılacağını bildirir. Bu komut tamamlandıktan sonra yeni modelinizin kimliğini almak için Vertex konsolunuzun modeller bölümüne gidin. Bu bilgiyi şu adreste bulabilirsiniz:

Konsoldan model kimliği al

Bu kimliği kopyalayıp bir değişkene kaydedin:

MODEL_ID = "your_model_id"

Şimdi sıra bu model içinde bir uç nokta oluşturmaya geldi. Bu işlemi şu gcloud komutuyla yapabiliriz:

!gcloud beta ai endpoints create \
--display-name=xgb_mortgage_v1 \
--region=us-central1

Bu işlem tamamlandığında, uç noktanızın konumunun not defteri çıkışımıza kaydedildiğini görürsünüz. Uç noktanın aşağıdakine benzer bir yolla oluşturulduğunu belirten satırı bulun: projects/project_ID/locations/us-central1/endpoints/endpoint_ID. Ardından aşağıdaki değerleri yukarıda oluşturulan uç noktanızın kimlikleriyle değiştirin:

ENDPOINT_ID = "your_endpoint_id"

Uç noktanızı dağıtmak için aşağıdaki gcloud komutunu çalıştırın:

!gcloud beta ai endpoints deploy-model $ENDPOINT_ID \
--region=us-central1 \
--model=$MODEL_ID \
--display-name=xgb_mortgage_v1 \
--machine-type=n1-standard-2 \
--traffic-split=0=100

Uç nokta dağıtımının tamamlanması yaklaşık 5-10 dakika sürer. Uç noktanız dağıtım yaparken konsolunuzun modeller bölümüne gidin. Modelinizi tıkladığınızda son uygulamanızın şunları dağıttığını görürsünüz:

Dağıtım başarıyla tamamlandığında yükleme döner simgesinin bulunduğu yerde yeşil bir onay işareti görürsünüz.

4. Adım: Dağıtılan modeli test edin

Dağıtılan modelinizin çalıştığından emin olmak için gcloud'u kullanarak tahminde bulunun. Öncelikle test grubumuzdan bir örnekle bir JSON dosyası kaydedin:

%%writefile predictions.json
{
  "instances": [
    [2016.0, 1.0, 346.0, 27.0, 211.0, 4530.0, 86700.0, 132.13, 1289.0, 1408.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0]
  ]
}

Şu gcloud komutunu çalıştırarak modelinizi test edin:

!gcloud beta ai endpoints predict $ENDPOINT_ID \
--json-request=predictions.json \
--region=us-central1

Modelinizin tahminini çıkışta göreceksiniz. Söz konusu örnek onaylandığı için 1'e yakın bir değer görmeniz gerekir.

9. Temizleme

Bu not defterini kullanmaya devam etmek istiyorsanız, kullanılmadığında devre dışı bırakmanız önerilir. Cloud Console'daki Not Defteri kullanıcı arayüzünden not defterini ve ardından Durdur'u seçin:

Bu laboratuvarda oluşturduğunuz tüm kaynakları silmek istiyorsanız not defteri örneğini durdurmak yerine silin.

Dağıttığınız uç noktayı silmek için Vertex konsolunuzun Endpoints bölümüne gidip sil simgesini tıklayın:

Storage Paketini silmek için Cloud Console'unuzdaki gezinme menüsünü kullanarak Storage'a gidin, paketinizi seçin ve Sil'i tıklayın: