Veri bilimi çalışmalarındaki esas amaç verilerden anlam ve değer oluşturmaktır. Anlam taşımayan, ham veri setleri veri bilimciler tarafından işlenir. Bu işleme kapsamında veri bilimcinin gerçekleştirdiği işlevler genel olarak ilgili sorunların belirlenmesi, farklı veri kaynaklarından veri toplanması, veri modelleme ve görselleştirme, veri organizasyonu, verilerin çözüme dönüştürülmesi/işlenmesi ve bu bulguların derlenmesidir. Bütün bu aşamalar analiz sürecini hızlandıracak teknolojilerin kullanımını gerekli kılmaktadır.
Eğer siz de veri bilimi ile yeni ilgilenmeye başlıyorsanız ve hangi programlama dilini, kodlama ortamını ve araçları kullanabileceğinizden emin değilseniz; gelin, hep birlikte veri bilimcinin alet çantasına bir göz atalım.
1-) Kod Editörleri
Kod editörleri esasında, kodlama/programlama için özel olarak tasarlanmış metin editörleridir. Metin editörlerinden farkı ise kısaca geliştirme faaliyetlerine katkı sağlayabilecek çeşitli eklentilerle donatılmış olmalarıdır. Sunduğu özellikler, eklentiler, programlama dilleri için söz dizimi vurgulamaları (syntax highlight) kaliteli geliştirmeye, verime katkı sunar. Veri bilimine yönelik uygulamalar, analizler geliştirecek olanlar aşağıdaki editörler ile bu serüvene başlangıç yapabilirler.
-
Visual Studio Code
Fiyat: Ücretsiz
Kararlılık: Yüksek
Hız: Orta
UI / UX: Yüksek
Özelleştirilebilirlik: Orta
VSCode’u en eksiksiz, çok yönlü kod düzenleyici olarak tanımlasak herhalde yanlış olmaz…
Oldukça popüler olan Visual Studio Code, Microsoft tarafından geliştirilen bir kod editörüdür ve açık kaynaklı bir yazılımdır. VSCode belki de bu listedeki IDE‘ye en yakın kod düzenleyicisidir. Hızlı Git işlemleri veya birden fazla klasörün içini açma ve sıralama gibi birkaç ilginç görevi yerine getirebilir. Komünite tarafından geliştirilen binlerce eklentiyi tek tıkla kullanılabilir hale getirir.
Neden tercih edilebilir?
- Karmaşık, daha büyük projeler için iyi
- Binlerce eklenti barındırıyor
- Ekran paylaşımı ile canlı geliştirmeye olanak tanır (LiveShare)
- Otomatik tamamlama sunar
- Dahili Git desteği ve daha bir çoğu…
İnternet Sitesi: https://code.visualstudio.com/
-
Sublime Text 3
Fiyat: 80 $ (Ücretsiz Önizleme Seçeneği)
Kararlılık: Yüksek
Hız: Yüksek
UI / UX: Orta
Özelleştirilebilirlik: Yüksek
Sublime Text’in ücretli sürümünün çok yönlü en iyi kod editörü olduğunu söyleyebiliriz. Ki kendileri de bu editörü dünyaya öyle lanse ediyorlar…
Bunun sebebi, Sublime Text’in kod editörlerinin çalışma şeklini gerçekten değiştirmiş olmasıdır. Duyarlılığı, hafifliği, ve müthiş hızı Sublime Text’i sınıfındaki en iyi kod editörü yapan şeylerden biridir.
Sublime Text’in bir diğer önemli yararı da, paket yöneticisi aracılığıyla yüklenebilecek çok sayıda ve sürekli büyüyen eklenti listesiyle son derece genişletilebilir olmasıdır. Seçenekler arasında düzenleyicinin görünümünü özelleştirmek için temalar, kod vurgulayıcıları (kodunuzdaki hataları daha hızlı bulmanıza yardımcı olabilir), Git eklentileri, renk belirleyiciler ve daha fazlası bulunur.
Sublime Text’i indirmek ve kullanmaya başlamak ücretsizdir, ancak uzun süreli kullanım için bir lisans satın almanız gerekir. Belki de bu en büyük dezavantajıdır.
İnternet Sitesi: https://www.sublimetext.com/
-
Atom.io
Fiyat: Ücretsiz
Kararlılık: Orta
Hız: Orta
UI / UX: Yüksek
Özelleştirilebilirlik: Yüksek
Atom açık kaynaklıdır ve GitHub tarafından geliştirilmiştir. Ücretsizdir ve Git, GitHub ile kolayca entegrasyon sunar. Atom tarihsel olarak performans ve istikrar sorunlarına sahip olmuştur, ancak olgunlaştıkça bunlar önemli ölçüde azaltmış olsa da halen bazı editörlerden daha yavaş başladığı doğrudur.
İnternet Sitesi: https://atom.io/
2- ) Veri Bilimi İçin Programlama Dilleri
Yapısı, kapasiteleri ve olanakları gereği belirli programlama dilleri veri bilimi çalışmalarında kullanılmaya oldukça müsaittir. Aşağıdaki programlama dilleri hem sektörel hem de akademik olarak veri bilimi analizleri ve bu analizlerin kullanıldığı sistemleri oluşturmada kullanılan başlıca programlama dilleridir.
O halde hep birlikte aşağıdaki harika programlama dillerini kısaca tanıyalım.
-
Python
Python programlama dilini duymayan sanırım artık yoktur.
Python, nesne yönelimli, yorumlamalı, modüler (birimsel) ve etkileşimli yüksek seviyeli bir programlama dilidir.
Girintilere dayalı basit söz dizimi (syntax), dilin öğrenilmesini ve akılda kalmasını kolaylaştırır. Bu da ona söz diziminin ayrıntıları ile vakit yitirmeden programlama yapılmaya başlanabilen bir dil olma özelliği kazandırır. Veri bilimi alanı için veri keşif ve analiz, veri görselleştirme, veri depolama, büyük veri ve çok daha fazlasına yönelik harika kütüphanelere sahiptir. Bütün bu özellikleri göz önüne alınarak yeni başlayan ve alanında derinleşmek isteyenler için 1 numaralı tercihtir.
Modüler yapısı, sınıf dizgesini (sistem) ve her türlü veri alanı girişini destekler. Hemen hemen her türlü platformda çalışabilir. (UNIX , Linux, MacOS, Windows, Amiga, Symbian).
Python ile sistem programlama, kullanıcı ara birimi programlama, ağ programlama, web programlama, uygulama ve veritabanı yazılımı programlama gibi birçok alanda da yazılım geliştirilebilir. Büyük yazılımların hızlı bir şekilde prototiplerinin üretilmesi ve denenmesi gerektiği durumlarda da C/C++, Java vb. gibi dillere tercih edilir.
İnternet Sitesi: https://www.python.org/
-
R
R, istatistiksel hesaplama ve modelleme için özelleştirilmiş bir yazılım ortamı olup aynı zamanda R Foundation tarafından desteklenen açık kaynak kodlu bir programlama dilidir.
R, çok geniş istatistiki (doğrusal ve doğrusal olmayan modelleme, klasik istatistik testleri, zaman serileri analizi, sınıflandırma, kümeleme ve diğer) ve grafik çizim teknikleri sunmaktadır. R’da S gibi tam anlamıyla programlama dili olarak tasarlanmış olup kullanıcıya yeni fonksiyonlar tanımlayarak ek özellikler geliştirme imkânı sunmaktadır. Bazı önemli farklılıklar olmasına rağmen S için yazılan kodlar aynen R’da da çalışır. R sisteminin büyük çoğunluğu aynı dille yazıldığından kullanıcının yapılan algoritmik seçimleri takip etmesi kolaylaşmaktadır. Yoğun hesaplamalar gerektiren görevler için C/C++ ve Fortran kodu çalışma zamanında bağlanıp çalıştırılabilmektedir. İleri düzey geliştiriciler hız gereken noktalarda R nesnelerinin manipülasyonu için C kodu yazabilirler.
R, kullanıcıların eklediği özel fonksiyonlar veya çok özel araştırma alanlarına ait paketlerle oldukça geliştirilebilirdir. S dilinin mirasından dolayı R, diğer birçok istatistiki hesaplama dilinden daha kuvvetli bir nesneye yönelik programlama kabiliyetine sahiptir. R’ın bir diğer güçlü yönü matematiksel sembolleri de içeren, yüksek kalitede grafikler çizilebilme imkanıdır. R’ın ister çevrim içi ister baskı amaçlı kullanılabilen çok geniş içerikli LaTeX benzeri bir belgelendirme sistemi de bulunur.Bütün bu kapasitesiyle veri bilimi çalışmalarında çok başarılı bir programlama dili olarak karşımıza çıkar.
İnternet Sitesi: https://www.r-project.org/
-
Scala
Scala, Java’ya oldukça yakınlık gösteren bir programlama dilidir. Scala’yı öne çıkaran özelliği, programcının hem imperatif hem de fonksiyonel programlama stilinde geliştirme yapmasına müsaade etmesidir. Özellikleri bakımından çok donanımlı fakat öğrenme eğrisi kişiden kişiye farklılık gösterebilecek bir yapıdadır.
Ekstra bir not olarak söylemeliyim ki Apache Spark’ın geliştirildiği dildir. Ve Spark ile ilgilenen bir çok kişi bu sebepten Scala’yı öğrenmektedir. Apache Spark, Blockchain ve büyük veri ile ilgileniyorsanız Scala’nın size kazandıracağı çok şey olabilir.
İnternet Sitesi: https://www.scala-lang.org/
-
Julia
Julia yüksek başarımlı üst düzey bir programlama dilidir. Nitelikli bir derleyici, dağıtık komut yürütme olanağı, sayısal hesaplamalarda yüksek doğruluk oranı ve geniş bir matematiksel işlev kütüphanesine sahip olan Julia’nın söz dizimi diğer yazılım geliştirme ortamlarında kullanılan dillerle benzerlik göstermektedir.
Julia veri bilimi, otonom araçlar, 3D yazıcılar, hassas tıp araştırmaları, artırılmış gerçeklik, makine öğrenimi, risk yönetimi uygulamalarında ve daha birçoğunda güçlü bir tercih sebebi olabilmektedir. Gelecekte ekosistem içerisinde iyi bir yere sahip olması beklenmektedir.
İnternet Sitesi: https://julialang.org/
3-) Veri Bilimi Araçları
Veri bilimi çalışmalarında kullanılabilecek veri bilimi platformları, araçları, kütüphanelerini aşağıdaki tablo aracılığıyla keşfedebilirsiniz. Hepsi farklı konulara yönelik avantajlar ve dezavantajlar sunmaktadır.
Apache Spark | Apache Hadoop | Apache Kafka |
Apache HBase | Apache Hive | Apache Mahout |
Apache Storm | Apache Pig | Apache Mesos |
BigML | D3.js | MATLAB |
KNIME | Matplotlib | ggplot2 |
MLBase | RapidMiner | Redis |
Tensorflow | SAS | Excel |
Jupyter | Tableau | NLTK |
Power BI | ParseHub | Octoparse |
PostgreSQL | SQL Server | MySQL |