Merhaba Medium,

Bu yazıda, benim MLOps ve DevOps alanındaki serüvenime bir pencere açmaya davetlisiniz. Bir süre önce katıldığım bir MLOps Bootcamp’inde edindiğim bilgileri, deneyimleri ve bu süreçte geliştirdiğim becerileri sizinle paylaşmak istiyorum.

Yazda bu eğitim sürecinin detaylarına ve projemin aşamalarına ineceğim. Ancak öncesinde, MLOps ve DevOps’un neden bu kadar önemli olduğunu, gerçek dünyada nasıl kullanıldığını ve bu alandaki becerilerin neden günümüzdeki iş dünyasında bu kadar değerli olduğunu anlatmak istiyorum.

Bölüm 1: MLOps ve DevOps Temel Kavramları

MLOps ve DevOps, günümüzde veri bilimi ve yazılım geliştirme alanlarını birleştirerek daha hızlı ve verimli bir iş akışı sağlayan önemli disiplinlerdir. MLOps, Makine Öğrenimi (ML) projelerini üretim ortamlarına entegre etmeyi amaçlayan bir uygulama geliştirme alanıdır. DevOps ise yazılım geliştirme ve IT operasyonları arasındaki işbirliğini artırmayı hedefleyen bir kültür ve pratikler bütünüdür.

Bu bölümde, MLOps ve DevOps’un temel kavramlarına odaklanarak, bu disiplinlerin neden bu kadar önemli olduğunu anlamaya çalışacağız. MLOps ve DevOps, bir veri bilimi profesyoneli olarak sahip olmanız gereken temel beceriler arasında yer alır. Bu eğitim sürecinde neden bu alanlarda derinleşmeyi tercih ettiğimi ve elde ettiğim becerilerin projelerde nasıl değer kattığını açıklayarak, bu temel kavramların neden hayati olduğunu vurgulayacağım.

MLOps ve DevOps, projelerinizi daha ölçeklenebilir, güvenilir ve tekrarlanabilir hale getirerek, işbirliğini artırmanıza ve hızla değişen bir teknoloji ortamında rekabet avantajı elde etmenize yardımcı olabilir.

Bölüm 2: Bitirme Projem ve Konusu

Bitirme projemde, Heart Disease verisi üzerinde lojistik regresyon modellemesi yaparak kişilerin hasta olup olmadığını tahmin etme üzerine odaklandım. Bu proje, sağlık alanında veri bilimi ve makine öğrenimi tekniklerini kullanarak gerçek dünya bir sorunu ele almaya yönelik bir girişimi temsil etmektedir.

Proje Konsepti ve Amacı

Proje konsepti, kişilerin sağlık verilerini kullanarak lojistik regresyon modeli oluşturmak ve bu model aracılığıyla hastalık tahmini yapmaktı. Heart Disease verisi, farklı klinik özelliklere sahip bireylerin kalp hastalığına sahip olup olmadığını belirten bir dizi değişken içermektedir. Bu veri, gerçek dünya sağlık senaryolarını simüle etme potansiyeli taşıyan zengin ve çeşitli bilgileri içermektedir.

  1. Toplum Sağlığına Katkı: Heart Disease verisi, toplum sağlığı açısından önemli bir konuyu ele almaktadır. Bu projenin başarılı bir şekilde tamamlanması, sağlık sektöründe veri odaklı karar almayı destekleyebilir.
  2. Makine Öğrenimi Uygulamaları: Lojistik regresyon modellemesi, makine öğrenimi alanında temel bir tekniktir. Bu proje, bu teknikleri gerçek bir veri seti üzerinde uygulama fırsatı sunarak öğrenim sürecime katkıda bulunmayı amaçlamaktadır.
  3. Teknolojik Becerilerin Geliştirilmesi: Proje, Docker, FastAPI, Github Actions, ve Google Cloud gibi çeşitli teknolojileri içermektedir. Bu teknolojilerin kullanımı, sektördeki en son gelişmeleri takip etme ve uygulama yeteneğimi artırmaya yönelik bir fırsat sundu.

Bölüm 3: Teknoloji Stack ve Kullanılan Araçlar

Bu bölümde projemde kullandığım teknoloji stack ve araçlarını inceleyeceğiz, her birinin ne işe yaradığını ve projedeki rolünü daha yakından anlayacağız.

Python

Ne İşe Yarar?

Python, genel amaçlı bir yüksek seviyeli programlama dilidir. Hem başlangıç seviyesindeki geliştiricilerin hem de deneyimli profesyonellerin tercih ettiği bir dil olmasıyla, veri bilimi, yapay zeka, web geliştirme ve daha birçok alanda geniş bir kullanım alanına sahiptir.

Projede Nasıl Kullanıldı?

Python, projede ana programlama dili olarak kullanıldı. Veri manipülasyonu, model eğitimi, API geliştirme gibi çeşitli görevlerde Python’un esnek ve kapsamlı kütüphanelerinden yararlanıldı.

Visual Studio Code

Ne İşe Yarar?

Visual Studio Code, hafif, hızlı ve güçlü bir metin düzenleyici ve geliştirme ortamıdır. Birçok programlama diliyle uyumlu olması ve geniş eklenti desteği ile geliştiricilere esnek bir çalışma ortamı sunar.

Projede Nasıl Kullanıldı?

Visual Studio Code uygulamasını projemde geliştirme sürecinde ana entegre geliştirme ortamı olarak tercih ettim. Kod yazma, hata ayıklama ve proje dosyalarını yönetme süreçlerinde bana bir büyük kolaylık sağladı.

