6 Nisan 2016 Çarşamba

İklim Değişikliği ve 2030

Akşamüstü NatGeo'da izlemiş olduğum Explorer isimli bir programda geçen bazı bölümler beni derin ve kuşkulu düşüncelere sevk etti.Belgeselin konusu küresel ısınma ve iklim değişikliği üzerineydi.Beni düşündüren konuları açıklamadan önce  daha önce İklim Değişikliği konusu üzerine yapmış olduğum gayri ciddi veri analizi  çalışmasının sonuçlarından bahsetmek istiyorum.Gayri ciddi olarak adlandırıyorum çünkü problemi bir jeoloji,meteoroloji ya da çevre uzmanlığı bakış açısıyla incelemedim.Problemi ele alma amacım Python programlama dilinde hünerlerimi pekiştirmek ve sergilemekti.Bununla birlikte analiz ettiğim veriler tamamen gerçektir.


11 Mart 2016 Cuma

Web Projesine Doğru ...

Veri Biliminde yapıyor olduğum portfolio (belgeler-evrak çantası) çalışmalarına en son Pandas veri analizi kütüphanesi ile devam ediyordum.Aklımın bir köşesinde  de  veri biliminde elde ettiğim bilgileri deneyimleri bir web projesine de dökmek vardı.Düşündüm,taşındım ve Pandas ile başladığım portfolio çalışmalarına web projesi üzerinden devam etmeye karar verdim.

5 Mart 2016 Cumartesi

İklim Değişikliği - Veri Analizleri ve Görselleştirme Çalışması



Python 3.4 ortamında IPython Notebook üzerinde yürüttüğüm gerçek dünya problemi çalışması yakın bir zaman içinde tamamlandı.Projede  küresel bir problem olan iklim değişikliği konusunu ele aldım.İklim değişikliği ile ilgili  karbondioksit emisyonu ve onu etkileyen değişkenleri  ülkeler ve yıllar açısından detaylı olarak inceledim.Çalışmada  yaklaşık olarak  95 bin  satır veri işlendi.Verilerin elde edilmesi sürecinde Dünya Bankası,ABD devlet kurumları,uluslararası meteorolojik araştırma merkezleri ve son olarak Birleşmiş Milletler 'in veri merkezine sırayla uğradım.Bu süreç sonunda Birleşmiş Milletler'in veri setini kullanmaya karar verdim.


3 Mart 2016 Perşembe

Pandas ve Veri Analizi Çalışması

Global bir problem üzerinden başladığım veri analizi çalışmam Pandas üzerinden halen devam ediyor.Çalışmayı yürütürken adeta Pandas Python veri analizi paketine ait kütüphanenin adeta dibini kazmış gibi oldum.Ele aldığım problemin küresel bir sorun olması sebebiyle çok boyutluluk içermesi analiz yapmayı  zorlaştırdı. Pandas üzerinde modelleme ve veri analizini yaparken  ;  Pandas'ın ileri seviye özellikleri ile  ilgili online kitaplarda ve hızlı eğitim rehberlerinde  yer almayan bazı sorunlarla karşılaştım.

28 Şubat 2016 Pazar

Programda değişiklik ...

Şubat ayı için yol haritamda son adım olarak belirlediğim çok kapsamlı gerçek dünya problemli Data Science projesi hazırlama adımı üzerinde değişiklik yapmaya karar verdim.Bunun yerine daha küçük parçalara bölünmüş spesifik konularda çalışmalar yapacağım.Bu işin adı İngilizce'de Portfolio (evrak çantası,belgeler ) oluyor.Takip ettiğim kadarıyla çoğu Veri Bilimci çalışanları yeteneklerini göstermek adına bir Portfolio hazırlamışlar.Ben de bu işi kendime uygun gördüm.İlk olarak yapacağım işte Python'un Pandas kütüphanesi ile içeriğinde  keşifsel veri analizleri,veri manipülasyonları,veri dönüştürmeleri,araştırma sorularını yanıtlayan spesifik sorgular,özet tablo ve raporlar ve son olarak görsel grafikler yer alacak.Problemin konusu olarak  da küresel bir sorunu ele almaya karar verdim.Şu sıralar üstünde çalışacağım veri setini hazırlamakla uğraşıyorum.

Diğer bir yandan bu işi yaparken çok ciddi çalışmak gerekli.Tavsiyem size  Data Science  çalışmalarınızı sadece bir kariyer hazırlığı , kendini geliştirme , daha iyi iş bulmak olarak görmemeniz.Etrafınızdaki insanların  olumsuz yorumları üstünde takılmayın.(Uyarıları dikkate almayın demiyorum) Yarın bile havanın nasıl olacağını henüz %100 olarak göremiyorsak şu an Big data ve Data Science araçlarındaki gelişimin hızının ne olacağını kestirmek gerçekten çok güç.Bunu ben değil bu işin 1 numaralarından biri Andrew Ng söylüyor.Nerede çalışırsanız çalışın eğer veri ile bir şekilde haşır neşir oluyorsanız Data Science ilgili  öğrendiğiniz her pratik bilgi mutlaka size ve çalıştığınız şirkete + puan olarak bir şekilde dönecektir.Her +  puan da ülkemize ve milletimize güç katacaktır bunu kesinlikle aklınızdan çıkarmayın.

26 Şubat 2016 Cuma

Kaggle Titanik Veri Bilimi Projesi

İlk veri bilimi projemi daha öncesinden gün vermiş olduğum Kaggle Data Science platformunda Titanic: Machine Learning From Disaster konulu yarışma üzerinde tamamlamış bulunmaktayım.Kaggle'ın 101 olarak gördüğü hafif sıklet bu projeyi veri biliminde  öğrendiğim bilgileri sınama ve eksiklerimi görmek açısından gerçekleştirdim.Projenin amacı  eğitim veri seti üzerinde Titanik gemisinde hangi yolcuların hayatta kaldığını tahmin edebilen  bir makine öğrenmesi modeli kurmak ve bu modeli test verisi seti üzerinde sınamaktı.Ben projeyi  Python 3.4 ile  IPython Notebook terminali üstünde kodladım.Projede Pandas (Veri işleme ve analiz) ,Matplotlib-Seaborn (Veri görselleştirme),Numpy(dizi-matris işlemleri) ve Sci-kit learn (Makine Öğrenmesi) kütüphanelerinden faydalandım.


