VERİ BİLİMİ (I)

VERİ BİLİMİNE GİRİŞ

VERİ BİLİMİ NEDİR?

Bu eğitimde, veri biliminin ne olduğundan bahsedeceğiz.

Google'da "veri bilimi nedir?" ya da "what is data science?" yazıp arattığımızda, çok miktarda kafa karıştırıcı bilgiye ulaşırız. Ancak veri biliminin anlamı aslında oldukça basittir:

Veri bilimi, bugün bize sunulan binlerce veri biçimini almak ve bunları anlamlı sonuçlar çıkarmak için kullanmak üzere oluşturulmuş bir dizi metodolojidir.

Veri, etrafımızı çevreleyen tüm platformlarda toplanmaktadır. Sosyal medyadaki beğeniler, internetin herhangi bir sayfasında gerçekleştirdiğimiz tıklamalar, gönderdiğimiz ve aldığımız e-postalar, kredi kartı harcama kayıtları veya tweetler, bugünü daha iyi tanımlamak ve geleceği daha iyi tahmin etmek için kullanılabilecek büyük verinin birer parçasıdır.

Veri ile aşağıdakileri gerçekleştirmek mümkündür:

  • Veri, mevcut durumumuzu anlamamıza yardımcı olur. Örneğin bunu, zaman alan raporlama süreçlerini otomatik hale getirip basitleştirerek, gösterge panoları oluşturarak gerçekleştirebiliriz.
  • Hileli işlemler gibi anormal olayları tespit etmemize yardımcı olabilir. Daha önceki işlemler ile ilgili yeterli verimiz varsa, beklenmedik veya anormal olan yeni bir işlemi otomatik olarak algılayabilir ve bu şekilde verimliliği artırabiliriz.
  • Veri ile, gözlemlenen olayların ve davranışların nedenleri de teşhis edebilir. Veri bilimi teknikleri, birçok olası nedeni olan karmaşık sistemleri anlamamıza yardımcı olur.
  • Veri ile gelecekteki olayları tahmin edebiliriz. Ayrıca, belirsizlik seviyemizi açıklığa kavuşturmak için, tahminimizin gerçekleşme olasılığını da matematiksel olarak değerlendirebiliriz.

Veri biliminin son yıllarda popülerliğinin artmasının nedeni, günümüzde her platformda geçmişte olduğundan daha fazla veri toplanıyor olmasıdır. Veri her yerdedir ve işletmeler, kuruluşlar ve hükümetler için inanılmaz derecede değerli bilgiler sunar.

Veri Bilimi İş Akışı

image.png

Veri biliminde herhangi bir proje, genellikle, yukarıdaki diyagramda görüldüğü gibi dört aşama içerir:

  1. İlk olarak, anketler, web trafiği sonuçları, coğrafi etiketli sosyal medya kayıtları ve finansal işlemler gibi birçok kaynaktan veri toplanır. Toplandıktan sonra, bu veriler güvenli ve erişilebilir bir şekilde depolanır (saklanır). Bu noktada, veri ham haldedir.
  2. Depolama aşamasında ham halde olan veriler, bir sonraki adımda işlenmek üzere hazırlanır. Verilerin hazırlanması, eksik veya yinelenen değerleri bulmak ve veriyi daha organize bir biçime dönüştürmek gibi "veri temizleme" süreçlerini içerir.
  3. Temiz hale gelen veriler, keşfedilir ve görselleştirilir. Verilerin zaman içinde nasıl değiştiğinin izlenmesi, iki veri kümesi arasında karşılaştırmalar yapılması, gösterge tabloları oluşturulması bu aşamada uygulanabilecek süreçler içinde yer alır.
  4. Son olarak, veriler üzerinde deneyler, analizler ve tahminler yapılır. Örneğin, sıcaklık değişimlerini tahmin eden bir sistem oluşturmak, hangi web sayfasının daha fazla müşteri kazandığını bulmak gibi testler bu aşamada gerçekleştirilir.

VERİ BİLİMİ UYGULAMALARI

Bu kısımda, veri biliminin gerçek dünyadaki sorunlara nasıl uygulanabileceği konusunda bilgi sahibi olacağız.

Veri biliminin üç alanına göre bir açıklama yapacağız: geleneksel makine öğrenimi, nesnelerin interneti ve derin öğrenme.