FastAPI

Ne İşe Yarar?

FastAPI, hızlı ve etkili bir şekilde API geliştirmeyi sağlayan Python tabanlı bir web framework’üdür. Aynı zamanda otomatik OpenAPI ve JSON Schema belgelendirme özelliklerine sahiptir

Projede Nasıl Kullanıldı?

FastAPI, projemin backend kısmını oluşturarak RESTful API’lerin hızlı ve güvenli bir şekilde tasarlanmasına olanak tanıdı. Ayrıca, belgelendirme sürecini otomatikleştirmesi, API’lerin anlaşılabilirliğini artırdı.

Pytest

Ne İşe Yarar?

Pytest, Python tabanlı bir test çerçevesidir ve birim testlerinden karmaşık fonksiyonel testlere kadar birçok test türünü destekler. Temiz bir sintaks ve geniş bir eklenti sistemi sunar.

Projede Nasıl Kullanıldı?

Pytest, projede kullanılan her bir modülün ve fonksiyonun test edilmesinde kullanıldı. Kodun güvenilirliğini sağlamak ve modelimin test parametrelerinin kontrolü için kapsamlı bir test sürecine olanak tanıdı.

Docker

Ne İşe Yarar?

Docker, konteynerleme teknolojisi sunarak uygulama ve bağımlılıkların izole bir ortamda paketlenmesine ve taşınmasına olanak sağlar.

Projede Nasıl Kullanıldı?

Docker, projenin her bir bileşenini konteynırlara yerleştirerek bağımsız çalışma ortamı sağladı. Farklı ortamlarda tutarlılık ve taşınabilirlik sağladı.

Github Actions

Ne İşe Yarar?

Github Actions, sürekli entegrasyon (CI) ve sürekli dağıtım (CD) işlemlerini otomatize etmek için kullanılır. Her commit sonrasında otomatik olarak testleri çalıştırabilir ve deploy süreçlerini yönetebilir.

Projede Nasıl Kullanıldı?

Github Actions, her bir commit sonrasında test süreçlerini otomatik olarak çalıştırarak projenin güvenilirliğini sağladı. Ayrıca, deploy süreçlerini otomatikleştirerek hızlı ve güvenilir bir dağıtım sağladı.

Artifact Registry

Ne İşe Yarar?

Artifact Registry, Docker Image ve benzeri türdeki sanal paketleri depolamak ve yönetmek için kullanılır.

Projede Nasıl Kullanıldı?

Artifact Registry, projede üretilen Docker Image dosyamı depolamak ve yönetmek için kullanıldı. Güvenli ve hızlı bir depolama çözümü sağladı.

Google Cloud Run

Ne İşe Yarar?

Google Cloud Run, serverless bir çözüm olarak hizmet veren bir platformdur. Konteyner tabanlı uygulamaların hızlı bir şekilde dağıtılmasını ve yönetilmesini sağlar.

Projede Nasıl Kullanıldı?

Google Cloud Run, projedeki konteyner tabanlı uygulamaların hızlı ve ölçeklenebilir bir şekilde dağıtılmasına olanak sağladı. Projemi canlıya geçirerek erişime kullanılabilir bir hale getirdi.

Bölüm 4: Modelin Hayata Geçirilmesi ve Kullanımı

Model, Google Cloud Run üzerinde kullanılabilir hale getirildi. Şimdi, model parametrelerini girdikten sonra buradaki bağlantıya tıklayarak veya tarayıcınıza yapıştırarak model tahminlerini alabilirsiniz. Bu interaktif web servisi, modelin gerçek dünya kullanım senaryolarında nasıl uygulanabileceğini göstermek için tasarlanmıştır.

Web sayfasında görünen form doldurulduktan sonra modelin giriş parametrelerini alır. Örneğin, yaş, cinsiyet, kan basıncı gibi sağlık verilerini girebilirsiniz.

Formu doldurduktan sonra, “Predict” butonuna tıklayarak modelden tahmin sonuçlarını alabilirsiniz.

Model tarafından üretilen tahmin sonuçlar sayfa üzerinde görüntülenir. Bu sonuçlar, girdiğiniz parametrelerle ilgili kişinin kalp hastalığına yakalanıp yakalanmadığını gösterir.

Neden Bu Uygulama?

Bu interaktif web servisi oluşturarak, modelin sadece bir makine öğrenimi algoritması olmanın ötesinde gerçek bir değer sağlayabileceğini göstermeyi amaçladım. Kullanıcılar, web üzerinden bu modeli kullanarak, kendi sağlık verileriyle oynayarak ve farklı senaryoları test ederek, makine öğreniminin günlük yaşamda nasıl kullanılabileceğini anlamalarına yardımcı olabilirler.

Güvenlik ve Gizlilik

Bu web servisi, girdiğiniz verileri saklamaz veya kaydetmez. Model tahminleri, sadece istemci tarafından belirlenen girdi parametreleri kullanılarak anlık olarak hesaplanır. Gizlilik ve güvenlik, bu uygulamanın temel önceliklerindendir.

Bu interaktif web servisi, modelin gerçek dünya uygulamalarına taşımanın bir örneğidir. Modelinizi test etmek, sonuçları görmek ve makine öğrenimi konseptlerini daha iyi anlamak için bu web servisini kullanabilirsiniz. İyi kullanımlar!

--

--