20 Şubat 2016 Cumartesi

Seminerden Notlar

İtü Maslak kampüsünde yerleşik Arı Teknokent  binasında  "Exploring Wikipedia With Spark Workshop" isimli seminere bugün katılmış bulundum.Seminer Big Data Sistem Mimarı Şafak Serdar Kapçı tarafından sunuldu ve düzenlendi. Seminerin ilanı  İstanbul Spark Meetup grubundan yapılmıştı. Seminer oldukça faydalı ve bilgilendirici geçti.Workshop da uygulamalar çoğunlukla Scala dili  kodlanmıştı.Bununla birlikte sorgu işlemlerinde Sql sorgu dili de kullanıldı.Spark üzerinde SqlContext nesnesi ile hedef veri setlerine sql sorguları atmak mümkün oluyor.WorkShop'un ilk kısmında English Wikipedia üstünde sayfa görüntülemeleri üstünde keşif analizleri yapıldı.Haftanın hangi günü wikipedia en çok trafiği çekiyor,sayfa görüntülemelerinde kaç tanesinin masaüstü ve mobil konumlardan  yapılıyor olduğu gibi sorulara  SparkSql ile yanıt vermeye çalıştık.İkinci kısımda Wikipedia tıklatma akışı üstünde analizler yapıldı.Wikipedia'dan en çok istek edilen  10 makale nedir,Wikipedia'ya en çok trafik getiren siteler hangileri gibi sorular yanıtlandı.Bu analizlerin yapıldığı veri seti ise Şubat 2015 için  toplam 3.2 milyar  istek (request) le 22 milyon adet veriyi kapsıyordu.Bununla birlikte  böyle devasa veri boyutuna rağmen yaptığımız sorgulamalar kimi zaman 1 saniyenin altında kimi zaman da birkaç saniye içinde gerçekleşiyordu.Tabii ki bu kadar hızlı sorgulamalar yapmamız da  başta Spark'ın big data yazılım teknolojisiyle birlikte kullanıyor olduğumuz Databricks sanal makine platformunun da payı vardı.Mesela benim kullanıyor olduğum sanal makine kümesi toplam 270 GB Ram ve 8 çekirdekli işlemciye sahipti.Workshop'un 3.kısmında ise biraz daha ileri seviye scala ile nitelikli kod yazmayı gerektiren uygulamalar yapıldı.Bunlardan biri de Wikipedia üzerinde en çok kullanılan 10 kelime sorusunu yanıtlayan bir Scala kod bloğuydu.Bu iş için ilk önce geçiçi yeni bir tablo oluşturulduktan sonra ikinci aşamada RDD (Esnek Dağıtım Veriseti) ile flatMap,map,reduceByKey dönüşüm fonksiyonları ile kelime sayacı oluşturuldu.Ve son aşamada Sql sorgusu ile en çok kullanılan 10 kelimenin bilgisi elde edilmişti.Ve bütün bu işlemlerin yapılması  sadece 1 dakikanın altında 25 saniye gibi olağanüstü bir sürede gerçekleşti.En son olarak da Spark'ın grafik veri işleme aracı olan GraphX'e kısaca değinildi.Bu veri işleme aracının yaptığı işin temelinde veriyi bir network ağı halinde ele alması ve analiz edilmesine olanak tanıması yatıyor.Örnek uygulamalar olarak da seminerde sosyal medya ağları ve google'ın pagerank seo uygulaması verildi.

18 Şubat 2016 Perşembe

Kaggle Veri Bilimi Proje Yarışmasına Giriş

Şubat ayı için belirlediğim yol haritasında  1.durak olan web scraping çalışmasını  tamamladıktan sonra sırada 2.durak olan Kaggle Competition (veri bilimi proje yarışması )  beni bekliyor.Bunun için dün Kaggle platformuna üye oldum .Üye olduktan sonra hesabımı, spam tespit etme algoritması ile sınamak için  bir matematik problemi sordular.Problemi çözmek için python'da üç beş satırlık bir for döngüsü yazdım.Her ne kadar hoş bir karşılama olmasa da yaptıkları iş kötü niyetli robot yazılımları engellemek için çok faydalı bir işti.

17 Şubat 2016 Çarşamba

Spark Semineri


Kısmet olursa Cumartesi günü saat 11:00 İtü Maslak Kampüsünde Apache Spark ile ilgili düzenlenecek bir  canlı uygulama seminerine katılacağım.Seminere kaydımı meetup.com sosyal platformunda İstanbul Spark  topluluğu üzerinden yaptırdım.Özellikle workshop amaçlı olması sebebiyle çok daha faydalı bir seminer olacağını düşünüyorum.

Apache Spark, WikiPedia'ya göre açık kaynak olarak düzenlenmiş ve bilgisayar kümeleri (cluster computing) yapısı üstüne  kurulmuş öncelikle Berkeley Kaliforniya AMPLab'da geliştirilmiş ve sonrasında Apache Yazılım Kuruluşuna bağışlanmış bir veri işleme motorudur.Özellikle geniş ölçekli big data olarak tabir edilen verilerin işlenmesi için ideal bir yapıdır.Spark sisteminin çalışması hakkında  teknik bilgiyi Sadi Şeker'in şu yazısında   ve devveri.com'da bulabilirsiniz.Spark'ın sitesinde şu açıklama dikkat çekicidir "bellekte Spark , Hadoop Map Reduce'den 100 kat ve disk'ten 10 kat daha hızlı çalışır.Scala,Java,Python ve R dillerinin paralel kullanıldığı etkin uygulamalar yazılmasına olanak tanır.İçeriğinde SQL,MLLib (Makine Öğrenmesi),GraphX(grafik işleme) ve Spark Streaming (gerçek zamanlı veri yayınlama) kütüphaneler barındırır.Spark'ın ilk sürümü  30 Mayıs 2014 tarihinde yapılmakla birlikte  tam sürümü  4 Ocak 2016 'da yapılmıştır.