Geleneksel Makine Öğrenmesi

Büyük bir bankada dolandırıcılık tespitinde çalıştığımızı varsayalım. Veri bilimci olarak, bir işlemin hileli olma olasılığını belirlemek için bankanın sahip olduğu verileri kullanmak isteriz. Örneğin; her satın alma işlemiyle ilgili miktar, tarih, konum, satın alma türü ve kart sahibinin adresi gibi bilgileri toplayarak başlayabiliriz. Ayrıca, işlemin hileli olup olmadığını belirten bir etiket değişkenini de veriye dahil etmemiz gerekir. Genellikle, sağlıklı bir veri tabanında, istediğimiz tüm bilgilere ulaşmamız mümkündür. Toparladığımız bu verilere "öğrenme verileri" denir ve bir algoritma oluşturmak için kullanılırlar. Yeni bir işlem gerçekleştiğinde, algoritmamıza, bu işleme ait bilgiler girilir ve çıktı olarak bu işlemin hileli olma olasılığı hakkında bir tahmin elde edebiliriz.

Makine öğrenmesi için aşağıdaki elementlere ihtiyacımız bulunmaktadır:

  1. İyi tanımlanmış bir soru: "Bir işlemin hileli olma olasılığı nedir?"
  2. Analiz için gerekli veriler: kredi kartı işlemleriyle ilgili tarih ve konum gibi ilgili meta veriler ve bu işlemlerin hileli veya geçerli olarak tanımlanması (etiketlenmesi).
  3. Bir tahmin yapmak istediğimizde gerekli olacak yeni bir işlem.

Nesnelerin İnterneti

Fiziksel aktiviteyi izlemek için, akıllı bir saat oluşturmaya çalıştığımızı varsayalım. Buradaki amaç, yürüme veya koşma gibi farklı aktiviteleri otomatik olarak tespit etmektir. Akıllı saatimizin, hareketi üç boyutta izleyen "ivmeölçer" adı verilen özel bir sensörle donatılmış olduğunu düşünelim. Bu sensör tarafından üretilen veriler, makine öğrenmesi problemimizin temelini oluşturur. Veri üretmek amacıyla, birkaç gönüllünün saatimizi takmasını isteyebilir ve "ivmeölçer"in koşarken veya yürürken verileri kaydetmesini sağlayabiliriz. Daha sonra, bu ivmeölçer verileriyle, yürüme veya koşma durumundan herhangi birini tahmin eden bir algoritma geliştirebiliriz.

Akıllı saatimiz, genellikle veri bilimi ile birleştirilen ve nesnelerin interneti (Internet of Things - IoT) olarak da bilinen, hızlı büyüyen bir alanın bir parçasıdır. IoT, standart bir bilgisayar sayılmayan, ancak yine de veri iletme yeteneğine sahip olan akıllı aletleri ifade eder. Bunların arasında akıllı saatleri, internet bağlantılı ev güvenlik sistemlerini, elektronik para toplama sistemlerini, bina enerji yönetim sistemlerini sayabiliriz. IoT verileri, veri bilimi projeleri için önemli bir kaynaktır.

Derin Öğrenme

Kendi kendine giden arabaların önemli görev ve fonksiyonlarından biri, insan içeren bir görüntüyü algılamadır. Bu görevi gerçekleştirecek algoritma için veri kümesi, her pikselinde grinin uygun tonunu temsil eden bir numara bulunan bir matris olabilir. Fakat, bu matrisi herhangi bir geleneksel makine öğrenmesi algoritmasına girdi olarak verirsek, çok fazla girdi veri olması nedeniyle, geçerli bir sonuç almamız pek olası değildir. Bu sorunun çözümü için, derin öğrenme (deep learning) adı verilen ve gelişmiş bir makine öğrenmesi alt alanına ait olan algoritmaya ihtiyacımız vardır. Derin öğrenmede, "nöronlar" olarak adlandırılan çok sayıda mini algoritma katmanı, karmaşık sonuçlar çıkarmak için birlikte çalışır. Derin öğrenme, geleneksel bir makine öğrenme modelinden çok daha fazla öğrenme verisi gerektirir. Ancak, geleneksel modellerin yapamayacağı ilişkileri de öğrenebilir. Derin öğrenme, görüntü sınıflandırması veya dil anlayışı gibi veri yoğun problemleri çözmek için çokça kullanılır.

