Adım Adım Veri Bilimi - 1 (R Dünyasına Giriş)
Microsoft son zamanlarda Advanced Analytics ve Big Data başlıklarına odaklanmış durumda. Bu başlıklardaki ihtiyaçlara cevap verecek yeni ürünler-özellikler Microsoft tarafından geliştirilmekte ve hem lokalde hem de bulutta hızla duyurulmakta.
Bu başlıkların odak noktası veri analizi. Veri analizi denilince de akla ilk gelen şeylerden biri de R oluyor haliyle. Peki nedir bu R? Ne işe yarar? Microsoft bu konuda neler yapıyor?
Bazı temel soruların cevaplarını R dünyasına giriş niteliği taşıyan bu yazımızda ele alalım istedim.
R (ar) denildiğinde akla birkaç şey birlikte gelir. Bunlar R dili, R dilinin çalıştığı platform (distribution veya engine diye düşünebilirsiniz.), R paketleri ve geliştirme ortamı (IDE).
R programlama dili (ilk çıkışı 1993 - Yeni Zelanda Auckland Üniversitesi'nde araştırma projesi olarak) 20 yılı aşkın süredir kullanılan ve geliştirilen açık kaynak kodlu bir script dilidir. İstatistiksel hesaplamalar, tahmine dayalı analizler (Predictive Analytics), veri görselleştirme ve raporlama alanları söz konusu olduğunda en çok tercih edilen dildir. Karmaşık istatistiksel hesaplamalar yapıp sonuçları çok geniş yelpazedeki görsellerle sunabilme yeteneği olduğu için özellikle üniversitelerce desteklenmiştir. İstatistiksel Analiz ve Veri Bilimi çalışmaları için yoğun olarak tercih edilen bu dil bir tür standart haline gelmiştir.
R Kime Ait?
R Kuruluşu kar amacı gütmeyen bir organizasyondur. Bu organizasyon çeşitli ülkelerdeki üniversiteler ve kurumlar tarafından desteklenmektedir. Dünya çapındaki bağışçılar sayesinde "Development Core Team - Geliştirme Çekirdek Ekibi" R dilini ve ortamını ayakta tutmakta dahası gittikçe güçlendirmektedir. Arkasında canlı ve geniş bir topluluk desteği mevcuttur.
R, Free Software Foundation'ın GNU General Public License (GNU Genel Kamu Lisansı) altında açık kaynak kod olarak dağıtılmaktadır. Ücretsizdir.
Farklı R Dağıtımları Mevcut Mu?
R'ın imkanlarını içeren farklı ticari ve kurumsal dağıtımlar da mevcut. Mesela Microsoft'un satın alıp geliştirdiği REvoluation R (yeni adı Microsoft R Open), paralel işlem yeteneğine sahip ParallelR, R+ ve RStat bunlardan bir kaçı.
R dilini farklı R dağıtımları (platform - ortam) üzerinde kullanabilirsiniz. Dağıtımlar temel kütüphaneler bakımından bir biri ile %100 uyumludur. Ancak aralarında performans, R kodlarının paylaşım kolaylığı, ek kütüphaneler ve hata ayıklama başlıklarında farklılıklar olabilmektedir. Bu dağıtımlar Windows, Mac ve Linux üzerinde çalışabilmektedir (kısıtlar ve farklılıklar olabilir).
Gücünü Nereden Alır?
R'ın yetenekleri çalışma ortamına yüklenen paketlerle genişletilebilir. Bu paketler çeşitli analiz teknikleri, gelişmiş grafik özellikleri, farklı türden dosya okuma/yazma gibi bir çok yeteneği hizmetinize sunar. Şuanda (Ekim 2016) CRAN (Comprehensive R Archive Network - Geniş Kapsamlı R Yazılım Ağı) havuzunda erişilebilir durumda 9273 yetenekli R paketi yer almaktadır. Bu paketleri ortamınıza yükleyebilir içlerindeki istatistiksel ve görsel kütüphaneleri kullanarak derin veri analizi çalışmaları yürütebilirsiniz. Yeni paketler geliştirmek ve bu havuzu genişletmek de mümkün. Hatta gerektiğinde C, C++, Fortran programlama dilleriyle yazılmış kodları da kullanarak çalışma zamanında yoğun hesaplama gereken görevler icra edilebilmektedir.
Alfabetik sıraya göre CRAN paketlerine şu linkten ulaşabilirsiniz :
Başlıklara göre bakmak isterseniz şu linki kullanabilirsiniz:
R Kodları Nereye Yazılır?
R ortamını kurduktan sonra komut satırı üzerinde veya çeşitli grafik arayüzlü geliştirme ortamlarında (IDE) üzerinde çalışmaya başlayabilirsiniz. R kodlarını kurulum yapmadan çalıştıran websiteleri de mevcut. Grafik arayüzlü geliştirme ortamlarından bazıları şunlar; R Tools for Visual Studio, RStudio, Java Gui for R, Rattle GUI, Statistical Lab vs.
Ekosistemdeki Yeri Nedir?
R konusu istatistiksel veri analizi, veri madenciliği, makine öğrenmesi, veri yönetimi, veri bilimi, büyük veri, veri görselleştirme gibi analiz ve raporlama odaklı daha bir çok konu ile ilişkilidir. Dolayısıyla bazı teknolooji şirketleri ürünlerinde R'a destek vermektedir veya tamamen R temelli hizmetler sunmaktadır. R her geçen gün daha da popüler olmaktadır. Odağı veri analizi olmasına rağmen araştırmaya göre popülerlik sıralamasında 6. sırada görünüyor.
Microsoft da son zamanlarda bu alanda ciddi adımlar atmakta. Hatta geçtiğimiz sene (2015) REvolution R dağıtımını kendi bünyesine kattı. Performans, geliştirme ortamı, kod paylaşımı ve hata ayıklama gibi çeşitli başlıklarda iyileştirmeler yaparak Microsoft R Open adıyla açık kaynak R dağıtımını yayınladı. şu linkten bilgi alabilirsiniz:
Microsoft'un R dünyasına yakınlaşmasının nimetlerini yeni ürünlerinde görmek mümkün. SQL Server 2016 özelliklerinden R in Database adıyla duyurulan yenilik sayesinde R kodlarını veritabanı içerisinden çağırıp kullanmak mümkün. Paralel çalışma imkanı olan R Server'ın lokal kurulumu, Azure ML içerisinde R kodlarıyla işlem yapılabilmesi, Azure HDInsight üzerinde R Server oluşturma imkanı olması, Azure üzerinde Hadoop dağıtımlarında kullanılabilmesi, Power BI ve SSRS üzerinde R görsellerinin sunulabilmesi gibi çeşitli senaryolar da mevcut.
R dilini öğrenmek oldukça kolay. Ancak uzman olmak biraz zor. Çünkü bir çok kütüphanenin kullanımı yoğun istatistik ve matematik bilgisi gerektiriyor. Kodlarla çalışmanın doğal yan etkileri de var tabi. Yazmak oldukça yavaş, okumak ve değişiklik yapmak da çok kolay sayılmaz. Ancak koca koca analizleri komut satırları ile ifade edip dağıtmak oldukça pratik.
Bu konuda bir çok eğitim sitesi bulmak mümkün. R dilini çeşitli yönlerinden ele almaktalar. Temelleri konusunda hemen hemen aynı şeyleri her yerde görebilirsiniz. Bizler de serinin devamında daha kısa özetlerle temellere değineceğiz.
R ile ilgili ne gibi başlıklar var diye merak edenler şu siteye bir göz atabilirler:
Haydi kurulumla başlayalım!
R ile çalışmaya başlamak için 2 yol sunayım:
1. Yol : CRAN (Comprehensive R Archive Network)
Kurulum : Şu linkten tüm muhtemel indirme linklerine erişebilirsiniz : https://cran.r-project.org/mirrors.html
Ben Turkiye altında görünen Pamukkale Üniversitesi'ne ait olan şu linki tıkladım: https://cran.pau.edu.tr/
Açılan linkte işletim sisteminize ait linki tıklayalım (ben Windows seçtim). Yeni açılan sayfada şu base linkini tıklayarak R platformunu indirip kurabilirsiniz: https://cran.pau.edu.tr/bin/windows/base/
Eğer varsayılan ayarlarda kurulum yaptıysanız R logolu kısayol masaüstünüze gelecektir. Kısayolu tıklayıp R kodlarını yazmaya başlayabilirsiniz. print("Merhaba Dünya") yazıp sonra Enter tuşuna basarak komutu çalıştırın
Not: Grafik arayüzü gelişmiş başka bir ürünle çalışmak isterseniz RStudio veya R Tools for Visual Studio ile çalışmanızı öneririm. RStudio'yu şu linkten indirebilirsiniz : https://www.rstudio.com/
2. Yol : MRAN (Microsoft R Application Network)
Şu linkten çeşitli tanıtımlara ve indirme linkine erişebilirsiniz : https://mran.revolutionanalytics.com/
Açılan sayfadaki işletim sisteminize uygun dosyayı indirip kurabilirsiniz. Windows için şu dosyayı kurdum : https://mran.revolutionanalytics.com/install/mro/3.3.1/microsoft-r-open-3.3.1.msi
Şu linkten grafik arayüzlü geliştirme ortamı olan R Tools for Visual Studio'yu indirebilirsiniz: https://www.visualstudio.com/vs/rtvs/
Not: R Tools for Visual Studio bir Visual Studio eklentisidir. VS 2015 mevcut değilse ücretsiz olarak indirebilirsiniz. Şu linkteki yönlendirmelere göre kurulumu tamamlayabilirsiniz : http://microsoft.github.io/RTVS-docs/installation.html
Serinin devamında ikinci seçenek üzerinden ilerleyerek ekran görüntüleri paylaşacağım. Ancak siz kendinizi rahat hissettiğiniz bir ortamda çalışabilirsiniz. Odaklanacağımız giriş seviyesi komutlar tüm dağıtımlarda çalışacaktır.
R'ı özetlersek; Başarılı veri analizleri yapabilmek için gereklidir. Hızlıca öğrenilebilir fakat ustalaşması zaman alır. Standart haline gelmiş, yetenekli ve güçlü bir ortam sunar. Destekçisi ve takipçisi çoktur.
Microsoft R Open,
R Tools for Visual Studio,
SQL Server 2016 Yenilikleri - 4 (Always Encrypted)...