Benim Spark ile tam olarak tanışmam beş saatlik bir içerik üzerinden ;  dataquest üzerinde aldığım bireysel öğrenmeli Data Scientist  eğitiminde gerçekleşmişti.Daha öncesinde Quora,kdnuggets ve takip ettiğim data science bloglarında kısmen bilgi sahibi olmuştum.Henüz çok yeni bir veri işleme yazılımı teknolojisi olması sebebiyle  kullanımı konusunda insanların kafasının genel itibariyle karışık olduğunu gördüm.Bir kesim sadece Scala ve Java ile kullanıldığında etkili olacağını söylerken diğer bir kesim de Python ve Spark 'ın kombine kullanılmasından çok büyük faydalar sağlanacağını söylemişler.Kdnuggets'de yer alan bir yazıda ise Python ve Spark ile şimdiye kadar hiç Kaggle data science yarışmalarında ödül kazanılamadığından dem vurulmuş bununla birlikte giderek aradaki farkın kapatıldığına işaret edilmiş.Ve ek olarak belirtmem gerekirse Spark'ın Python ile birlikte kullanılabilmesi için de PySpark uygulaması oluşturulmuştur.

16 Şubat 2016 Salı

Web Scraping Çalışmasından Notlar

Şubat ayı için belirlediğim yol haritasında 1.durak olan Web Scraping çalışmasını da  Harvard Üniversitesi Data Science ders notu üzerinden geçtim. Çalışma esnasında dikkatimi çeken ve önemli notları da sizlerle paylaşmak istiyorum.Ders notlarında yer alan örnekler Python 2 ile yazılmış.Eğer benim gibi Anaconda Python 3.4 dağıtımını kurduysanız bu örneklerde yer alan kodlar sizin için çalışmayacaktır.Ufak tefek değişiklikler yaparak bu açığın üstesinden gelebilirsiniz.İmport urllib2 yerine "import urllib" ve source = urllib2.urlopen(url). yerine ise "source = urllib.request.urlopen(url).read()"    yazdığınızda kodlar çalışır hale gelecektir.(Atladığım yer olabilir lütfen hatırlatınız)

Ders notlarında ayrıca  gerçek dünya uygulamalarına da yer verilmiş.Uygulamaların birinde New York Times gazetesinde geçen haberlerin Twitter üzerinde yarattığı etkiyi coğrafi açıdan göstermek amacıyla  bir web scraping çalışması gerçekleştirilmiş ve neticesinde güzel bir sunumla elde edilen veri görselleştirilmiş.Daha çok dikkatimi çeken diğer bir uygulamada Twitter'da  atılan bir tvit üzerinden twitter kullanıcılarının duygusallık analizini gerçekleştiren  bir çalışmaydı.Mesela Turkey diye sorgu attığımızda bugün için Twitter üzerinden atılan 303 tvit üzerinden duygu kümelenmesinin alert ve excited  tarafına yakın olduğunu aşağıda yer alan ss de  görebiliyoruz.



Burada yapılan iş ilk önce sorgulanan  kelimeye göre  atılan tvitlerin tespit edilmesi ; sonrasında web scraping yöntemiyle ve api kullanımıyla bu tvitlerin toplanması ve son aşamada elde edilen tvitlerde yer alan anahtar kelimelerin duygu tarifini yapan  ilgili tanımlarla sözlükte  eşleştirilmesi ve sonucun görsel hale getirilmesi olarak gerçekleşiyor.


Python'da web scraping işlemlerini urllib kütüphanesiyle gerçekleştirebileceğiniz gibi yanında bu işi daha da kolay getiren ve kod yazımını azaltan BeautifulSoup  kütüphanesinden de yararlanabilirsiniz.En çok kullanılan fonksiyonlardan birisi de findAll.Bu fonksiyon ile web sitesinde elde etmek istediğiniz verinin html etiketini inspect element ile tespit ettikten sonra yapmanız gereken findAll fonksiyonunu tespit ettiğiniz etiket ile çağırmak oluyor.Bu fonksiyon sayesinde web sitelerinden izin ve gizlilik kurallarını aşmamak kaydıyla istediğiniz veriye otomatik olarak erişebilir ve diskinize depolayabilirsiniz.Bu iş özellikle internetten veri toplama işi yapan kişiler için çok büyük bir faydadır.Saatlerinizi alabilecek  bir tablo hazırlığını  python'da kod yazarak dakikalar içinde bitirebilirsiniz.Bu gerçekten çok büyük bir kolaylıktır.




15 Şubat 2016 Pazartesi

Şubat Yol Haritası

Bazı özel işlerimi de hallettikten sonra Data Science (Veri Bilimi) çalışmalarıma kaldığım yerden tam olarak yoğunlaşabilirim.Bunun için de ajandam da üç adet başlık oluşturdum.Başlıklar şöyle 1-Web Scraping 2-Kaggle Competition  3-Data Science Projesi .  Web Scraping , Data Science projelerinde veri setlerini oluştururken kullanılan yöntemlerden birisidir.Web Scraping,kod yazarak web sitelerinde istenilen verilere otomatik olarak erişmeyi ve elde etmeyi sağlayan bir yöntemdir.Web Scraping ile ilk tanışmam DataQuest üzerinde DataScientist eğitimi içinde gerçekleşmişti.Bu sefer  bu bilgiyi Harvard'ın Data Science eğitim notları ile IPython Notebook üzerinde uygulamalı olarak pekiştirmek istiyorum. Sonrasında ise Data Scientist (Veri Bilimci) ler için sosyal bir topluluk olan ve içinde para ödüllü Data Science proje yarışmaları düzenleyen  Kaggle 'da  bir Data Science proje yarışmasına katılacağım.Bu sayede  Data Science işinde hangi seviyede olduğumu ve eksik bilgilerimi tespit etme fırsatım olacaktır.Son başlıkta ise bu işi daha profesyonel hale getirip hazırlayacağım iş akış şemasına sadık kalarak  çok daha detaylı derin nitelikli bir proje hazırlamayı düşünüyorum.Bu işler ne kadar zaman alır şu an için kestiremiyorum.Amacım olabildiğince yüksek performanslı çalışıp en kısa zamanda bu işleri sonuçlandırmak.

