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 Olası Durumlar Aracı'nı kullanacaksınız. Modeli analiz ettikten sonra Cloud'un yeni Vertex AI'ına dağıtacaksınız.

Öğrenecekleriniz

Öğrenecekleriniz:

  • Barındırılan bir not defterinde herkese açık bir konut kredisi veri kümesiyle XGBoost modeli 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ı.

2. Vertex AI'a giriş

Bu laboratuvarda, Google Cloud'da sunulan en yeni yapay zeka ürünü kullanılır. Vertex AI, Google Cloud'daki makine öğrenimi tekliflerini sorunsuz bir geliştirme deneyiminde birleştirir. Daha önce, AutoML ile eğitilen modellere ve özel modellere ayrı hizmetler üzerinden erişilebiliyordu. Yeni teklif, diğer yeni ürünlerle birlikte her ikisini de tek bir API'de birleştirir. Mevcut projeleri Vertex AI'a da taşıyabilirsiniz. Geri bildiriminiz varsa lütfen destek sayfasını inceleyin.

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

Vertex'e genel bakış

3. XGBoost ile ilgili kısa bilgiler

XGBoost, tahmin modelleri oluşturmak için karar ağaçları ve gradyan güçlendirme 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 diyagram, bir spor müsabakasının hava durumuna göre oynanıp oynanmayacağını değerlendiren basit bir karar ağacı modelinin görselleştirmesidir:

Ağaç modeli örneği

Bu model için neden XGBoost kullanıyoruz? Geleneksel sinir ağlarının en iyi performansı resim ve metin gibi yapılandırılmamış verilerde gösterdiği gösterilse de karar ağaçları genellikle bu kod laboratuvarının konusu olan ipotek veri kümesi gibi yapılandırılmış verilerde son derece iyi performans gösterir.

4. Ortamınızı ayarlama

Bu kod laboratuvarını çalıştırmak için faturalandırmanın etkin olduğu bir Google Cloud Platform projeniz olmalıdır. 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 bu anahtara ihtiyacınız vardır.

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

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

Vertex kontrol paneli

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

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

Not defterleri seçme

Buradan 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ığında 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 not defteri örneği açın. Not defterinizde çalışmaya 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üdeki sağ ok düğmesine veya Komut+Enter tuşlarına 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şlemler 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

Veri kümesinin bir sürümünü Google Cloud Storage'da kullanıma sunduk. 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 okuma

Pandas DataFrame'imizi oluşturmadan önce, Pandas'ın veri kümemizi doğru şekilde okuyabilmesi için her sütunun veri türünün bir dict'sini 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 verilerinizi karıştırmanız önemlidir. Bunu yapmak için ilk hücreye içe aktardığımız shuffle adlı bir sklearn yardımcı programı kullanırız:

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(), Pandas'ta veri kümemizin ilk beş satırını önizlememize olanak tanır. Yukarıdaki hücreyi çalıştırdıktan sonra aşağıdakine benzer bir sonuç görürsünüz:

Mortgage veri kümesi önizlemesi

Bunlar, modelimizi eğitmek için kullanacağımız özelliklerdir. En sona kadar kaydırırsanız tahmin ettiğimiz değeri içeren son sütunu approved görürsünüz. 1 değeri, belirli bir uygulamanın onaylandığını, 0 değeri ise reddedildiğini gösterir.

Veri kümesindeki onaylanmış / reddedilmiş değerlerin dağılımını görmek ve etiketlerin numpy dizisini oluşturmak için aşağıdakileri ç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çerir.

3. Adım: Kategorik değerler için sanal 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 sıcak kodlama kullanarak temsil etmek yerine Pandas get_dummies işlevinden yararlanacağız.

get_dummies, birden fazla olası değere sahip bir sütunu alır ve her biri yalnızca 0 ve 1 içeren bir dizi sütuna dönüştürür. Örneğin, olası "mavi" ve "kırmızı" değerlerine sahip bir "renk" sütunumuz varsa get_dummies, bunu tüm boole 0 ve 1 değerlerine sahip "renk_mavi" ve "renk_kırmızı" adlı 2 sütuna dönüştürür.

Kategorik özelliklerimiz için sahte 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 kez verileri önizlediğinizde tek özelliklerin (aşağıdaki resimde gösterilen purchaser_type gibi) birden çok sütuna bölündüğünü görürsünüz:

Pandas'da örnek sütunlar

