DeepChecks ile testleri otomatikleştirmeye yönelik adım adım rehberimizle, sağlam makine öğrenimi performansı için veri ve model doğrulamasının nasıl yapılacağını öğrenin.
Bu eğitimde DeepChecks’i ve bunu veri doğrulaması ile makine öğrenimi testlerini gerçekleştirmek için nasıl kullanacağımızı öğreneceğiz. Ayrıca model testini otomatikleştirmek ve sonuçları yapıt (artifact) olarak kaydetmek için GitHub Actions kullanacağız.
İlerledikçe makine öğrenimi testi ve DeepChecks hakkında bilgi edinecek, DeepChecks veri bütünlüğü paketini çalıştıracak ve kapsamlı bir rapor oluşturacağız. Ayrıca bir model değerlendirme paketini çalıştırarak makine öğrenimi test raporları üretecek, tam paket yerine tek bir testi nasıl çalıştıracağımızı öğrenecek, GitHub Actions ile test iş akışımızı otomatikleştirecek ve makine öğrenimi test raporunu bir GitHub Artifact olarak kaydedeceğiz.
Görsel: Yazar
Makine Öğrenimi Testi Nedir?
Makine öğrenimi testi, modellerin adil, doğru ve sağlam olduğundan emin olmak için performanslarının değerlendirilmesini ve doğrulanmasını içeren kritik bir süreçtir. Sadece model doğruluğu ve performansından ibaret değildir. Model önyargılarına, yanlış pozitiflere, yanlış negatiflere, çeşitli performans ölçütlerine, model işleme hızına (throughput) ve modelin yapay zekâ etiğiyle uyumuna da bakmamız gerekir.
Test süreci; veri doğrulaması, çapraz doğrulama, F1 skoru, karmaşıklık matrisi, tahmin kayması (prediction drift), veri kayması (data drift) ve sağlamlık testi gibi çeşitli değerlendirmeleri içerir; her biri modelin performans ve güvenilirliğinin farklı yönlerini doğrulamak üzere tasarlanmıştır.
Ayrıca veri kümemizi üçe böleriz ki modeli eğitim sürecinde ve eğitimden sonra görülmemiş bir veri kümesi üzerinde değerlendirebilelim.
Makine öğrenimi testi, yapay zekâ uygulamalarının vazgeçilmez bir parçasıdır ve bunu model eğitimiyle birlikte otomatikleştirmek, insanlar için çalışan güvenilir yapay zekâ sistemleri sağlar.
Makine öğreniminde yeniyseniz ve temelleri öğrenmek istiyorsanız, Python ile Makine Öğrenimi Temelleri beceri yoluna göz atın. Bu kurs, scikit-learn kütüphanesiyle denetimli öğrenmeden başlayarak Python ile makine öğreniminin temellerini öğretecektir.
DeepChecks ile Başlarken
DeepChecks; makine öğrenimi modelleri ve verileri için kapsamlı test ve doğrulamayı kolaylaştırmak üzere tasarlanmış, açık kaynaklı bir Python paketidir. Model performansı, veri dağılımı, veri bütünlüğü ve daha fazlasıyla ilgili sorunları belirlemek için geniş bir yerleşik kontrol yelpazesi sunar. DeepChecks, sürekli doğrulama işlevleri de içerir; böylece modeller, gerçek dünyada devreye alınıp kullanıldıkça güvenilir ve etkili kalır.
Başlamak için pip komutuyla Python paketini kuracağız.
Bu eğitim için DataCamp veri kümelerinden Kredi Verisini kullanıyoruz. 9578 satırdan oluşur ve kredi yapısı, kredi alan kişi ve kredinin tamamen geri ödenip ödenmediğine dair bilgiler içerir.
CSV dosyasını Pandas ile yükleyin ve ilk 5 satırı görüntüleyin.
import pandas as pd
loan_data = pd.read_csv("loan_data.csv")
loan_data.head()Altyapı:
Veri kümesini hazırlama
Kredi veri kümesi, etiket sütun adı ve kategorik özellik adını kullanarak DeepChecks veri kümesini oluşturun.
from sklearn.model_selection import train_test_split
from deepchecks.tabular import Dataset
label_col ='not.fully.paid'
deep_loan_data = Dataset(loan_data, label=label_col, cat_features=["purpose"])Altyapı:
DeepChecks veri bütünlüğü paketini çalıştırma
Tablolu veriler için bir veri bütünlüğü paketi kullanacağız. Paket tüm testleri özerk olarak çalıştıracak ve sonuçlarla etkileşimli bir rapor oluşturacaktır.
Bunu yapmak için veri bütünlüğü paketini içe aktaracak, başlatacak ve ardından paketi DeepChecks kredi verilerini sağlayarak çalıştıracağız. Son olarak, sonuçları görüntüleyeceğiz.
Not: Geliştirici ortamı olarak DataLab kullanıyoruz. ipywidgets kullanımı devre dışı bırakıldı, bu da sonuçların görüntülenmesini engelliyor. Bunun yerine sonucu bir iframe olarak görüntülemek için 'show_in_iframe' işlevini kullanacağız. Sonuçlar her düzeyde aynı olacaktır.
Tüm paketi büyük bir veri kümesi üzerinde çalıştırmak, sonuçların üretilmesi uzun süreceği için verimli değildir. Bunun yerine, verinize uygun birkaç bireysel testi çalıştırabilir ve kendi raporunuzu oluşturabilirsiniz.
Tek bir test çalıştırmak için tablolu kontrolleri içe aktarın, kontrolü başlatın ve DeepCheck Kredi verileriyle çalıştırın. Ardından, etkileşimli bir rapor üretmek yerine results.value işlevini kullanarak değerleri görüntüleyin.
from deepchecks.tabular.checks import IsSingleValue, DataDuplicates
result = IsSingleValue().run(deep_loan_data)
result.valueAltyapı:
Gördüğünüz gibi, her sütunda bulunan benzersiz değer sayısını gösterir.
Bu bölümde birden fazla modeli bir araya getirip işlenmiş kredi veri kümesi üzerinde eğiteceğiz. Ardından bir model test raporu oluşturmak için eğitim ve test veri kümeleri üzerinde bir model değerlendirme paketini çalıştıracağız.
Veri işleme ve model eğitimi
Scikit-learn kütüphanesinden temel işlevleri içe aktarın.
Veri kümesini eğitim ve test setlerine ayırın.
'purpose' kategorik sütununu etiket kodlayıcı kullanarak sayısala dönüştürün.
LogisticRegression, RandomForestClassifier ve GaussianNB modellerini tanımlayın.
Oy verme sınıflandırıcısı (voting classifier) kullanarak modelleri birleştirin.
Birleştirilmiş modeli eğitim setinde eğitin.
from sklearn.linear_model import LogisticRegression
from sklearn.ensemble import RandomForestClassifier
from sklearn.ensemble import VotingClassifier
from sklearn.naive_bayes import GaussianNB
from sklearn.preprocessing import LabelEncoder
# Train test split
df_train, df_test = train_test_split(loan_data, stratify=loan_data[label_col], random_state=0)# Encode the 'purpose' column
label_encoder = LabelEncoder()
df_train['purpose']= label_encoder.fit_transform(df_train['purpose'])
df_test['purpose']= label_encoder.fit_transform(df_test['purpose'])# Define models
model_1 = LogisticRegression(random_state=1, max_iter=10000)
model_2 = RandomForestClassifier(n_estimators=50, random_state=1)
model_3 = GaussianNB()# Create the VotingClassifier
clf_model = VotingClassifier(
estimators=[('lr', model_1),('rf', model_2),('svc', model_3)],
voting='soft')# Train the model
clf_model.fit(df_train.drop(label_col, axis=1), df_train[label_col])Altyapı:
Model değerlendirme paketini çalıştırma
Modelin performansını değerlendirmek için DeepChecks model değerlendirme paketini çalıştıracağız.
Hem eğitim hem de test setlerini DeepCheck veri kümesine dönüştürün.
Model değerlendirmesini başlatın ve eğitim, test setleri ile modeli kullanarak çalıştırın.
Veri doğrulamasında olduğu gibi, tek bir makine öğrenimi testi de çalıştırabilirsiniz. Bizim durumumuzda, etiketlerimizin zaman içinde değişip değişmediğini kontrol etmek için eğitim ve test bölümlerinde etiket kayması (label drift) çalıştıracağız.
from deepchecks.tabular.checks import LabelDrift
check = LabelDrift()
result = check.run(deep_train, deep_test)
result.valueAltyapı:
Veri doğrulama ve model değerlendirme paketlerini çalıştırırken sorun yaşıyorsanız, lütfen DeepChecks ile Makine Öğrenimi Testi başlıklı DataLab çalışma alanına başvurun.
"Manuel" makine öğrenimi testine ilgi duyuyorsanız, Weights & Biases kullanarak makine öğrenimi deneylerinizi nasıl yapılandıracağınızı, kaydedeceğinizi ve analiz edeceğinizi öğrenmek için Makine Öğrenimi Deneyleri eğitimini takip edin.
GitHub Actions ve DeepChecks kullanarak Makine Öğrenimi Testlerini Otomatikleştirme
Veri doğrulama, model eğitimi ve model değerlendirme aşamalarını GitHub Actions ile otomatikleştirelim ve sonuçları zip dosyası olarak kaydedelim.
Makine öğrenimi testlerinin otomatikleştirilmesi, MLOps hattının ayrılmaz bir parçasıdır. Bunun hakkında daha fazla bilgi edinmek için MLOps Temelleri beceri yolunu alın. Bu kurslar serisinde, makine öğrenimi modellerini üretime alma ve izleme ile ilgili temel ilkeleri öğreneceksiniz.
Kurulum
GitHub hesabına gidin ve gerekli tüm bilgilerle yeni bir depo oluşturun.
Depoyu yerel sisteme klonlayın.
Dizini depoya değiştirin.
“data” adlı yeni bir klasör oluşturun ve "Downloads" klasöründen kredi verisi CSV dosyasını depo klasörüne taşıyın.
Python ile veri doğrulamayı oluşturun ve VSCode’u (Tümleşik geliştirme ortamı) başlatın.
$ cd C:\Repository\GitHub\
$ git clone https://github.com/kingabzpro/Automating-Machine-Learning-Testing.git
$ cd .\Automating-Machine-Learning-Testing\
$ mkdir data
$ mv -v ".Downloads\loan_data.csv" ".\Automating-Machine-Learning-Testing\data"
$ code -r data_validation.pyAltyapı:
Veri doğrulama dosyası
Veri doğrulama dosyasında, CSV dosyasını yükleyecek, DeepChecks veri kümesine dönüştürecek, veri bütünlüğü paketini başlatacak ve kredi veri kümesi üzerinde çalıştıracaksınız.
“results” adlı yeni klasör oluşturun ve sonucu bir HTML dosyası olarak kaydedin.
import pandas as pd
from deepchecks.tabular import Dataset
from deepchecks.tabular.suites import data_integrity
# Load the loan data from a CSV file
loan_data = pd.read_csv("data/loan_data.csv")# Define the label column
label_col ="not.fully.paid"# Create a Deepchecks Dataset object with the loan data
deep_loan_data = Dataset(loan_data, label=label_col, cat_features=["purpose"])# Initialize the data integrity suite
integ_suite = data_integrity()# Run the data integrity suite on the dataset
suite_result = integ_suite.run(deep_loan_data)# Save the results of the data integrity suite as an HTML file
suite_result.save_as_html("results/data_validation.html")Altyapı:
Model test dosyası
Veri işleme, model kurma, eğitim ve değerlendirmeyi içeren bir veri doğrulama Python dosyası oluşturun. Dosya ayrıca veri kümesini bir DeepChecks veri kümesine dönüştürmeyi, model değerlendirme paketini çalıştırmayı ve "results" klasörüne bir HTML dosyası olarak kaydetmeyi de içermelidir.
import pandas as pd
from sklearn.ensemble import RandomForestClassifier, VotingClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB
from sklearn.preprocessing import LabelEncoder, StandardScaler
from deepchecks.tabular import Dataset
from deepchecks.tabular.suites import model_evaluation
# Load the loan data from a CSV file
loan_data = pd.read_csv("data/loan_data.csv")# Define the label column
label_col ="not.fully.paid"# Train test split
df_train, df_test = train_test_split(
loan_data, stratify=loan_data[label_col], random_state=0)# Encode the 'purpose' column
label_encoder = LabelEncoder()
df_train["purpose"]= label_encoder.fit_transform(df_train["purpose"])
df_test["purpose"]= label_encoder.transform(df_test["purpose"])# Standardize the features
scaler = StandardScaler()
df_train[df_train.columns.difference([label_col])]= scaler.fit_transform(df_train[df_train.columns.difference([label_col])])
df_test[df_test.columns.difference([label_col])]= scaler.transform(df_test[df_test.columns.difference([label_col])])# Define models
model_1 = LogisticRegression(random_state=1, max_iter=10000)
model_2 = RandomForestClassifier(n_estimators=50, random_state=1)
model_3 = GaussianNB()# Create the VotingClassifier
clf_model = VotingClassifier(
estimators=[("lr", model_1),("rf", model_2),("gnb", model_3)], voting="soft")# Train the model
clf_model.fit(df_train.drop(label_col, axis=1), df_train[label_col])# Calculate the accuracy score using the .score function
accuracy = clf_model.score(df_test.drop(label_col, axis=1), df_test[label_col])# Print the accuracy scoreprint(f"Accuracy: {accuracy:.2f}")# Create Deepchecks datasets
deep_train = Dataset(df_train, label=label_col, cat_features=["purpose"])
deep_test = Dataset(df_test, label=label_col, cat_features=["purpose"])# Run the evaluation suite
evaluation_suite = model_evaluation()
suite_result = evaluation_suite.run(deep_train, deep_test, clf_model)# Save the results as HTML
suite_result.save_as_html("results/model_validation.html")Altyapı:
GitHub Actions kullanma
GitHub Actions’a yeniyseniz, otomasyon sürecine başlamadan önce "GitHub Actions ve MakeFile: Uygulamalı Bir Giriş" eğitimini tamamlayın. Bu eğitim, GitHub Actions’ın nasıl çalıştığını kod örnekleriyle ayrıntılı şekilde açıklayacaktır.
GitHub Actions’ı başlatmak için değişiklikleri sahneleyip (stage) kaydedip (commit) uzak GitHub deposuna itin.
GitHub deposuna gidin, “Actions” sekmesine tıklayın ve ardından mavi renkteki “set up a workflow yourself” metnine tıklayın.
main.yml iş akışı dosyasına yönlendirileceğiz. Lütfen aşağıdaki kodu kopyalayıp yapıştırın. Aşağıdaki kod önce ortamı kuracak ve DeepChecks paketini yükleyecek. Ardından klasörü oluşturacak, veri doğrulaması ve model değerlendirmeyi çalıştıracak ve sonuçları bir GitHub Artifact olarak kaydedecektir.
name: Model Training and Validation
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install deepchecks
- name: Create a folder
run: |
mkdir -p results
- name: Validate Data
run: |
python data_validation.py
- name: Validate Model Performance
run: |
python train_validation.py
- name: Archive Deepchecks Results
uses: actions/upload-artifact@v4
if: always()
with:
name: deepchecks results
path: results/*_validation.htmlAltyapı:
Değişiklikleri bir iletiyle kaydedin.
Değişiklikleri ana dala (main) kaydettiğinizde iş akışı çalışması başlatılacaktır. Çalıştırma günlüğünü görüntülemek için "Actions" sekmesine gidin ve iletiyle ilişkili mevcut iş akışı çalışmasına tıklayın.
İş akışı çalışması tamamlandığında, lütfen aşağı kaydırın ve “Artifacts” bölümünün altındaki zip dosyasını indirin.
Zip dosyasını yerelde açın ve veri ile model doğrulama sonuçlarını görüntüleyin.
Lütfen rehber olarak kingabzpro/Automating-Machine-Learning-Testing GitHub deposuna göz atın. Tam otomatik testleri çalıştırmak için veri, Python kodu, iş akışı dosyaları ve diğer gerekli dosyaları içerir.
Tüm makine öğrenimi hattını otomatikleştirmek, çeşitli süreç ve araçlara dair bilgi gerektirir. Bunları öğrenmek için MLOps Dağıtım ve Yaşam Döngüsü kursunu almayı düşünebilirsiniz. Bu kurs, modern MLOps çerçevelerini; özellikle makine öğrenimi modellerinin yaşam döngüsü ve dağıtımını inceler.
Sonuç
Test sürecini otomatikleştirerek geliştiriciler, modellerin büyük ve karmaşık veri kümelerine karşı doğruluğunu ve sağlamlığını hızlı ve verimli bir şekilde doğrulayabilir. Otomatik test, manuel testle fark edilmeyebilecek veri tutarsızlıkları, veri kayması ve model önyargıları gibi sorunları erken aşamada tespit etmeye yardımcı olur. Bu da zaman kazandırır ve modelin adil ve doğru tahminler yapma yeteneğini artırır.
Bu eğitimde, makine öğrenimi testini ve veri doğrulaması ile makine öğrenimi testleri için DeepChecks’in nasıl kullanılacağını öğrendik. Ayrıca veriyi ve modeli test etmeyi otomatikleştirdik ve sonuçları GitHub Actions kullanarak artifact olarak kaydettik.
Eğitimi beğendiyseniz ve makine öğrenimi alanında kariyere başlamayı düşünüyorsanız, Python ile Makine Öğrenimi Bilimcisi kariyer yoluna kaydolmayı düşünebilirsiniz. Tüm kursları 3 ay içinde tamamlayarak bir makine öğrenimi bilimcisi işi için gereken becerileri edinin.
Sertifikalı bir veri bilimcisi olarak, yenilikçi makine öğrenimi uygulamaları oluşturmak için en son teknolojileri kullanmaya büyük ilgi duyuyorum. Konuşma tanıma, veri analizi ve raporlama, MLOps, konuşma yapay zekası ve NLP alanlarında güçlü bir geçmişe sahip olarak, gerçek bir etki yaratabilecek akıllı sistemler geliştirme becerilerimi geliştirdim. Teknik uzmanlığımın yanı sıra, karmaşık kavramları açık ve özlü bir dille ifade etme yeteneğine sahip, becerikli bir iletişimciyim. Sonuç olarak, veri bilimi konusunda aranan bir blog yazarı oldum ve giderek büyüyen veri profesyonelleri topluluğuyla görüşlerimi ve deneyimlerimi paylaşıyorum. Şu anda, içerik oluşturma ve düzenlemeye odaklanıyorum. Büyük dil modelleriyle çalışarak, hem işletmelerin hem de bireylerin verilerinden en iyi şekilde yararlanmalarına yardımcı olabilecek güçlü ve ilgi çekici içerikler geliştiriyorum.
Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Bu eğitimde DeepChecks’i ve bunu veri doğrulaması ile makine öğrenimi testlerini gerçekleştirmek için nasıl kullanacağımızı öğreneceğiz. Ayrıca model testini otomatikleştirmek ve sonuçları yapıt (artifact) olarak kaydetmek için GitHub Actions kullanacağız.
İlerledikçe makine öğrenimi testi ve DeepChecks hakkında bilgi edinecek, DeepChecks veri bütünlüğü paketini çalıştıracak ve kapsamlı bir rapor oluşturacağız. Ayrıca bir model değerlendirme paketini çalıştırarak makine öğrenimi test raporları üretecek, tam paket yerine tek bir testi nasıl çalıştıracağımızı öğrenecek, GitHub Actions ile test iş akışımızı otomatikleştirecek ve makine öğrenimi test raporunu bir GitHub Artifact olarak kaydedeceğiz.
Görsel: Yazar
Makine Öğrenimi Testi Nedir?
Makine öğrenimi testi, modellerin adil, doğru ve sağlam olduğundan emin olmak için performanslarının değerlendirilmesini ve doğrulanmasını içeren kritik bir süreçtir. Sadece model doğruluğu ve performansından ibaret değildir. Model önyargılarına, yanlış pozitiflere, yanlış negatiflere, çeşitli performans ölçütlerine, model işleme hızına (throughput) ve modelin yapay zekâ etiğiyle uyumuna da bakmamız gerekir.
Test süreci; veri doğrulaması, çapraz doğrulama, F1 skoru, karmaşıklık matrisi, tahmin kayması (prediction drift), veri kayması (data drift) ve sağlamlık testi gibi çeşitli değerlendirmeleri içerir; her biri modelin performans ve güvenilirliğinin farklı yönlerini doğrulamak üzere tasarlanmıştır.
Ayrıca veri kümemizi üçe böleriz ki modeli eğitim sürecinde ve eğitimden sonra görülmemiş bir veri kümesi üzerinde değerlendirebilelim.
Makine öğrenimi testi, yapay zekâ uygulamalarının vazgeçilmez bir parçasıdır ve bunu model eğitimiyle birlikte otomatikleştirmek, insanlar için çalışan güvenilir yapay zekâ sistemleri sağlar.
Makine öğreniminde yeniyseniz ve temelleri öğrenmek istiyorsanız, Python ile Makine Öğrenimi Temelleri beceri yoluna göz atın. Bu kurs, scikit-learn kütüphanesiyle denetimli öğrenmeden başlayarak Python ile makine öğreniminin temellerini öğretecektir.
DeepChecks ile Başlarken
DeepChecks; makine öğrenimi modelleri ve verileri için kapsamlı test ve doğrulamayı kolaylaştırmak üzere tasarlanmış, açık kaynaklı bir Python paketidir. Model performansı, veri dağılımı, veri bütünlüğü ve daha fazlasıyla ilgili sorunları belirlemek için geniş bir yerleşik kontrol yelpazesi sunar. DeepChecks, sürekli doğrulama işlevleri de içerir; böylece modeller, gerçek dünyada devreye alınıp kullanıldıkça güvenilir ve etkili kalır.
Başlamak için
pipkomutuyla Python paketini kuracağız.Veri kümesini yükleme
Bu eğitim için DataCamp veri kümelerinden Kredi Verisini kullanıyoruz. 9578 satırdan oluşur ve kredi yapısı, kredi alan kişi ve kredinin tamamen geri ödenip ödenmediğine dair bilgiler içerir.
CSV dosyasını Pandas ile yükleyin ve ilk 5 satırı görüntüleyin.
Veri kümesini hazırlama
Kredi veri kümesi, etiket sütun adı ve kategorik özellik adını kullanarak DeepChecks veri kümesini oluşturun.
DeepChecks veri bütünlüğü paketini çalıştırma
Tablolu veriler için bir veri bütünlüğü paketi kullanacağız. Paket tüm testleri özerk olarak çalıştıracak ve sonuçlarla etkileşimli bir rapor oluşturacaktır.
Bunu yapmak için veri bütünlüğü paketini içe aktaracak, başlatacak ve ardından paketi DeepChecks kredi verilerini sağlayarak çalıştıracağız. Son olarak, sonuçları görüntüleyeceğiz.
Not: Geliştirici ortamı olarak DataLab kullanıyoruz. ipywidgets kullanımı devre dışı bırakıldı, bu da sonuçların görüntülenmesini engelliyor. Bunun yerine sonucu bir iframe olarak görüntülemek için 'show_in_iframe' işlevini kullanacağız. Sonuçlar her düzeyde aynı olacaktır.
Veri bütünlüğü raporumuz aşağıdaki test sonuçlarını içerir:
Jupyter Notebook’ta Veri Bütünlüğü test sonuçları.
Sonuçları HTML dosyası olarak kaydedip ekip arkadaşlarınızla da paylaşabilirsiniz.
Tek bir test çalıştırma
Tüm paketi büyük bir veri kümesi üzerinde çalıştırmak, sonuçların üretilmesi uzun süreceği için verimli değildir. Bunun yerine, verinize uygun birkaç bireysel testi çalıştırabilir ve kendi raporunuzu oluşturabilirsiniz.
Tek bir test çalıştırmak için tablolu kontrolleri içe aktarın, kontrolü başlatın ve DeepCheck Kredi verileriyle çalıştırın. Ardından, etkileşimli bir rapor üretmek yerine
results.valueişlevini kullanarak değerleri görüntüleyin.Gördüğünüz gibi, her sütunda bulunan benzersiz değer sayısını gösterir.
Verilerimizde yinelenen örnekleri kontrol etmeyi deneyelim.
Veri kümemizde sıfır yinelenen kayıt var.
DeepChecks ile Makine Öğrenimi Testi
Bu bölümde birden fazla modeli bir araya getirip işlenmiş kredi veri kümesi üzerinde eğiteceğiz. Ardından bir model test raporu oluşturmak için eğitim ve test veri kümeleri üzerinde bir model değerlendirme paketini çalıştıracağız.
Veri işleme ve model eğitimi
Model değerlendirme paketini çalıştırma
Modelin performansını değerlendirmek için DeepChecks model değerlendirme paketini çalıştıracağız.
Model değerlendirme raporumuz aşağıdaki test sonuçlarını içerir:
to_json()işlevini kullanın.Tek Bir Test Çalıştırma
Veri doğrulamasında olduğu gibi, tek bir makine öğrenimi testi de çalıştırabilirsiniz. Bizim durumumuzda, etiketlerimizin zaman içinde değişip değişmediğini kontrol etmek için eğitim ve test bölümlerinde etiket kayması (label drift) çalıştıracağız.
Veride herhangi bir kayma tespit edilmedi.
Veri doğrulama ve model değerlendirme paketlerini çalıştırırken sorun yaşıyorsanız, lütfen DeepChecks ile Makine Öğrenimi Testi başlıklı DataLab çalışma alanına başvurun.
"Manuel" makine öğrenimi testine ilgi duyuyorsanız, Weights & Biases kullanarak makine öğrenimi deneylerinizi nasıl yapılandıracağınızı, kaydedeceğinizi ve analiz edeceğinizi öğrenmek için Makine Öğrenimi Deneyleri eğitimini takip edin.
GitHub Actions ve DeepChecks kullanarak Makine Öğrenimi Testlerini Otomatikleştirme
Veri doğrulama, model eğitimi ve model değerlendirme aşamalarını GitHub Actions ile otomatikleştirelim ve sonuçları zip dosyası olarak kaydedelim.
Makine öğrenimi testlerinin otomatikleştirilmesi, MLOps hattının ayrılmaz bir parçasıdır. Bunun hakkında daha fazla bilgi edinmek için MLOps Temelleri beceri yolunu alın. Bu kurslar serisinde, makine öğrenimi modellerini üretime alma ve izleme ile ilgili temel ilkeleri öğreneceksiniz.
Kurulum
Veri doğrulama dosyası
Model test dosyası
GitHub Actions kullanma
GitHub Actions’a yeniyseniz, otomasyon sürecine başlamadan önce "GitHub Actions ve MakeFile: Uygulamalı Bir Giriş" eğitimini tamamlayın. Bu eğitim, GitHub Actions’ın nasıl çalıştığını kod örnekleriyle ayrıntılı şekilde açıklayacaktır.
main.ymliş akışı dosyasına yönlendirileceğiz. Lütfen aşağıdaki kodu kopyalayıp yapıştırın. Aşağıdaki kod önce ortamı kuracak ve DeepChecks paketini yükleyecek. Ardından klasörü oluşturacak, veri doğrulaması ve model değerlendirmeyi çalıştıracak ve sonuçları bir GitHub Artifact olarak kaydedecektir.Değişiklikleri ana dala (main) kaydettiğinizde iş akışı çalışması başlatılacaktır. Çalıştırma günlüğünü görüntülemek için "Actions" sekmesine gidin ve iletiyle ilişkili mevcut iş akışı çalışmasına tıklayın.
Lütfen rehber olarak kingabzpro/Automating-Machine-Learning-Testing GitHub deposuna göz atın. Tam otomatik testleri çalıştırmak için veri, Python kodu, iş akışı dosyaları ve diğer gerekli dosyaları içerir.
Tüm makine öğrenimi hattını otomatikleştirmek, çeşitli süreç ve araçlara dair bilgi gerektirir. Bunları öğrenmek için MLOps Dağıtım ve Yaşam Döngüsü kursunu almayı düşünebilirsiniz. Bu kurs, modern MLOps çerçevelerini; özellikle makine öğrenimi modellerinin yaşam döngüsü ve dağıtımını inceler.
Sonuç
Test sürecini otomatikleştirerek geliştiriciler, modellerin büyük ve karmaşık veri kümelerine karşı doğruluğunu ve sağlamlığını hızlı ve verimli bir şekilde doğrulayabilir. Otomatik test, manuel testle fark edilmeyebilecek veri tutarsızlıkları, veri kayması ve model önyargıları gibi sorunları erken aşamada tespit etmeye yardımcı olur. Bu da zaman kazandırır ve modelin adil ve doğru tahminler yapma yeteneğini artırır.
Bu eğitimde, makine öğrenimi testini ve veri doğrulaması ile makine öğrenimi testleri için DeepChecks’in nasıl kullanılacağını öğrendik. Ayrıca veriyi ve modeli test etmeyi otomatikleştirdik ve sonuçları GitHub Actions kullanarak artifact olarak kaydettik.
Eğitimi beğendiyseniz ve makine öğrenimi alanında kariyere başlamayı düşünüyorsanız, Python ile Makine Öğrenimi Bilimcisi kariyer yoluna kaydolmayı düşünebilirsiniz. Tüm kursları 3 ay içinde tamamlayarak bir makine öğrenimi bilimcisi işi için gereken becerileri edinin.