Kısa bir aradan sonra ...

Data Science üzerine yaptığım çalışmalarıma kısa bir ara vermek durumunda kaldım.Araya günlük özel hayatın getirdiği işler girdi...

Data Science çalışmasına gelince ,temel seviyede bir veri bilimi projesi hazırlayabilmek için gerekli eğitimleri tamamladığımı söyleyebilirim.Maddi imkanlarım ve kabiliyetim ölçüsünde bu eğitimi tamamladım.Proje çalışmasına başlamadan önce biraz Web Scraping konusunda DataQuest'de öğrendiğim bilgileri  IPython Notebook üzerinde pekiştirmek istiyorum.Web Scraping gerçekten Data Science işinin çok önemli bir silahı.Bu önemi geçenlerde Ebay.com üzerinde belli ürünlerle ilgili data analizi işi yaparken daha da iyi anladım.Yapacağım proje ile ilgili de  kafamın içinde şu sıralar genel konsept fikirler oluşmaya başladı.Bütün bu Data Science ile ilgili yaptığım çalışmalara  çok ciddi bir bakış açısıyla yaklaşıyorum.Hani CV'im  de  görünsün , iş mülakatlarında anlatacağım bir hikaye olsun gibi bir mantıkla katiyyen düşünmüyorum.Bu işten uzun vadeli çok büyük kazanımlar hedefliyorum.Kazanımları sadece para olarak  düşünmeyin.Daha iyi hizmet vermek de bir kazanımdır,iyileştirmedir.Eğer bir haber sitesi, ziyaretçilerine anlık ve doğru  olarak son dakika haberlerini sunabiliyorsa  bu bir kazanımdır.Sonuç olarak müşteri memnuniyeti artacak ve haber sitesi müşteri sayısını arttıracak  ve daha çok reklam alarak bu işten kazancını her halükarda arttıracaktır.

27 Ocak 2016 Çarşamba

Data Scientist Çalışmasından Notlar-IV

DataQuest eğitim platformu üzerinden yürüttüğüm Data Scientist çalışmasında son aşama olan "Machine Learning" (Makine Öğrenmesi) bölümünü de şu an (03:11) itibariyle tamamlamış oldum.Bu platform üzerinde Makine Öğrenmesi içeriğinde Sınıflandırma,Kümeleme,Regresyon ve Boyut İndirgeme  alanlarıyla ilgili algoritmaların Python dili ile programlanmasına dair örnekleri inceledim ve platformda kodları çalıştırdım.Epeyce meşakkatli ve yorucu bir çalışma oldu.Makine  Öğrenmesi akademik alanda da gerçekten zor ve üst seviye bir alan.Eğitim içeriği de doğrusu beklentilerimi pek karşılamadı.Ama kötü de sayılmazdı.Şu an zaten bu kadar düşük ücrete Python ile  eğitim veren başka bir online eğitim sitesi de bulunmuyor.İnternette Data Science kursları  en az 500 dolardan başlıyor.Eğitim içeriğinde ben örnek projeleri daha çok görmek isterdim fakat  ML algoritmaların python dilinde nasıl kodlandığına daha çok öncelik vermişler.Kodlamanın nasıl yapıldığını ezbere bilmeye gerek yok çünkü bu işlev için Sci-Kit Learn kütüphanesi mevcut.Bu kütüphane sayesinde  onlarca satırdan oluşan bir mesela doğrusal regresyon algoritmasını şu satır ile "from sklearn.linear_model import LinearRegression"   programınıza dahil edebiliyorsanız.Bunu programda kullanabilmek yapmanız gereken tek şey bir nesne oluşturup  mesela  "model=LinearRegression()" ilgili kütüphaneye ait istediğiniz sınıfı çağırmak oluyor.

Ayrıca eğitim dışında  tavsiye üzerine Python Machine Learning   isimli kitabı temin ettim.Bir sonraki aşamada hazırlayacağım ilk data science projemde şüphesiz ki bu kitap çok faydalı bir başvuru kaynağı olacaktır.Proje öncesinde  dataquest üzerinde  Apache Spark ,Map-Reduce ve R bölümlerini bitireceğim.Burada 10 saatlik bir iş yükü var.Sonrasında data science projem için hazırlıklara başlıyor olacağım.

9 Ocak 2016 Cumartesi

Excel Mühendisliğini Bırakmalıyız

