Kod Yazmadan R Programında Neler Yapılabilir ?
İleri düzey kod yazamayanlar için R programı…
Utku Kubilay ÇINAR
R programında, verilerinizi analiz etmek ve veri bilimi yolunda işlemlerinizi(profesyonel ya da amatör) gerçekleştirebilmek için ileri düzey “kodlaMA” yapabilirsiniz ama istemezseniz de yapmayabilirsiniz. Bir önceki yazımda, bu yazı için spoiler vermiştim ve şimdi de bu yazıyı kaleme alıyorum.
Bu yazıda uygulama değil de siz değerli okuyucularımla ve Veri Bilimi Okulu’nu takip eden değerli insanlarla yani sizlerle sohbet edeceğiz. Tabi sohbet karşılıklı olur aynı eğitişim gibi, karşılıklı eğitişmek gibi. Sizler de cevaplarınızı yorum olarak bu sayfanın altına bildirebilirsiniz. Bu yazıda R programında çalışan ve kod yazmadan işlemlerimizi, görselleştirmelerimizi ya da bazı modellemeleri yapabileceğimiz kütüphanelerden bahsedeceğim. Sizin bildiğiniz fakat bu yazıda yer almayan, kodlama yapmadan işlem yapabileceğimiz kütüphaneler biliyorsanız lütfen yorumda belirtin. Karşılıklı eğitişim için bilgilerimizi paylaşmalıyız çünkü bilim kümülatif ilerler.
Görsel Kaynak: https://towardsdatascience.com/introduction-to-statistics-e9d72d818745 (Faydalı bir link, incelemenizde fayda var)
Veri bilimi malumunuz üzere istatistik bilgisi, kodlama bilgisi, iş bilgisi gibi alanların/kavramların birleşmesi ile tam ortada kesişim kümesinde kendine yer edinmiş bir alandır. Kıymetli bir alandır. Durum böyle olunca yabancı ülkelerde veri bilimcilerine ciddi yatırımlar yapılmaktadır. Çalıştıkları yerlerde kıymet görmektedirler.
Görsel: https://www.glassdoor.com/Salaries/data-scientist-salary-SRCH_KO0,14.htm (Veri Bilimcilerin Dünya’daki ortalama gelirleri)
Veri Çağı’nda yaşadığımız bu zamanlarda verileri anlamlı kılmak ya da altından kalkamayacak(!) kadar çok veriyi, anlamlı bilgiler(pazarlama faaliyetlerinde kullanabileceğimiz çıkarımlar) haline getirmek önem arz etmektedir. Günümüzde firmalar yaşamlarını pazarlama merkezli sürdürür. Her ürün pazarlamaya uygun yapılır ve ürünler müşterilerin kullanabilmesi, onunla içselleştirilmesine odaklıdır. Hal bu olunca verinin önemini siz düşünün. Segmentasyonun önemini, kimlere nelerin önerileceği gibi konuları, hangi müşterimizin bizi terk edebilir gibi soruların önemini umarım anlamışsınızdır. CRM bu kadar popüler, veri bilimi bu kadar popüler ve uzun bir geleceğe kadar da konumunu ivmeli bir şekilde yükselteceği kesin gibi ama bunun için bazı konularda yetkin olmak zor mu olsa gerek ? Bu sorunun cevabını düşündüm uzun(!) bir süre. Gözümü kapattım ve açtım direk aklıma iki cevap geldi: Hayır efendim zor değil ama evet efendim az biraz zor. Bu iki cevap, iki farklı uçlarda ama bu biraz kişiye, onun azmine, gelecekte ne kadar var olmak istediğine ve biraz da yeteneğine bağlı. Yetenek kavramını korkarak kullandım çünkü veri bilimi yol haritasında kodlama ve bilgisayar bilgisi düzeyleri farklı da olsa gerekmektedir. Bunun bir çalışmanın sonucu olduğunu mu yoksa yetenek sonucu mu olduğunun tartışması yapılmakla beraber ben çalışmanın sonucu olduğundan yanayım. Lafı ne uzattım ama. Kısaca kodlama bilmek zorunda değilsin kardeşim/ağabeyim/hocam.
R programında kodlama yapmadan da bazı işlemleri yapabiliyoruz. Bu yazı profesyonel olarak veri bilimciler için yeterli olmayacaktır fakat birçok okulda istatistik, veri madenciliği, veri bilimi, çok değişkenli istatistik, biyoistatistik, olasılık gibi dersleri alan lisans ve lisansüstü öğrenciler için ve hiç kodlama bilmeyen, kodlama geçmişi olmayan kişiler için hayat kurtarıcı olacağını düşünüyorum.
Burada birkaç kütüphaneden bahsedeceğim. Bu kütüphaneler sayesinde kod bilmesek bile istatistiksel testleri, veri görselliği, makine öğrenmesi algoritmalarını basit düzeyde oluşturabilirsiniz. Bir önceki paragrafta belirttiğim kişiler ödevlerinde, günlük basit istatistiksel çıkarımlarında ya da veri görselleştirmede rahatlıkla kullanabilir. Tabi ki bu alanda ilerlemek ve kendinizi geliştirmek istiyorsanız kod yazmalısınız fakat işim görülsün, anı kurtarayım be abi derseniz bu kütüphaneleri rahatlıkla kullanabilirsiniz.
Belirtmekte fayda görüyorum ki bu kütüphaneler sadece sizin kod yazma işlemlerini atlamanızı sağlayacaktır fakat size yine istatistiksel teorilerin varsayımlarını, iş bilgisi gibi konularını bilmeniz gerekmektedir. Bu yüzden model kurarken, istatistiksel testler yaparken varsayımlarını ve konuyla alakalı kavramları/yöntemleri/metodolojileri bilmeniz gerekmektedir.
1. “Rcmdr” Kütüphanesi
R Commander(Rcmdr) olarak ulaşabileceğimiz kütüphanede sol üstten aktif veri setini yükleyerek işlemlerinizi yapabilirsiniz. Bu kütüphane sayesinde 3D grafikler oluşturmanız mümkün. İstatistiksel testleri, regresyon modellerini rahatlıkla yapabilirsiniz. Graphs başlığı altından hedef bağımlı değişkenini ya da seçtiğin parametreler arasında çok sayıda farklı görseli kullanabilirsiniz.
```{r}
install.packages("Rcmdr")
library(Rcmdr)
```
2. “rattle” Kütüphanesi
Rattle kütüphanesini ben öğrenciyken öğrenmiştim. Veri Madenciliği dersinde öğretmenimiz böyle bir kütüphane var demişti. Ne güzel de demiş. Bu kütüphane ile çok ödev yaptığımı hatırlıyorum. Aslında bu yazının çıkışında benim yıllar öncesindeki o duygularım var. İstatistik okuyorum, R programına hevesliyim, makine öğrenmesi dehşet ilgimi çekiyor, insanlar R programı ile neler yaptığını okuyorum ya da videoları izliyorum içimden “vay bee elin oğlu neler yapıyor” diyorum. Az da olsa kod yazabiliyorum ama gelişmiş kodlar yazamıyordum. Modelleri oluşturacak kodların mantığını anlayamıyordum. Kısaca, kapsamlı kodlar yazamıyordum ama bu kütüphane sayesinde çok veri görselleştirmesi yapmıştım. Verilen ödevleri tabi özenle yapıyordum, teorilerini varsayımlarını yazıyordum testlerini yapıyordum ardından programdan çıkan görselin ekran görüntüsünü alıyordum. Güzel işti aslında ama siz yine kod yazmasını öğrenin 🙂
Bu da böyle bir anımdır.
Rattle kütüphanesi ile hedef değişkeni(bağımlı değişkeni, istediğiniz herhangi bir parametre de olabilir) seçtikten sonra işlemlere başlayabiliyorsunuz. İstediğiniz şekilde gruplandırabiliyorsunuz ya da kümeleme, sınıflandırma, birliktelik analizlerini yapabiliyorsunuz. Kod yazmadan bu işlemleri yapabilmek, kodlama bilmeyen kişilerin bunları yapabilmesi, makine öğrenmesi algoritmaları yapabilmesi büyük olay hocam. Bu kütüphaneyi kurcalayıp öğrenin. Gerekli kıymeti verin ve neyi nasıl yaptığını öğrenin. Şahsen ben öğrenciyken ödevlerimi yaparken bu kütüphaneye “Nasılsın Yiğidim” diye hal hatır soruyordum. Emeği çok bende. Kıymetli bir kütüphane.
```{r}
install.packages("rattle") #yükleme işlemleri bazı bilgisayarlarda ve R programının sürümlerine göre zorluk çıkartabiliyor. Eğer yüklenmede ve kurulumda bir sorun çıkarsa RGtk2 kütüphanesini de yükleyin.
library(rattle)
rattle()
```
Komutu ile çalıştırabilirsiniz. Veri görselliği, istatistiksel testler, makine öğrenmesinin havalı isimleri olan algoritmaları, birliktelik analizleri, sınıflandırma ve kümeleme gibi birçok farklı çalışmaları yapabilirsiniz. Yapay Sinir Ağları konulu yazımda bu kütüphaneyi kullanmamıştım fakat rattle kütüphenesi ile yapay sinir ağları modeli de oluşturabilirsiniz.
3. AmeliaView()
Bir önceki yazımda eksik verileri kaleme almıştım. Amelia kütüphesi içinde AmeliaView ile eksik verilerinizi doldurabilir, imputasyon, eksik verilerinizde görsellik yapabilirsiniz.
```{r}
install.packages("Amelia")
library(Amelia)
AmeliaView()
```
Komutu ile çalıştırabilirsiniz. Eksik verilerinizin bulunduğu veri setini yükleyip işlemlerinizi gerçekleştirebilirsiniz.
4. MissingdataGUI
İsminden de görüldüğü gibi eksik verilerle ilgili bir kütüphane. Eksik verinin görselleştirilmesi, doldurulması gibi birçok işlemi kolaylıkla yapabiliyorsunuz.
```{r}
install.packages("MissingDataGUI")
library(MissingDataGUI)
```
RGtk2 ile çalışan bu kütüphanede(indirirken rattle kütüphanesi ile aynı sorunu yaşamanız durumunda kütüphaneyi tekrar indirmeyi deneyin, farklı kaynaklardan github’dan yükleyebilirsiniz. https://cran.r-project.org/web/packages/MissingDataGUI/MissingDataGUI.pdf)
5. GGobi
GGobi kütüphanesi ile verilerinizi kolaylıkla görselleştirebilirsiniz. Eskiden rattle kütüphanesi ile beraber yükleniyordu, sonra ayrı bir kütüphane oldu(versiyonlarına göre değişiyor sanırım), kendi internet sitesi var ve oradan da program şeklinde indirebilirsiniz. Veri görselleştirme işini kolaylaştıran bir uygulama.
```{r}
install.packages("rggobi")
library(rggobi) #ekran açılmazsa ggobi(dataset) olarak çalıştırabilirsiniz. Eğer hiç çalışmıyorsa korkmayın kendi internet
sitesinden kütüphaneyi indirebilir ve program gibi kullanabilirsiniz. http://www.ggobi.org
```
Eğer veri bilimi alanında çalışacaksanız ve R programını öğreniyorsanız, bu kütüphaneler ile kod yazımını öğrenmeyi ertelediğinizi unutmamak gerekir. Evet böyle güzel kütüphaneler(pokemonlar) var fakat kod yazımını da öğrenmek önemli.
Günümüzde artık firmalar için en önemli şeylerin başında veri gelmekte. Büyük yatırımlar yapılıyor. Onların hem saklanması için, hem işlenebilmesi için hem de satışının gerçekleşmesi için(bknz. Facebook verileri). Gelecekte veriye dokunamayan mesleklerin varlıklarının tehlikeye gireceğini düşünmekteyim bu sebeple ne iş yapıyorsanız yapın, hangi alanda çalışıyor olursanız olun kıyısından köşesinden de olsa veri ile iç içe olacağız çünkü mecburuz. Artık her şey veri üretiyor ve onları da siz yönetiyorsunuz. Yani sizin karakteriniz var, o duygularla içselleştiriyorsunuz ve içeriğini dolduruyorsunuz. Günümüzde beyaz eşyalar bile internet üzerinden veri üretiyor, sizinle etkileşime geçiyor. Artık her şey veri üretiyor ve başta veri bilimciler, veri analistleri, veri mühendisleri veya veriye dokunan her çalışana analiz edilecek veri setleri üretiyoruz. Bu sebeple yazımın başında belirttiğim gibi pazarlama birimlerinin hedefinde(veri üretenlere yani herkese ilgileneceği ürünü satmak, öneri yapmak gibi düşünebilirsiniz hedef kelimesini) olduğumuzu hatırlatmak isterim, segmentasyonlarına belki de uç değer, gürültülü veri, ortalamadan sapan veri olarak veri setlerinde yerimizi alıyoruz.
Bunları yazmamım sebebi, veri okur-yazarlığını öğrenmeniz çünkü çağ, Veri Çağı.
Bu yazımı, küçük bir sohbet diliyle yazmak istedim. Umarım bu çözümler ve kütüphaneler kodlama bilmeyen, en azından sadece anı kurtarmak için R programına ihtiyaç duyan kişilerin işine yaramıştır. Kullanmadığım kütüphaneleri bu yazıda paylaşmadım, sizlerin kullandığınız ve bu yazıda olmayan bu tip kütüphaneleri yorumda belirtirseniz herkes için faydalı olacaktır.
Saygılarımla.
Varsayımlarınızın sağlanması dileğiyle,
Veri ile kalın, Hoşça kalın..
Görsel Kaynaklar: http://www.itpro.co.uk/, http://towardsdatascience.com, https://www.glassdoor.com/