Makine Öğrenmesi Modelinin Fast-API İle Canlıya Almaya Hazır Hale Getirilmesi

Jupyter notebook ya da R studio ile yarattığımız makine öğrenmesi modellerini yaratmak veri bilimi döngüsünün sadece çok küçük bir kısmını oluşturuyor. Modellerimizi canlıya alamadığımız sürece herhangi bir katma değer yaratamamış oluruz. Bu yüzden model yaratmaktan çok yaratılan modeli canlıya alma işi çok kıymetli. Bu yazıda bir makine öğrenmesi modelinin nasıl canlıya alındığı ile ilgili bir klavuz hazırlayacağım. Bu yazıda model için Titanic veri setini kullandım. Ana amacım titanic gemisindeki yolcuların bilgisini girerek kazadan sağ çıkıp çıkmayacaklarını tahmin ediyor olacağız. “model_creation” notebook u ile modelimizi yaratıp kayıt ettik.

Fast-API

Kurulum

  1. pip install fastapi
  2. pip install uvicorn[standard]

Örnek bir fast api dosyası;

Çalıştırılması;

  • terminale “uvicorn main:app –reload” yazıldığında server çalışmaya başlar.
  • Fast-API'de en çok kullanacağımız özellik aslında bize hazır bir arayüz sağlaması buna http://127.0.0.1:8000/docs ile ulaşılır.
  • Şimdi bizim oluşturduğumuz makine öğrenmesi modelini Fast-API ile canlıya alalım.

  • çalıştırıldığında http://127.0.0.1:8000/docs adresi ile Fast-API arayüzüne erişim sağlıyoruz.

  • Oluşturduğumuz “predict_is_survived” fonksiyonu görünüyor. Öncekikle post'a tıklayıp sonrasında try it out dediğimizde modelimizin parametlerini görebiliyoruz. Bunları fonksiyonun içinde biz tanımladık.

  • Execute dedikten sonra modelimiz çalışıyor ve sağ kalıp kalmayacağımız hakkında bilgi veriyor.

  • Değişkenlere yukardaki bilgiler girildiğinde maalesef sağ çıkamıyoruz. Modelin oluşturulması ve detaylar github'da bulunuyor.

Haberdar olun!

E-bültenimize kayıt olarak tüm yeniliklerimizden haberdar olabilirsiniz.

"Sisasoft İnternet Sitesi kullanım deneyiminizi kişiselleştirmek ve iyileştirmek için çerezler kullanıyoruz. Ziyaretinizi varsayılan ayarlarla gerçekleştirerek Sisasoft Gizlilik Politikası'da belirtilen şekilde çerezlerin kullanımını kabul etmiş oluyorsunuz."

0312 227 06 34