24 Mart 2020 Salı

Azure Machine Learning Studio ile Machine Learning Demo Serisi - Bike Buyer – 1 (Classification)

Bu videoda Azure Machine Learning Studio üzerinden bir classification problemine odaklanıyoruz

Senaryomuza göre bizden bisiklet alan ve almayan müşterilerimizin bir takım özelliklerine bakarak bir model eğitiyoruz. Daha sonra bu model yardımıyla potansiyel alıcıları önceden tahmin edebileceğiz.

Bu sayede kampanya ve reklamlarımızın doğru hedef kitleye daha az maliyetle ulaşmasını sağlayabiliriz.

Video içerisinde geçen bazı linkler ve BikeBuyer.csv dosyasına aşağıdaki linklerden ulaşabilirsiniz.

Data Science Çalışmaları için Microsoft Çözümleri
http://www.abdullahkise.com/2020/03/data-science-calsmalar-icin-microsoft.html 

9 Mart 2020 Pazartesi

Data Science Çalışmaları için Microsoft Çözümleri

Data Science (Veri Bilimi) çalışmaları yapan kişiye Data Scientist (Veri Bilimcisi) dendiği malumunuz. Veri Bilimcilerinin temel odağı bazı tiplere ayrılmış tahminleme problemlerinin çözümleri için matematiksel bir model oluşturmaktır. Veri Bilimcileri modelleri eğitmek ve başarısını test etmek için veriyi detaylıca incelemeleri gerekir.

Veri Bilimi çalışmalarının başarıyla sürdürülebilmesi için farklı farklı araçlar, platformlar ve diller tercih edilebilir. Bu araçların neredeyse tamamı açık kaynaktır. Microsoft da uzun zamandır açık kaynak dünyasının gelişimine, kendi çözümleriyle katkı sunarak destek vermektedir. 

Microsoft, Veri Bilimi alanında çeşitli araçları, platformları ve kütüphaneleri hem yerel hem de bulut çözümleri olarak kullanıma sunmaktadır.

Bu çözümlerin neler olduğuna bir göz atalım:

Şirket içi Çözümler:
  • SQL Server Machine Learning Services: SQL Server kurulumu sırasında seçebildiğiniz bir özellik. SQL Server 2016'dan beri geliştirilmekte. Daha önceleri sadece R dili ile çalışılabiliyordu ve kurulumda R in DB adıyla anılıyordu. SQL Server 2019 ile birlikte R, Python ve Java dilleri ile çalışılabiliyor. Kurulum sırasında Machine Learning Service isimli bu özelliği seçip yükleyebilirsiniz. Bu özellik sayesinde SQL Server içerisinde bir procedure yardımıyla R, Pyhon, Java dillerini kullanarak veri bilimi çalışmaları yapmak mümkün. Machine Learning Service tek başını kurulamıyor. Mutlaka Database Engine ile birlikte kurmanız gerekli. Bu konudaki serimizin son yazısına şu linkten bir göz atabilirsiniz: http://www.abdullahkise.com/2020/02/sql-server-2019-uzerinde-makine_22.html
  • SQL Server Machine Learning Server: Daha güçlü çalışmalar yapmak için Database Enginedan bağımsız olarak Machine Learning Server kurabilirsiniz. Bu şekilde kurmanın bir çok avantajı var. Hem performans açısından daha güçlü bir yapı hem de ölçeklendirebilmek ve webservice yapabilmek gibi ek avantajları mevcut.