Şu an bir Kobide veya küçük bir işletmede  yönetici olsaydım yapacağım işlerden biri de Excel'i mühendislere yasaklamak olurdu.Evet yanlış duymadınız  dalga filan geçmiyorum.Sebeplerini de detaylı bir şekilde anlatmaya çalışacağım.Geçenlerde  "boşa kürek çekiyoruz" başlıklı yazımı okuyanlar  Türkiye'nin İşGücü verimliliği açısından ne kadar kötü durumda olduğunu hatırlayacaktır.Bence bu pastada büyük şirketler dahil herkesin payı olmalı.Sorunun kaynağı ise işletmelerde çalışan mühendislerin iş hayatının Excel-Mail-Telefon üçgeni içinde gezmesidir.Mühendisler asıl yapmaları gereken işi yapmıyorlar.Bunun yerine Excel'de pivot tablo oluşturma,rapor şablonu düzenleme-hazırlama,görsel grafik rapor düzenleme gibi ıvır zıvır işlerle uğraşıyorlar.İşletmelerde  mesela örnek verirsem Endüstri mühendisleri kendi alanlarıyla ilgili olan ProModel(Benzetim),Flap(Tesis Planlama),AIMMS (Optimizasyon) gibi programları kullanamıyorlar.Bana Türkiye'de bu saydığım dallarda yazılım kullanan 10 tane işletme gösterirseniz söz bu yazımı özür dileyerek kaldırmaya da hazırım.Ama eminim ki kimse gösteremeyecek.Aslında mesele yazılım kullanmak da değil.Önemli olan sistem tasarlamaktır.Hangi mühendislik olursa olsun fark etmez mühendisler her yaptığı işte kendi uzmanlık alanları ile ilgili sistem tasarlar.Ama belki de çok hayalcilik yapıyorum sonuçta yerli otomobil üretimi olmayan bir ülkeden bahsediyoruz.

Yanlış da anlaşılmasın Excel'i bütünüyle kaldırın demiyorum.Evet Excel'de yapılan işleri hangi departmansa o departman içinde tek bir kişi yürütebilir.Evet Excel etkin bir şekilde kullanıldığında bu mümkündür.Geri kalan mühendisler yatacak mı hayır.Mühendisler bu sefer kendi işlerine odaklanacaklardır.Bu sayede iş geliştirme projeleri artacak ve şirket çok büyük kazanımlar elde edecektir.Bu tip kazanımların ABD'de geçmişte  çok fazla örnekleri olmuştur.Buraya yazarsam sayfalarca sürecektir.Merak edenler  2.Dünya Savaşından eser kalan Yöneylem Araştırması ile elde edilen kazanımlara buradan bakabilirler.

Recommendation (Öneri) Algoritmaları

bir yazı hazırla ...

The Near Future : Veri Bilimi

Neden The Near Future ifadesini başlıkta kullandığımı merak ettiyseniz bu yazı beklentinizi karşılayabilir.Bu ifadeyi ABD'de yerleşik olan, Data Science çözümleri geliştiren ve danışmanlığını yapan bir şirketin kullandığı slogan  üzerinde görmüştüm.İnsanoğlu her zaman geleceği merak etmiştir.Geçenlerde Discovery Science'da izlediğim belgeselde Stephen Hawking'in geleceğe zaman yolculuğu merakında olduğu gibi.Bu merak insanı her daim daha çok araştırma ve bilgiye muhtaç etmiştir.Hangi iş üzerinde hangi alt alanla ilgili olursa olsun yakın geleceği görebilmek kurumlara çok büyük avantajlar kazandırmıştır.İşte son zamanlarda gelişen veri sistemleri ve programlama teknolojileriyle birlikte  yeni bir disiplin "Veri Bilimi" ortaya çıkmıştır.Veri Bilimi özellikle ABD'de İş Zekası'nın tahtını sarsmaya başlamıştır.Kurumlar artık sahip oldukları verileri analiz ederek data mining çalışmalarıyla boyutlar (satış,üretim,finans gibi...) arasında önemli ilişkileri ortaya çıkarıp  faydalı olgular o elde etmekle yetinmek istemiyorlar.Bütün bu çalışmaları bir adım daha öteye taşıyarak sahip oldukları veriler üzerinden yakın geleceğe dair tahminsel modeller tasarlayarak  önemli kazanımlar da elde etmek istemeye başladılar.Bu bilgi aslına bakılırsa yeni bir şey değil.Kendi eğitim hayatımdan örnek verecek olursam  mesela bir Üretim Planlama dersinin ilk konusu olan Talep Tahmini yapmada bu tip tahminsel(öngörüsel) modeller tasarlamıştık.Gene Yapay Zeka Uzman Sistemler dersinde yapay sinir ağları yöntemini kullanarak tahminsel(öngörüsel) modeller tasarlamıştık.Bütün bu akademik bilgiler 2010 yılı öncesinde vardı.Fakat o zamanki veri  ve programlama teknolojisi Veri Bilimi'ni tam anlamıyla sahaya çıkarmak adına yeterli değildi.Mesela bir Veri Bilimi aracı olan Python'un  Scikit learn (Makine Öğrenmesi-Yapay Zeka) kütüphanesi 2012 yılında hizmete sunulmuştu.Big Data  o zamanlar (2010 öncesi) çok yeni bir kavramdı.Şimdi ise Veri Bilimi için gerekli bütün araçlar mevcut olmakla birlikte  nitelikli insan kaynağı gücü sorunu ortaya çıktı.Çünkü bu güne kadar Veri Bilimcisi pozisyonu ihtiyacını tam anlamıyla karşılayabilecek bir   akademik eğitim programı yoktu .Veri Bilimi akademik eğitim programları yeni yeni ABD'de açılmaya başlanmıştır.

Ben ise Veri Biliminde,  almış olduğum Endüstri Mühendisliği lisans eğitim programı açısından kendimi  şanslı sayıyorum.Eğitim programında  Bilgisayar Programlama ,Lineer Cebir,Algoritmalar ve Programlama,Mühendislik İstatistiği,Modelleme ve Optimizasyon,Veri Yapıları ve Algoritmalar,Mühendislikte Matematik Metodları(Matlab),Yöneylem Araştırması,Endüstride Bilgisayar Uygulamaları(SQL,Access,Promodel,Visio),Yapay Zeka/Uzman Sistemler  bu derslerle  aslında geleceğe hazırlanmışım. Ve şu anda Yapay Zeka dersinin yüksek lisans programında gösterildiğini belirtmek isterim.Bugünkü programa kıyasla üst seviye bir eğitim aldığımı rahatlıkla söyleyebilirim.Tabii ki bu bilgiler bir projeye dönüşmediği müddetçe bir anlam ifade etmeyecektir.Benim de kısa vadeli hedefim Veri Bilimi aracı Python ve ilgili kütüphaneleri üzerinde yaptığım çalışmayı bir önce tamamlayarak  proje yapmaya başlamaktır.Python , C# 'ı gördükten sonra öğrenilmesi çok kolay bir programlama dili kesinlikle.Bununla birlikte  bilimsel kütüphaneleri ve sahip olduğu fonksiyonları açısından çok  çok daha zengin bir kaynağa sahip.Belki de Python'un bu kadar çok zengin içeriğe sahip olmasında ki sebep Açık Kaynak platformu üstünde geliştiriliyor olmasıdır.Çünkü yapılan her iş gönüllülük esasıyla ticari kaygı olmadan yapıldığı için çok daha iyi işler ortaya çıkabiliyor.Open Source geliştiricilerin gelir kaynakları ise aldıkları bağışlar oluyor.