4. Adım: Verileri eğitim ve test kümelerine bölme

Makine öğrenimindeki önemli kavramlardan biri de eğitim / test bölmesidir. Verilerimizin çoğunu modelimizi eğitmek için kullanırız. Gerisi ise modelimizi daha önce hiç görmediği veriler üzerinde test etmek için ayrılır.

Verilerimizi bölmek için Scikit-learn işlevi 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şturmaya ve eğitmeye hazırsınız.

6. XGBoost modeli oluşturma, eğitme ve değerlendirme

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

XGBoost'ta model oluşturmak kolaydır. Modeli oluşturmak için XGBClassifier sınıfını kullanacağız. Belirli sınıflandırma görevimiz için doğru objective parametresini iletmemiz yeterlidir. Bu durumda, ikili sınıflandırma sorunumuz olduğu ve modelin (0,1) aralığında tek bir değer döndürmesini istediğimiz için reg:logistic kullanırız: Onaylanmadı için 0 ve onaylandı 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 modele aktararak modeli tek satır kodla eğitebilirsiniz.

model.fit(x_train, y_train)

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

Artık predict() işlevini kullanarak test verilerimizde tahminler oluşturmak için eğitilen modelimizi kullanabiliriz.

Ardından, modelimizin test verilerimizdeki performansına göre doğruluğunu hesaplamak için Scikit-learn'in accuracy_score() işlevini kullanırız. Test veri kümemizdeki her örnek için modelin tahmin ettiği değerlerle birlikte kesin referans değerlerini de 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 yerel bir dosyaya kaydetmek üzere aşağıdaki kodu çalıştırın:

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

Olası Durumlar Aracı'nı yerel modelinize bağlamak için bu aracın test örneklerinizden bir alt kümesini ve bu örneklerin kesin referans değerlerini iletmeniz gerekir. Test örneklerimizden 500'ünü gerçek referans etiketleriyle birlikte içeren 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, bir WitConfigBuilder nesnesi oluşturup analiz etmek istediğimiz modeli ona iletmek kadar basittir.

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. Sayfa yüklendiğinde aşağıdakileri görürsünüz:

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

Y ekseni, modelin tahminini gösterir. 1, yüksek güven puanıyla approved tahmini, 0 ise yüksek güven puanıyla denied tahminidir. X ekseni, yalnızca yüklenmiş tüm veri noktalarının dağılımıdır.

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

Olasılık Analizi Aracı'ndaki varsayılan görünüm Veri noktası düzenleyici 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 kredi HUD'dan alınmış olsaydı modelin tahminine ne olacağını görmek için bu özelliği 0 olarak değiştirdik ve agency_code_Department of Housing and Urban Development (HUD) değerini de 1 olarak değiştirdik:

Olasılık Analizi Aracı'nın sol alt kısmında görüldüğü gibi, bu özelliğin değiştirilmesi modelin approved tahminini %32 oranında önemli ölçüde düşürmüştür. Bu durum, kredinin alındığı ajansın modelin çıktısı üzerinde güçlü bir etkisi olduğunu gösterebilir ancak emin olmak için daha fazla analiz yapmamız gerekir.

Kullanıcı arayüzünün sol alt kısmında, her veri noktasının kesin referans değerini de görebilir ve bu değeri modelin tahminiyle karşılaştırabiliriz:

3. Adım: Yanlış koşul analizi

Ardından herhangi bir veri noktasını tıklayın ve En yakın karşıt gerçeklik veri noktasını göster kaydırma çubuğunu sağa doğru hareket ettirin:

Bu seçeneği belirlediğinizde, seçtiğiniz orijinal veri noktasına en benzer özellik değerlerine sahip olan ancak zıt bir tahmine sahip olan veri noktasını görürsünüz. Ardından, iki veri noktasının nerede farklılaştığını görmek için özellik değerleri arasında gezinebilirsiniz (farklılıklar yeşil renkle ve kalın olarak vurgulanır).

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

Her bir özelliğin modelin tahminlerini genel olarak nasıl etkilediğini görmek için Kısmi bağımlılık grafikleri kutusunu işaretleyin ve Küresel kısmi bağımlılık grafikleri'nin seçili olduğundan emin olun:

Burada, HUD'dan gelen kredilerin reddedilme olasılığının biraz daha yüksek olduğunu görebiliriz. Grafik bu şekildedir çünkü ajans kodu bir boole özelliğidir. Bu nedenle, değerler yalnızca tam olarak 0 veya 1 olabilir.

