MindsDB — Makine Öğrenmesi Problemlerini SQL Sorguları Yazarak Çözmek

Eren Akbulut
Geeks-of-Data
Published in
4 min readMar 11, 2023
MindsDB Logo

Yazıya başlamadan önce “Geeks of Data” Discord kanalımızdan bahsetmek istiyorum, katılıp selam verebilir, veri bilimi, mühendisliği veya analizi alanlarında fikir alışverişi yapabilirsiniz. Link

MindsDB, çok sayıda veri kaynağına bağlanıp veri temini yapabilen, otomatik bir makine öğrenimi aracıdır ve veritabanınızdaki verileri kullanarak tahminler yapmanıza yardımcı olur. Bu araç, makine öğrenimi modelleri oluşturma, eğitme ve optimize etme süreçlerini veritabanına entegre eder, böylece tahminlerinizi oluşturmak için verileri başka bir platforma aktarmanıza gerek kalmaz.

Bütün bu sürecin otomatik ilerliyor olması işletmenizin verimliliğini artırırken, aynı zamanda zaman ve maliyet tasarrufu sağlar. Ayrıca, kullanıcı dostu arayüzü sayesinde, alanında uzman olmayan kişiler bile verilerini daha etkili bir şekilde kullanabilir.

MindsDB, birçok sektörde farklı kullanım alanlarına sahiptir. Örneğin, finansal tahminler yapmak, tedarik zinciri yönetimi, pazarlama analizi ve daha pek çok konuda kullanılabilir. Bu araç, şirketlerin daha akıllıca kararlar almalarına yardımcı olur ve rekabet avantajı elde etmelerini sağlar.

SQL Databases with AI, pop art, futuristic, HD — ar 4:2 (Mid Journey)

Yukarıda anlatılan faydaları sağlamak için MindsDB’nin “AI Tables” adında bir ürünü kullanmamız gereklidir. Kısaca özetlemek gerekirse AI Tables bir veritabanında depolanan makine öğrenimi modelleridir ve verilerinize dayalı tahminler yapmanıza yardımcı olurlar. Bu sanal tablolar, zaman serisi, regresyon ve sınıflandırma tahminlerini veritabanı içinde gerçekleştirmenizi sağlar ve basit SQL ifadeleriyle AI Tablolarını sorgulayarak neredeyse anında çıktı elde edebilirsiniz.

MindsDB, AI Tabloları kavramını kullanarak veritabanlarına makine öğrenimini getirir.

AI Tabloları, bir veritabanında depolanan makine öğrenimi modelleridir ve verilerinize dayalı tahminler yapmanıza yardımcı olurlar. Bu sanal tablolar, zaman serisi, regresyon ve sınıflandırma tahminlerini veritabanı içinde gerçekleştirmenizi sağlar ve basit SQL ifadeleriyle AI Tablolarını sorgulayarak neredeyse anında çıktı elde edebilirsiniz.

Yani, AI Tabloları sayesinde verilerinize dayalı tahminleri hızlı ve kolay bir şekilde veritabanınızda gerçekleştirebilirsiniz. Bu da işletmenizin verimliliğini artırırken, zaman ve maliyet tasarrufu sağlar. Ayrıca, AI Tabloları kullanımı kolaydır ve herkes tarafından kullanılabilir.

Kendi hazırladıkları tutorial anlaşılır ve güzel olduğu için burada tekrar anlatmayacağım, kurulumu buradan yapıp MindsDB’yi kullanabilirsiniz, ben bu yazıda bedava cloud hesabı üzerinden sundukları MindsDB arayüzünü kullanarak örnek çalışma yapacağım.

İlk önce üzerine çalışmak için bir veri setine ihtiyacımız var. Kaggle üzerinden Titanic veri setini indirip MindsDB’ye yüklemeye başlayabiliriz. MindsDB’ye veri yüklemenin temel 2 yolu var, mevcut sistemler üzerinden doğrudan yüklemek veya doğrudan dosya yüklemek.

Sistemler Üzerinden Yükleme
Doğrudan Dosya Yükleme

Verileri yükledikten sonra aşağıdaki gibi basit bir SQL syntax’li sorguyla veriye göz atmaya başlayabiliriz. Verimiz (dosya yüklediğimiz için) files altında yüklerken verdiğimiz isimde bulunacak. Ben “titanic_train” adını kullanmıştım.

Veriyi İnceleme Sorgusu
Sorgu Sonuçları

Hemen ardından tek bir sorguyla modelimizi eğitmeye başlayabiliriz.

Train Sorgusu

MindsDB’de model eğitmek için CREATE MODEL yada CREATE PREDICTOR tarzında bir syntax kullanılıyor. Ardından istediğimiz dosya dizinini ve hangi dosyayı hedefleyeceğimizi belirtiyoruz, son olarak neyi tahmin etmek istediğimizi belirterek modeli eğitmeye başlamış oluyoruz.

Model Secme Sorgusu
Modellerimiz

Modellerimi inceleyerek her bir modelin bütün özelliklerini gözlemleyebilir, performansını ölçebiliriz. Bizim modelimiz 0.794 Accuracy sonucu vermiş.

Gerçek verilerle tahmin yapmak için de özel bir sorgu komutu çalıştırmamız gerekiyor. Aslına bakarsanız normal bir SQL tablosu üzerinde sorgu çalıştırmaktan farkı yokmuş gibi gözükse de burada doğrudan modelimiz üzerinde sorgu çalıştırıyoruz.

Model Soru

Cinsiyet, kardeş sayısı, ebeveyn sayısı, gemiye binip binmeme durumu, yaş, yolcu sınıfı ve ücret gibi bilgileri verip yaptığımız sorgu sonucunda Survived sınıfı ile ilgili bir tahmine ve bu tahminin açıklamasına erişebiliyoruz.

Prediction 1

Geri kalan bütün veriler aynıyken cinsiyeti değiştirince tahmin 0'dan 1'e yani hayatta kaldı olarak değişiyor.

Sonuç olarak MindsDByi kullanarak basit komutlarla da Kaggle’dan aldığımız veri seti üzerinde kolaylıkla çalışmalar yapabildik.

Evet arkadaşlar okuyup eşlik ettiğiniz için çok teşekkür ederiz, bu ve bunun gibi içeriklere ulaşmak, meraklı, zeki ve çalışkan meslektaşlarınızla zaman geçirmek isterseniz Discord sunucumuza da bekleriz. 🚀 Link

--

--