Sözün özü bizler geleceği her zaman merak etmeye devam edeceğiz.Ve bu merak bizlere belki de Veri Bilimi'nden çok daha ileri disiplinleri gelecekte ortaya çıkarma fırsatı sunacaktır.

Data Scientist Çalışmasından Notlar-III

Dataquest platformu üzerinden yürütüyor olduğum Data Scientist çalışmasında Python'da İstatistik ve Lineer Cebir kısmını da yaklaşık 20 saatlik bir çalışma süresinde bugün tamamladım.Eğitim konuları Titanic,NBA,ABD Nüfus Müdürlüğü departmanına  ait örnek veri setleri üzerinden pratik uygulamalarla ilerledi.Uygulamalarda çoğunlukla Python'un SciPy stats,Matplotlib,Numpy,SciPy LinAlg   kütüphaneleri ve modülleri kullanıldı.Bunlarla birlikte   ortalama bulan mean(),ortanca değeri bulan median() v.b. matematiksel istatistik fonksiyonları ise   Python'un standart  kütüphanesinde ve Numpy'ın istatistik modülü içinde bulunuyor.SciPy stats'da ise random değişkenler,olasılık dağılımları,örnekleme,kernel yoğunluk tahmini gibi ileri istatistik konulara ait fonksiyonlar  yer almış.

Yukarıda bahsetmiş olduğum NumPy kütüphanesinden bahsetmek istiyorum.NumPy kütüphanesinin ilk temeli , 1995 yılında , MIT mezunu olan Jim Hugunin tarafından  Numeric eklentisi ile atılmıştır. NumPy ise 2006 yılında Travis Oliphant tarafından Python'a eklenmiş olan bir matematiksel bir kütüphanedir.İçeriğinde çok boyutlu diziler ve matrislerle ilgili yüksek seviye matematiksel fonksiyonları barındırır.

Biraz da Python'un bilimsel kütüphanesi olan SciPy hakkında genel bilgiler vermek istiyorum.SciPy Numeric Python standart kütüphanesi üstüne yerleşik ve 2001 yılında kurulan, içeriğinde çeşitli bilimsel konular ile ilgili modülleri barındıran oldukça büyük bir kütüphanedir.SciPy'da Optimizasyon,Lineer Cebir,İntegral işlemleri,İnterpolasyon,Sinyal ve çok boyutlu görüntü işleme,FFT (Fourier Dönüşümleri),Uzaysal Veri yapıları ve algoritmaları,İleri İstatistik konularına ait modüller ve altında çeşitli fonksiyonlar yer almaktadır.Yani kısacası SciPy mühendisler,bilim adamları ve analistler için bilimsel ve teknik hesaplamalarda önemli bir programlama aracıdır.Bu kütüphane geliştirilmeye devam edilmektedir.Son versiyonu olan 0.16.1 Ekim 2015'de sunulmuştur.Muhtemelen daha da geliştirilmeye devam edilecektir çünkü Veri Bilimi şu sıralarda çok hızlı ilerleyen bir disiplin haline geldi.

7 Ocak 2016 Perşembe

Sitenin Trafik Kaynakları



Evet durum böyle . En çok ziyaretçiyi İsrail'den toplamışım.Sitemde çok  az İngilizce ifade kullanmama rağmen  trafiğin %75'i Türkiye dışından gelmiş.Bu verilere alt yapısını kullanıyor olduğum Google  Blogger Analitik servisi üzerinden ulaştım.Tabii ki önemli olan ziyaretlerde devamlılık süresidir.İngilizce içerik bulamayınca yabancı ziyaretçiler muhtemelen geri dönecekler ve bir daha kapımı çalmayacaklardır.Arada onları da  memnun etmek gerekir.Genel olarak baktığım zaman  4 bin seviyesinde bir ziyarete ulaşmışım.Bence kişisel bir site için  6-7 ay gibi bir sürede fena bir rakam değil.Zaten reyting gibi bir kaygım da yok.Bu siteyi oluşturmam da en büyük neden kariyer amaçlıydı.İş bulmama daha hızlı etki eder diye düşünmüştüm ama sonuç alamadım henüz.Belki de son paylaştığım İş Zekası örnek projeleri piyasa açısından  vasat  yetersiz seviyedeydi.İşin doğrusu acele ile uyarlanmış projelerdi bunlar.Kopya çekmedim  fakat  ana yapı olarak Microsoft'un örnek eğitim projelerini esas almıştım.Sanırım daha gerçekçi verilere dayalı tamamen özgün bir projeyle çıksam daha etki edecek gibi.

6 Ocak 2016 Çarşamba

Boşa kürek çekiyoruz