applicant_income_thousands sayısal bir özelliktir. Kısmi bağımlılık grafiğinde 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 adilliği inceleyin

Ardından Performans ve Adalet sekmesine gidin. Bu sayfada, modelin sağlanan veri kümesinde elde ettiği sonuçlarla ilgili genel performans istatistikleri (karıştırma matrisleri, PR eğrileri ve ROC eğrileri dahil) gösterilir.

Karışıklık matrisini görmek için Gerçek Doğruluk Özelliği olarak mortgage_status'ü seçin:

Bu karışıklık matrisinde, modelimizin doğru ve yanlış tahminleri toplamanın yüzdesi olarak gösterilir. 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).

Eşik kaydırma çubuğunu kullanarak da denemeler yapabilirsiniz. Modelin, kredi için approved tahmininde bulunmaya karar vermeden önce döndürmesi gereken pozitif sınıflandırma puanını yükseltip düşürebilir ve bunun doğruluk, yanlış pozitifler ve yanlış negatifler üzerindeki etkisini görebilirsiniz. Bu durumda, doğruluk 0,55'lik bir eşik civarında en yüksek olur.

Ardından, sol taraftaki Dilimle açılır listesinde loan_purpose_Home_purchase'yi seçin:

Artık verilerinizin iki alt kümesinde performansı görürsünüz: "0" dilimi, kredinin ev satın almak için kullanılmadığı durumları gösterir ve "1" dilimi, kredinin ev satın almak için kullanıldığı durumları gösterir. Performanstaki farklılıkları görmek için iki dilim arasındaki doğruluk, yanlış pozitif ve yanlış negatif oranını kontrol edin.

Karıştırma matrislerine bakmak için satırları genişletirseniz modelin, ev satın alma amaçlı kredi başvurularının yaklaşık% 70'i için "onaylandı" ve ev satın alma amaçlı olmayan kredilerin yalnızca% 46'sı için "onaylandı" tahmininde bulunduğunu görebilirsiniz (tam yüzdeler modelinize göre değişir):

Soldaki radyo düğmelerinden Demografik eşitlik'i seçerseniz iki eşik, modelin her iki dilimdeki benzer bir başvurucu yüzdesi için approved tahmini yapacak şekilde ayarlanır. Bu, her bir dilim için doğruluk, yanlış pozitifler ve yanlış negatifler üzerinde ne gibi bir etki yapar?

6. adım: Özellik dağılımını keşfedin

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

Veri kümenizin dengeli olduğundan emin olmak için bu sekmeyi kullanabilirsiniz. Örneğin, veri kümesinde çok az sayıda kredinin Farm Service Agency'den geldiği görülüyor. Veriler mevcutsa modelin doğruluğunu artırmak için bu 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 bu not defterinden değil, her yerden tahminde bulunabilsek çok iyi olur. 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ğerleri Google Cloud projenizin adıyla, oluşturmak istediğiniz Cloud Storage paketinin adıyla (dünya genelinde benzersiz olmalıdır) ve modelinizin ilk sürümünün sürüm adıyla doldurun:

# 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 bir depolama paketi oluşturmak için not defterinizden ş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

Ardından, 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ı doğrulamak için Cloud Console'daki depolama tarayıcısına gidin:

3. Adım: Modeli oluşturun ve bir 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, ardından bu model içinde bir uç nokta oluşturup dağıtacağız.

Öncelikle, 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 konumunu gösterir. container-image-uri parametresi, Vertex AI'a sunma için hangi önceden derlenmiş kapsayıcını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. Burada bulabilirsiniz:

Konsoldan model kimliğini alma

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

MODEL_ID = "your_model_id"

Şimdi bu modelde bir uç nokta oluşturmanın zamanı 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"

Bitiş 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 tahmin yapmak üzere gcloud'u kullanarak modelinizi test edin. Öncelikle, test veri kümemizdeki bir örneği içeren 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

Çıkışta modelinizin tahminini görürsünüz. Bu örnek onaylandığından 1'e yakın bir değer görürsünüz.

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ünde 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 silmeniz yeterlidir.

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

Depolama paketini silmek için Cloud Console'daki Gezinme menüsünü kullanarak Depolama'ya gidin, paketinizi seçin ve Sil'i tıklayın: