R YAZILIMI DATAMINING MACHINE LEARNING NEDIR?

tarihinde yayınlandıR yazılımı, Veri Analizi içinde yayınlandı
Facebooktwittergoogle_plusredditpinterestlinkedinmail

Doç. DR. Kutlu MERİH

DATALAB TR olarak çalışmalarımız. R yazılımı ile Stratejik Analiz, DataMining ve Machine Learning tekniklerinin eğitimine odaklanıyor. Yaparak Öğrenme (Learning by Doing) tekniği kullandığımız için bu kavramların açıklığa kavuşması genellikle arkada ve gizemli kalıyor. Burada bu kavramları kısaca açıklamaya çalışacağız.

R Nedir?

R bir yazılım platformudur ama R denildiğinde akla birkaç şey birlikte gelmeli. Öncelikle R bir script programlama dilidir, R dili bir platform üzerinde çalışır, R paketleri ve geliştirme ortamı (IDE). R nin stratejik özelliği enstalasyon gerektirmemesi ve portatif olarak her ortama yüklenebilmesidir. Yani R yazılımını USB üzerinde cebinizde taşıyabilirsiniz. DATALAB TR hen R dili ile program geliştirebilen hem de kullanışlı R analitik/Grafik paketlerinin eğitimini veren bir organizasyondur.
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. Devamlı yeni paketler ile geliştiği ve genişleyebildiği için İstatistiksel Analiz ve Veri Bilimi çalışmaları için öncelikle tercih edilen bir yazılım durumundadır.

R Arkasındaki Destek

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. Ayrıntılı bilgilere şu linkten ulaşabilirsiniz: https://www.r-project.org/

R Neden Güçlü?

R’ın yetenekleri çalışma ortamına yüklenen paketlerle sürekli olarak genişliyor. Bu arada eski paketlerin de güncellenmiş versiyonları sürekli olarak adapte ediliyor. Böylece R organik olarak giderek genişleyen ve etkinleşen bir yapı. aşlangıçta olmadığı halde artık paralel işlem yeteneklerine de sahip. Bu da Big Data sorunları ile uğraşabilmek kapasitesi sağlıyor. Bu paketler çeşitli analiz teknikleri, gelişmiş grafik özellikleri, farklı türden dosya okuma/yazma gibi bir çok yeteneğe sahip. Şu anda (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. Bunun yanında GitHUB ve BioConductor portallerinde de paketler var. Böylece potansiyel R paketlerinin sayısı 10.000 üzerinde.
R nin bir yazılım değil Yazılım Evreni (Cosmos) olduğu çok açık. Kullanıcılar bilgi düzeyleri ve uzmanlık alanlarına göre geniş bir uygulama spektrumuna dağılmış olan bu paketleri yükleyerek kullanabilirler.

R Yazılım Ekosistemindeki Yeri?

R Ekosistemi istatistiksel veri analizi, veri madenciliği, makine öğrenmesi, veri yönetimi, veri bilimi, büyük veri, veri görselleştirme, Finansal Analiz, Stock Trading gibi analiz, tahmin 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ırmalara göre popülerlik sıralamasında daima ilk 5 de görünüyor.

Nereden başlamalı?

R dilini öğrenmek ve kullanmak 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 R konsolu üzerinde basit komut satırları ile ifade edip uygulayabilmek oldukça pratik.
R nin bir ayrıcalığı da R kullanma ve sorun çözme konularını işleyen en çok sayıda internet sitesine sahip olması. R için çeşitli uygulamalara yönelik bir çok eğitim sitesi bulmak mümkün. Bizim önerimiz ise R ile ilginizi Yaparak Öğrenme (Learning by Doing) tekniğini kullanan DATALAB TR ile başlamanız. R kullanımına en kestirme yoldan gitmeye çalışıyoruz. Bu eğitimlerde katılımcılara R nin en son ve en güvenilir versiyonu ve bazı stratejik R programları yüklenmiş yüklenmiş USB ler vererek veya bunları DropBox portalinden indirerek başlıyoruz. Böylece katılımcılar eğitimle bir likte R kullanmaya başlamış oluyorlar. Sonrası katılımcının heves ve enerjisine bağlı oluyor.

Datamining

Data Mining, özellikle iş dünyasındaki büyük verileri keşfetmek için dizayn edilmiş; değişkenler arasındaki ilişkileri ortaya çıkaran, desenleri ortaya çıkararak yeni ve anlamlı bilgiler oluşturan yöntemler sürecidir. En önemli amacı Prediction (tahminleme) dir. Aynı zamanda da tahminleme en yaygın datamining şeklidir ve iş dünyasında herhangi bir alanda genellikle bir karşılığı bulunur.
Data Mining prosesi üç ana adımdan oluşur:
1- İlk Keşfetme
2- Model oluşturma ve Doğrulama
3- Geliştirme

Adım 1-İlk Keşfetme:

Genellikle veriyi hazırlama safhasıyla başlar. Veriyi temizleme, veriyi dönüştürme, kayıtlardan alt küme seçme, büyük verileri ve alanları seçme işlemidir. Bu aşamada Feature Selection denilen, modele katlısı olmayacak, modeli gereksiz yere yorabilecek ve modelin yönetimini zorlaştırabilecek alanların tespiti ve eleminasyonu sağlanabilir. Tabi modelin yönetimi derken, modelin ne olduğuna daha önceden karar vermiş olamamız gerekmektedir. Analitik problemin doğasına bağlı olarak, Regresyon Analizi gibi basit işlemlerle, veriyi keşfetmek için Veri Keşfetme (Exploratory Data Analysis (EDA)) yöntemleri kullanılır. Principal Componene Analysis (PCA) bunların önde gelenelerindendir. Veri keşfetme işlemi sırasında veri karmaşıklığı konusu ve verilerin birbirleri ile ilgili değişkenleri belirlenir.

Adım 2-Model Oluşturma:

Bu aşama çeşitli metotlar üzerinde düşünme ve durumumuza en uygun olanını seçme aşamasıdır. Sadece tek bir operasyon gibi görünmesine rağmen ayrıntılı prosesler içerebilir. Bu amacı gerçekleştirmek için çeşitli teknikler geliştirilmiştir. Bu metodların bir çoğu aynı data seti ile farklı modeller deneyen ve en iyisini seçmek için performanslarını karşılaştırmaya yarayan “Competitive Evaluation of Models,” denilen bir tekniğe dayanır. Bu teknikler Predictive Data Mining in çekirdeğine ek olarak  Bagging (Voting, Averaging), Boosting, Stacking (Stacked Generalizations), ve Meta-Learning yöntemlerini de içerir. R nin bir çok DataMining paketi bu yöntemleri geniş olarak kullanır.

Adım 3- Oluşturulan Modelin Analizi Tahmin ve Doğrulama:

Son aşama bir önceki aşamada seçilen en iyi modelin; umulan çıktıları elde etmek için, yeni verilerle çıkarım ve tahmin yapılması aşamasıdır. DATALAB TR olarak bu aşamada öncelikle gelişmiş R Grafik Paketlerinden yararlanan Grafik Datamining yaklaşımını öneriyoruz. Bu yaklaşım veri yapılarının belirgenleşmesinde ve ön tahminlerin yapılabilmesinde görsel bir olanak yaratıyor.

Grafik Datamining ve Veri Görselleştirme

Grafik Datamining DATALAB TR nin geliştirdiği ve yazılımının ileri grafik ve harita paketlerinin karmaşık verisetlerinin Veri Görselleştirme odaklı olarak uygulanmasıdır. Yani Grafik datamining ile güzel grafikler yapmak değil veri setlerinin enformatik analizinin grafik yöntemler kullanılarak gerçekleştirilmesi amaçlanır. Ülkemizde ve dünyada yaygın bilinen bir teknik değildir. Google search ile çok kayıt gelmez. Kısaca söylenirse Grafik Datamining veri ile başlayan ve yine veri ile sonuçlanan algoritmik araştırma son uçlarının grafik olarak basit ve anlaşılır hale getirilmesidir. R platformu bize bu amaca uygun lattice, ggplot2, ggmap, ggviz, leaflet,… gibi çok sayıda grafik görselleştirme paketi sağlıyor. Konuya ve verisetine uygun bir veya birkaçı ile sonuca ulaşabilirsiniz. Grafik datamining Yapay Zeka ve Machie Learning uygulamaları öncesinde araştırmacıya problermin ve verisetinin doğası konusunda bir ön anlayış sağlamasına olanak yaratıyor. R yazılım diline ve çeşitli paketlerin becerilerine hakim olunduğu durumda yoğun verisetlerinden çok etkileyici DASBOARD grafikler oluşturmak da mümkün.

Machine Learning

Makine Öğrenmesi, verilen bir problemi probleme ait ortamdan edinilen veriye göre modelleyen bilgisayar algoritmalarının genel adıdır. Makine öğrenmesi ayrı bir alan olarak 1990 yıllarında yeniden gelişmeye başladı. Burada bilgisayarların hafıza kapasitesi ve hesaplama gücünün artması önemli bir rol oynadı. Çünkü bu algoritmalar üst düzey bilgisayar kapasitesi gerektiriyor. Makine öğrenmesi ve veri madenciliği sık sık aynı yöntemleri kullanırlar ve bu yöntemler önemli ölçüde örtüşmektedir. Bu yöntemler genel hatlarıyla aşağıdaki şekildeki gibi ayırt edilebilir:
► Veri madenciliği algortimik teknikler ile veri kütlelerinde gizllenmiş özelliklerin keşfedilmesine odaklanır. Bu veritabanlarında bilgi keşfi analizinin bir adımıdır.
► Makine öğrenmesi algoritmik araçlar ile öğrenilen verilerden yapılan tahminler ve bu öğrenme ve tahmin işlemlerinin insandan bağımsız bilgisayarların gerçekleştirebilmesine odaklanır.
Bu iki alan birçok yönden örtüşmektedir. Veri madenciliği birçok makine öğrenmesi metodunu kullanır fakat çoğunlukla mantıksal olarak farklı hedefleri vardır. Diğer bir yandan makine öğrenmesi de denetimsiz öğrenme ya da öğrenici doğruluğunu geliştirmek için ön işleme adımı gibi veri madenciliği metotlarını kullanır.
Bu teknikler güçlü potansiyelleri nedeniyle yoğun çalışılan bir konu olduğu için önerilmiş birçok yaklaşım ve algoritma mevcuttur. Bunların hemen hepsini karşılayan R paketleri bulunmaktadır. Bu yaklaşımların bir kısmı tahmin (prediction) ve kestirim (estimation) bir kısmı da sınıflandırma (classification) yapabilme yeteneğine sahiptir. Önerilmiş birçok makine öğrenmesi yöntemi mevcuttur. Bunlar probleme yaklaşımlara göre farklılık gösterebilir ve bu yüzden farklı problemlerde farklı başarılara sahip olabilirler. R yazılımı bu teknikleri ve algoritmaları kullanan bir çok pakete sahiptir. Bu paketler algoritmalar konusunda en son ve en gelişmiş teknikleri hizmete sunabilmektedir. Veriye dayalı olarak eğitim yapılmasının temel amacı eğitilen sistemin benzer konuda hiç bilinmeyen bir örneğe mantıklı bir cevap üretebilmesidir. Genel olarak bu araştırmalar iki amaca yöneliktir:
Tahmin (prediction): Veriden öğrenen modellerde sistem çıkışının nicel olması durumunda kullanılan yöntemlerin ürettiği değerlerdir.
Sınıflandırma (classification): Giriş verisine ait çıkışların nitel olduğu durumlarda kullanılan yöntemlerin her veri örneğinin hangi sınıfa ait olduğunu belirlemesidir.
Makine Öğrenmesi yöntemleri verinin yapısına göre ikiye ayrılır.
Danışmansız (unsupervised) Öğrenme: Sınıf bilgisi olmayan veya verilmeyen veri içerisindeki grupları keşfetmeyi hedefler.
Danışmanlı (supervised) Öğrenme: Veri, etkiye tepki prensibiyle çalışan sistemlerden alınır ve etki faktörlerinin sonuçlarının tahmin edilmesi için önceden eğitim (train) ve tahmin (test) setlerine ayrıştırılmalıdır (supervising).
Sınıflandırma ve tahmin yöntemlerine danışmanlı öğrenme yöntemleri de denilebilir. Kümeleme (clustering) yöntemleri ise danışmansız öğrenme yöntemleri olarak anılırlar. Peki Kümeleme nedir?
Danışmansız öğrenmeyi baz alan Kümelemede amaç veri kümesi içerisindeki veri örneklerini sadece özellik (feature) vektörlerine göre gruplamaktır. Bunun için örneklerin birbirine benzerliği gözetilir. Kümeleme literatüründe benzerlik (similarity) terimi uzaklık (distance) terimiyle zıt anlamda kullanılmaktadır. Kümeleme algoritmaları çok çeşitli benzerlik ve uzaklık metriklerini kullanmaktadır. Kullanılan metriğe göre birbirine benzer olan örnekler aynı kümeye ve birbirinden uzak olan örnekler farklı kümelere yerleştirilmeye çalışılır. Küme sayısı genellikle dışarıdan verilir. Optimum küme sayısını belirleyen teknikler de mevcutdur.
KAYNAK:
Alfabetik sıraya göre CRAN paketleri:
https://cran.r-project.org/web/packages/available_packages_by_name.html
Başlıklara göre değerlemeler:
https://cran.r-project.org/web/views/
R ile ilgili başlıklar:
http://www.r-tutor.com/
http://abdullahkise.blogspot.com.tr/2016/10/adm-adm-veri-bilimi-1-r-dunyasna-giris.html?spref=tw
http://mustafaakca.com/veri-madenciligi-data-mining-asamalari-nelerdir/
Facebooktwittergoogle_plusredditpinterestlinkedinmail