Evet durum bu ...Bunu ben değil OECD verileri söylüyor . Çok uzun saatler çalışıyoruz ( ! ) ama sonuç çok kötü. Çalışan üretkenliği 2012 yılında 100 üzerinden 45 puan gelmiş.Hem imalat hem de hizmet sektörü bu durumdan sorumlu.Hatta hizmet sektörü bu kötü sonuçtan daha sorumlu olabilir diye düşünüyorum.Peki neden yeterince üretken değiliz?.Subjektif yorumlarımı katarak biraz duygusal bir yaklaşımla bu soruyu yanıtlandırmaya çalışacağım.Herşey den önce millet olarak şekilciyiz.Yaptığımız her işte görüntüyü kurtarma derdindeyiz.Gün içinde çok uzun saatler çalışıyoruz ama her şey görüntü için yapılıyor.Amacına uygun çalışmıyoruz.Belli bir strateji ve plan yok.Her gün günü kurtarma adına toplantılar yapılıyor.Ama sonuçlarını ölçüp değerlendirebilecek kadar cesur olamıyoruz.En basit şey mesela gerçek zamanlı işleyen verilerin kaydını bile tutmaya üşeniyoruz.Halbuki Veri Madenciliği ,İş Zekası ve hatta son zamanlarda patlama  yapan Veri Biliminden tam olarak haberimiz olsaydı o verileri tutmak için can atardık.Şu an küçük bir işletme bir Kobi yöneticisi olsam ilk işim kurumda  veri toplama altyapısını kurmak ve bu verilerden  hakkıyla faydalanmak amacıyla bir tane de olsa veri madenciliği yahut iş zekası uzmanını işe almak olurdu.Maliyeti ne olursa olsun bu işin uzun vadeli dönüşü kesinlikle işletmeye kazanç olarak dönecektir.Diğer bir mesele de birçok kurumda bilimsel projelere önem verilmemesi.Üniversite ve özel sektör bütünleşmesi sağlanamıyor.İşler alışılagelmiş eski geleneksel yöntemlerle yapılıyor.Mail,telefon,Excel üçgeni içinde işler eski yöntemlerle götürülüyor.Projeler ve iyileştirme çalışmaları yapılamıyor.Okulda öğrenilen okulda kalır felsefesi buraya hakim olmuş durumda.Gerçekten bu kafada olan yöneticiler var şu an.Bu nereye kadar böyle gider derseniz bir noktada  mutlaka patlayacaktır.Türkiye bu işten  zarar görebilir.

Peki siz bu konuda çalışırken ne yaptınız diye soracak olursanız.Kendime özeleştiri getirmem gerekecek.Yeterli olmamakla birlikte  mikro ölçekte  projeler geliştirdim.Çalıştığım her yerde bu yöntemi uyguladım.Fakat etki edecek derecede uzun süreler çalışmadım/çalışamadım maalesef.Şüphesiz benim de kariyer seçimi konusunda bazı hatalarım olmuştur.Önemli olan  geçmiş hatalardan ders alıp kendini geliştirme sürecini devam ettirebilmek diye düşünüyorum.

4 Ocak 2016 Pazartesi

Data Scientist çalışmasından notlar-II

Dataquest üzerinden yürütüyor olduğum Data Scientist çalışmasında 2.adım olan  Data Analysis and Visualization  (Veri Analizleri ve Görselleştirme) kısmını da dün gece itibariyle bitirmiş oldum.Bu bölümde  Python'un  Pandas (Veri Analizi kütüphanesi) ,Matplotlib (Veri Görselleştirme kütüphanesi) ve ek bileşen olarak Seaborn (Veri görselleştirme ek bileşeni) kütüphaneleri üzerinde temel fonksiyonları inceledim ve dataquest platformu üzerinde pratik yaptım.Yalnız bunlarla birlikte dataquest üzerinde  data cleaning (veri temizleme,sadeleştirme v.b.) kısmında anlatımın zayıf ve yetersiz kaldığını da söyleyebilirim.Dataquest burada Python'un kütüphanelerine temel bir giriş yapmanızı teknik anlamda  sağlıyor.

Öğrendiğim bu kütüphaneler ile ilgili  kısaca genel bilgiler vereyim.Pandas,Python'da Veri Analizi işlevlerini barındıran bir kütüphane.Bu kütüphanenin çalışma temelini matrisler ve vektör işlemleri oluşturuyor.Bu nedenle  SQL'e kıyasla çok daha hızlı ve detaylı analizler gerçekleştirebilme imkanı sunuyor.Matplotlib, bu kütüphanede histogram,bar,serpme,trend çizgi,box v.b.  grafikleri istediğiniz parametrelerde ve boyutlarda çizim yapmanızı programlama imkanı sunuyor.Mesela bir histogram grafiği  için   verilebilecek  parametreler  şöyle " (x, bins=10, range=None, normed=False, weights=None, cumulative=False, bottom=None, histtype='bar', align='mid', orientation='vertical', rwidth=None, log=False, color=None, label=None, stacked=False, hold=None, data=None, **kwargs) 'dir.Seaborn 'da Stanford Üniversitesi Data Science bölümü tarafından oluşturulan  Matplotlib üstüne kurulu grafik çizimlerini görsel olarak daha iyi hale getiren  ve özgünlüğü daha ileriye taşıyan bir kütüphane.


1 Ocak 2016 Cuma

Veri Bilimci Nedir ?.

Türkçe adıyla "Veri Bilimcisi" olarak adlandırılan Data Scientist  mesleği hakkında bildiklerimi bu yazımda paylaşmaya çalışacağım.Bu mesleği icra eden kişiler Data Science yeteneklerini ve teknik bilgilerini  kullanarak  big data (facebook,youtube,twitter gibi) veya veri setleri üzerinden istatiksel,yapa zeka veya diğer bilimsel (mühendislik,tıp,ekonometri v.b.) algoritmalara dayalı analitik modeller tasarlayarak kullanıcıların/müşterilerin talebini karşılayarak üreticinin/web sitesi/yazılım şirketinin maliyetlerini en düşük tutacak ve karını maksimize edecek  bilgi sistemleri (web,mobil,desktop uygulamalar) veya iş çözümleri oluştururlar.Data Scientist  tanımından anlaşılacağı üzere çok yönlü yetenekler ve sağlam bir akademik arkaplan bilgisi gerektiren bir meslektir.Bu yüzden  21.yüzyılın en seksi mesleği olarak nitelendirilmiştir.Data Scientist mesleğini yapan kişiler İstatistik,Machine Learning(Makine Öğrenmesi),Lineer Cebir,Matematik,Optimizasyon,Bilgisayar Bilimi,Data Hacking (Veri ele geçirme),Veri Mühendisliği (ETL,Veri Madenciliği,Veri Analizi,Veri Görselleştirme) gibi disiplinlerden istifade ederler.2018 yılında  ABD'de şimdiden 150 bin Data Scientist adayına ihtiyaç olduğu hesaplanmıştır.ABD ayrıca  devlete ait başta iklim,sağlık olmak üzere  ve diğer alanlarda ilgili veritabanlarını ABD'li data scientist 'lerin hizmetine açmıştır.Bu sayede Beyaz Saray , ABD ve Dünya coğrafyası için önemli iyileştirmeler  ve kazanımlar hedeflemektedir.