Bulut tabanlı çözümler:
  • Azure Machine Learning Studio (Classic): Sürükle bırak ile hiç kod yazmadan Machine Learning yapma imkanı veren bir Azure hizmeti. Kullanımı oldukça kolay. Notebooklar oluşturmak, arayüzler ile çalışarak verinin hazırlanması, modelin eğitilmesi, test edilmesi ve eğitilmiş bir modelin web service haline getirilerek yayınlanması oldukça kolay. Bu servisin sunduğu hazır araçlar size yeterli gelmezse R ve Python dillerinde kod yazabileceğiniz modüllerden faydalanabilirsiniz. Bu hizmet daha çok makine öğrenimi konusuna hızlıca giriş yapmak, öğrenmek ve küçük-orta ölçekli projeler geliştirmek için ideal. Azure aboneliğine gerek olmadan https://studio.azureml.net/ adresinden giriş yaparak ücretsiz hesap açabilirsiniz. Bu hizmet ile çalışırken çalışma alanınızın bulunduğu bölgedeki işlem gücünü ortak kullanmaktasınız.

  • Azure Machine Learning: Bu hizmeti aktif etmek için Azure aboneliğiniz olması gerekir. Herhangi bir araç ile Python kodlarını kullanarak bu hizmetten faydalanabilirsiniz. Hem Azure ML kütüphanelerini hem de Tensorflow, Scikit-learn, Pytorch, Keras vs. gibi açık kaynak kütüphaneleri kullanabilirsiniz. Hizmetin Basic ve Enterprise seçenekleri mevcut. Enterprise seçeneğinde Azure ML Studioya benzer şekilde çalışabileceğiniz Designer ile AutoML ve veri etiketleme gibi ek özellikler geliyor. Notebooklar oluşturabilir, hem arayüz hem kodlar ile model eğitebilir, bu modelleri kaydedip versiyonlayabilir, eğitilmiş modellerinizi web service haline getirip yayınlayabilirsiniz. AutoML ve HyperDrive özellikleri sayesinde ML çalışmalarındaki değiştir-dene-gör adımlarını sizin için Azure'un atmasını sağlayabilirsiniz. Ayrıca ekiplerinizin birlikte çalışabileceği bir veri etiketleme projesi başlatabilirsiniz. Tüm işlemleriniz için gereken işlem gücünüzü kendiniz oluşturup yönetebilirsiniz. Web servicelerinizi, imageleri oluşturup Azure Kubernetes Services, Azure Container Instance gibi hizmetler üzerinden yayınlayabilirsiniz.

  • Azure Databricks: Spark tabanlı analitik platform olan Databricks, Azure üzerinden kolayca aktif edilip kullanılabilir. Spark SQL, Spark ML, GraphX, Spark Streaming bileşenleri ile bulutta kendi yönettiğiniz işlem gücü ve kullanışlı arayüzler sayesinde Big Data problemlerine çözümler bulabilirsiniz. Arayüzler, Azure hizmetleri ile entegre olması ve dahili notebook, işleri oldukça kolaylaştırıyor. Bu sayede clusterların yönetimine değil de kendi problemlerinize odaklanabiliyorsunuz. Notebooklar üzerinde R, Pyhon, Scala, SQL ve shell komutları ile verilerinizi hazırlayabilir ML modelleri eğitip test edebilirsiniz.
  • Azure Data Science Virtual Machine (DSVMs): Azure üzerinde önceden hazırlanmış sanal makineleri ifade etmektedir. Bu VM'lerin Windows ve Linux versiyonları mevcut. Bir çok popüler ML aracı yüklenmiş bu makineleri, ortam hazırlamayla vakit kaybetmeden kolayca aktif edip kullanabilirsiniz. VM'ler içerisinde çok çeşitli araçların en güncel versiyonu hazır geliyor. Dilerseniz GPU desteği olan VM'leri de aktif edebiliyorsunuz.
  • Azure Cognitive Services: Uygulamalarınızın insan gibi duymasını, görmesini, yorumlamasını ve mesela bir chatbot olarak kullanıcılar ile iletişim kurmasını istiyorsanız bu başlık altındaki hizmetler tam size göre. Vision, Speech, Decision, Search, Language başlıklarında çözüm sunan bir çok servisi kolayca aktif edip kullanabilirsiniz. Servislerin çoğunu eğitim aşamasına gerek olmadan direk kullanabiliyorsunuz. Bazılarını ise kendi verilerinizle eğitebiliyorsunuz. Bu servislere HTTP REST çağrıları ile erişip uygulamalarınızı akıllandırabilirsiniz.

Diğer Çözümler:
  • ML.NET: .NET uygulamaları içerisinde Machine Learning yapma imkanı veren açık kaynak frameworktür.
  • Windows ML: Windows 10 cihazlarda Machine Learning yapma imkanı veren bir enginedır.
  • MMLSpark: Spark ekosistemine derin öğrenme ve veri bilimi araçları konusunda yeni yetenekler kazandıran açık kaynak kütüphanedir.
  • Azure HDInsight: Hadoop platformunun Azure üzerindeki halidir. Bu hizmet ile Hadoop ve Spark yeteneklerini birlikte kullanabilirsiniz.

6 Mart 2020 Cuma

Ücretsiz Yetiştirme Programlarımız ile Yıllardır Sektöre Yeni Uzmanlar Kazandırıyoruz!

Yaklaşık 9 yıl önce Veri Yönetimi Çözümleri ekibini kurmaya karar verdiğimizde bir şey fark ettik. Sektör içerisinde Veritabanı Yönetimi ve İş Zekası konularında çok tecrübeli veya yeni yeni bu konulara ilgi duyan bir çok aday mevcut olmasına rağmen orta seviyede tecrübeye sahip adaylara kolayca ulaşamıyorduk. Orta seviyeye biraz daha odaklandığımızda sayısı az da olsa bazı kişilerle tanıştık fakat vaat ettikleri tecrübeye sahip olmadıklarını fark ettik.