VERİ BİLİMİ ROLLERİ VE ARAÇLARI

Bu kısımda, farklı veri bilimi rolleri ve kullandıkları araçlar hakkında bilgi sahibi olacağız.

Veri Bilimindeki Roller

Veri biliminde tek bir rol olmadığını söyleyebiliriz. Genel olarak, dört farklı rol vardır: Veri mühendisi, veri analisti, veri bilimcisi ve makine öğrenmesi uzmanı.

Veri Mühendisi

Veri mühendisleri veri akışını kontrol eder: Özel veri boru hatları ve depolama sistemleri oluştururlar. Fakat, sadece veri toplanmasıyla değil, altyapı tasarımı aracılığıyla verinin kolay elde edilmesini ve işlenmesini sağlarlar. Veri bilimi iş akışının bir parçası olarak, ilk aşamaya odaklanırlar: veri toplama ve depolama.

Veri mühendisleri, verileri depolamak ve düzenlemek için kullandıkları SQL'de uzmandır. Ayrıca verileri işlemek için Java, Scala veya Python gibi programlama dillerinden birini kullanırlar. Görevleri otomatikleştirmek ve çalıştırmak için komut satırında Shell kullanırlar. Veri mühendisleri, büyük miktarda veri almak ve depolamak için bulut bilişiminde uzman olmalıdır.

Veri Analisti

Veri analistleri, mevcut durumu veri yoluyla açıklar. Bu işi, verileri inceleyerek ve görselleştirerek ve gösterge tabloları oluşturarak yaparlar. Bu görevleri yerine getirmek için genellikle önce verileri temizlemeleri gerekir. Analistler, diğer rollerden daha az programlama ve istatistik deneyimine sahiptir. İş akışının bir parçası olarak, iki orta aşamaya odaklanırlar: veri hazırlama, keşfetme ve görselleştirme.

Veri analistleri, verileri sorgulamak için veri mühendisleri tarafından da kullanılan SQL'i kullanır. Veri mühendisleri SQL depolama ve yapılandırma çözümleri oluştururken, analistler analizleriyle ilgili verileri almak ve toplamak için mevcut veritabanlarını kullanırlar. Veri analistleri, küçük miktarlarda veri üzerinde basit analizler yapmak için elektronik tabloları (Excel gibi) da kullanır. Analistler ayrıca, gösterge tabloları oluşturmak ve analizlerini paylaşmak için Tableau, Power BI veya Looker gibi iş zekası (business intelligence) araçlarını kullanırlar. Daha gelişmiş veri analistleri, verileri temizlemek ve analiz etmek için Python veya R kullanabilir.

Veri Bilimci

Veri bilimcileri, yalnızca verileri açıklamak yerine verilerden yeni bilgiler çıkarmalarını sağlayan istatistik biliminde güçlü bir geçmişe sahiptir. Ayrıca, tahmin için geleneksel makine öğrenmesi yöntemlerini kullanırlar. İş akışının bir parçası olarak, son üç aşamaya odaklanırlar: veri hazırlama, keşif ve görselleştirme, deney ve tahmin.

Analistlere benzer şekilde, veri bilimcileri SQL'de güçlü becerilere sahiptir. Ayrıca Python ve R gibi dillerde de uzman olmalıdırlar.

Makine Öğrenmesi Uzmanı

Makine öğrenmesi uzmanları veri bilimcilerine benzer, ancak makine öğrenmesi konusunda uzmandırlar. Makine öğrenmesi belki de veri biliminin en gürültülü kısmıdır ve bildiklerimizden yola çıkarak doğru olabilecek şeyleri tahmin etmek için kullanılır. İş akışının bir parçası olarak, son üç aşamayı (veri hazırlama, keşif ve görselleştirme, deney ve tahmin) özellikle "tahmin" etmeye odaklanarak gerçekleştirirler.

Makine öğrenmesi uzmanları, tahmin modellerini oluşturmak için Python veya R kullanırlar. Bu dillerde, güçlü derin öğrenme algoritmalarını çalıştırmak için tensorflow gibi popüler makine öğrenme kütüphanelerini de kullanırlar.