Diğer bir yandan Data Scientist projeleri bir takım işidir.Youtube üzerinden izlediğim  Hadoop'un hazırlamış olduğu bir konferansta  Data Scientist işlerinin bir takım sporu olduğundan bahsedilmişti.ABD Başkanı Obama'da videonun bir bölümünde, aynı şekilde bunun üstüne vurgu yapmıştı.Bence bunun en büyük nedeni  de Data Scientist çalışmalarının çok yönlü uzmanlık bilgisi gerektirmesidir.Sonuç olarak Data Scientist çalışmaları  verinin yoğun olduğu her alana (Savunma,Üretim,Finans,Sağlık,Pazarlama,Haberleşme,Reklamcılık,Medya ...) uygulanabileceğinden dolayı her bir alanda  çok farklı uzmanlık bilgilerine ihtiyaç duyulabilmektedir.

Data Scientist projeleri diğer bir yandan  zor seviyede olan işlerdir.Mesela NetFlix şirketinin 2006 yılında başlatıp 2008 yılında sonlandırdığı  1 milyon dolar değerindeki Data Scientist yarışmasında yüzlerce takım içerisinden sadece  iki takım finale kalabilmiştir.Takımların görevi NetFlix'in kendi site müşterilerinin profillerine göre sunduğu film öneri sistemini oluşturan yazılımı , %10 'dan daha iyi bir başarıyla yeniden tasarlamaktı.Sadece onlarca satırdan oluşan bir kod parçası , ayları hatta yılları geçen bir sürede yedi tane zeki adamın sinerjisiyle ortaya çıkabilmişti.Bununla birlikte o günlerden bu yana Data Scientist araçları ve  big data çok hızlı bir şekilde gelişti.Evet bu bir gerçek,realitedir kesinlikle kurgu değil.Artık Data Science çalışmaları R programlama paketi , Python , Weka gibi ortamlarda oluşturulmuş kütüphanelerin yardımıyla daha hızlı ve etkin bir şekilde yapılabilmektedir.Bu iş nasıl bu noktaya kadar çok hızlı gelişti diye sorabilirsiniz.Ama diğer yandan mesela  94 yılı öncesi hangimiz İnternet 'in keşfedileceğini ve böyle hızlı bir şekilde genişleyeceğini biliyordu ?...

düzenlendi : 28.02.16




Data Scientist çalışmasından notlar-I

Veri bilimi üzerine başladığım çalışmada ilk adım olan Python programlama dilinin temel konularını bitirmiş oldum.Daha öncesinde codecademy.com sitesinde  ücretsiz bir eğitim almıştım fakat yeniden konuları tekrarlama ihtiyacı hissettim.Bu sefer  ücretli olan başka bir site üzerinden çalıştım.Bu kaynak aynı zamanda adım adım  Python ile Data Scientist eğitimi veriyor.Site aynı codecademy konseptinde  kullanıcılara uygulama yaptırarak işi öğretiyor.Bu kaynağın adı  "dataquest" .Aylık  49 veya  399 dolar ücret ile üyelik imkanları mevcut.Eğer 399 dolar öderseniz derslerde birebir özel yardım ve yapacağınız  öğrenme amaçlı data scientist projelerinde danışmanlık imkanları sunuluyor.Siteyi kuran şahıs  Vik Pachuri ABD'de data scientist olarak çalışmış ve Kaggle data science proje yarışmalarında önemli başarılar elde etmiş.

Python çalışmasında dataquest'in basic ve intermediate olmak üzere iki bölümden oluşan 20 saatlik eğitimini bitirdim.Eğitimde döngüler,boolean ve if ifadeleri,sözlükler,fonksiyonlar ve hata ayıklama,modüller ve sınıflar,numaralama,indeksleme ve son olarak alanlar (global ve yerel değişkenler) konuları üzerinde örnek kodlar yazdım.Eğitimlerde öncelikle ana konu ile ilgili kısa bir bilgi verildikten sonra  örnek bir kod parçası yer alıyor.Sonrasında  sizden  başka bir örnek üzerinden kod yazmanız istiyor.Codcademy'e kıyasla konuları ve kod örneklerini daha iyi ve kullanışlı bulduğumu söyleyebilirim.

Python önceden belirttiğim gibi öğrenilmesi kolay bir OOP programlama dili.C# ve Java gibi nesneye yönelik programlar yazabilirsiniz.Her bir blokta  c# da  {  } işareti kullanılırken Python'da  4 veya 2 paragraf (Google bunu kullanıyor) boşluğu bırakılıyor. Sanki İngilizce bir  metin yazar gibi program yazıyorsunuz.Bununla birlikte Google geliştiricilerin hazırladığı bir Python sunumunda Python'un yorumlayıcı bir dil olduğu ve bu yüzden  C# gibi büyük projelerden çok mikro çaplı küçük ve yan proje uygulamalarında daha çok kullanıldığından bahsediliyordu.Eğer daha önceden C# 'a hakimseniz Python öğrenmek size çıtır çerez gibi gelecektir.