Büyüme ihtiyacımızın hat safhaya ulaştığı bir dönemde o zamanlar çok radikal sayılan bir karar aldık. Eğitim ve danışmanlıktan yani bilgiden kazanç elde eden kişiler olarak belki de kendi işimizi baltalayabilecek adımlar atmaya başladık ve ücretsiz yetiştirme programları düzenledik.

Bu programlarda Veritabanı Sorgulama ile başlayıp Veritabanı Geliştirme, Veritabanı Yönetimi ve İş Zekası gibi teknik konularla birlikte sunum teknikleri, etkili çalışma teknikleri gibi teknik olmayan konularda ücretsiz olarak onlarca kişiyi yetiştirdik. Programlardan mezun olan arkadaşların bir kısmını kendi kadromuza kattık, bir kısmının da başvurularında referans olduk.

Şimdilerde onları bir çok firmada kıdemli uzman ve ekip yöneticisi olarak görmek bize gurur veriyor. Karşılaştığımızda bizi minnettar duygularla ağırlamaları hayatlarına ne kadar anlamlı ve değerli bir dokunuş yaptığımızı açıkça gösteriyor. Bir kısmı rakiplerimizde görev alıyor olsa da bu motivasyonumuzu hiç kaybetmedik. Çünkü biliyoruz ki ülkemizin her alanda gelişmesi gerekli ve bu çorbada bizim de tuzumuz olmalı.

Çok farklı kaynakları taramak, güncel bilgiler edinmek ve bu bilgileri saha tecrübesiyle harmanlamak oldukça keyifli. Bir şeyler öğrenmek, uygulamak ve aktarmak benim için vazgeçilmez bir tutku.  Birlikte çalıştığımız arkadaşlar için de bu hep böyle oldu. Edindiğim bilgileri fırsat buldukça çeşitli platformlar vasıtasıyla paylaşıyorum. Bu tutkum son 4 yıldır Microsoft tarafından verilen ve her yıl yenilenen, Data Platform alanında MVP (Most Valuable Professional) ödülüyle de taktir ediliyor. Bizzat tanıdığım ve hiç karşılaşmadığım bir çok kişinin sorularını cevaplıyorum. Sorunlarına çözüm olacak paylaşımlar yapıyorum. Tabi ki bunlar gönüllü aktiviteler. Diğer yandan müşterilerimize sunduğumuz hizmetler en yüksek kalitede tam gaz devam ediyor.

Geçen sene (21 Ocak 2019) Devcosci Bilişim, Danışmanlık ve Eğitim firmasını kurduk. Bir yandan veri ve verimlilik adına kullanılan teknik ve teknolojilerle kurumsal müşterilerimize terzi usulü çözümler sunarken bir yandan da yapay zeka entegrasyonu olan asistanımız ile IoT cihazımızdan oluşan kendi ürünümüzü geliştiriyoruz.

Daha önce çalıştığım firmalarda yönettiğimiz kaynaklarla yaptığımız gönüllü paylaşımları kendi şirketimizin kaynaklarıyla devam ettiriyoruz. Geçen sene 30 kişilik bir yetiştirme programı başlattık. kişisel hıza bağlı olarak 4-7 ay süren bu programdan bazı arkadaşlar sevindirici derecede faydalandı. Program sırasında iş bulanlar da oldu. Hatta bazıları rakiplerimizde çalışmaya başladı, bazıları müşterilerimizde. Biz de Devcosci olarak programı başarıyla tamamlayan bir arkadaşımızı kendi bünyemize almaya karar verdik. Burada temel motivasyonumuz ülkemize katkı sağlamak. Yol arayanlara yol göstermek.


Program şimdilik SQL Querying, Database Development, Business Intelligence, Self-Service BI konularını içermekte. Yakın zamanda Database Administration, Cloud Computing, Big Data ve Machine Learning başlıklarını da programa dahil etmeyi, bu programın Data Analyst, Data Engineer ve Data Scientist rollerine iyi bir hazırlık olmasını istiyoruz. Şimdilik bu başlıkları bünyemize dahil ettiğimiz arkadaşlarla ele alıyoruz.

Önümüzdeki günlerde yeni bir program daha başlatacağız. Liste çok kalabalık. Enerjimiz el verdiğince söz verdiğimiz arkadaşlarımıza davetlerimizi ileteceğiz. İnşallah bu program uzun yıllar  boyunca, kendini geliştirmek isteyip bir yol, bir destek arayan arkadaşlarımız için ilaç olmaya devam edecek.