Oracle veri madenciliği seçeneğine giriş(Getting started with Oracle Data Mining option)

Önceki Türkçe yazıma gösterdiğiniz ilgi için teşekkürler, umarım TROUG’nin yolu açık olur ve hepimize önemli katkı sağlar bu grup. Hazır başlamışken bir süre Türkçe yazmaya devam edelim istedim, umarım hoşunuza gider :)

Bu yazı ile veri madenciliğini merak eden arkadaşlara giriş yapabilecekleri kaynaklara nasıl ulaşabilecekleri hakkında fikir vermek istedim. Biliyorsunuz belki bu sene OOW’de bir sunumumuz olacak, bir süredir SAS kullanıcısı olan Turkcell’de In-Database Data Mining denemeleri yapıyorduk, sonuçlarını Deniz paylaşıyor olacak, gidenlere şimdiden reklamını yapmak istedim.

TurkCell’s Pre-paid Churn Prediction Model with Oracle Data Mining option on ExadataV2, OOW10 21 Sep. 12:30 -13:30 Moscone South

Öncelikle neden veri madenciliği diye bir soru akla gelebilir, hemen bu yazı fırsatı ile güzel Türkçe’siyle Burak’ın yazılarını paylaşmak istiyorum muhtemel cevaplar için. Ve eğer cidden bu konuya ilgili iseniz Oracle® Data Mining Concepts(11.2) kılavuzuna mutlaka göz atmanızı öneririm.

Peki neden Oracle ile veri madenciliği diye bir soru da akla gelebilir, özelliklede bu seçeneğin Enterprise Edition üzerine ayrıca ek maliyet ile alınabilecek seçenekler listesinde olduğunu düşünürsek, Oracle’ın savı eğer üzerinde çalışacağınız veri hazırda veritabanı içinde ise veritabanı içinde veri madenciliğini başlamak ve tamamlamak önemli bir avantaj. Bu pazarda Oracle ve diğerlerinin en önemli rakipleri SAS, Oracle’ın dünya BI veritabanı pazarındaki konumunu düşünürsek çok keskin bir rekabet avantajı oluşturduğunu Oracle’a bu yaklaşımın hemen hissedebilirsiniz. SAS lisans maliyetlerinin Oracle Data Mining seçeneği lisans maliyetleri ile kıyaslanamayacak kadar pahallı olduğunu da belirtmekte fayda var tabii bu noktada.

Hazırda Oracle veritabanı kullanıcısı iseniz 12 adet hazır machine learning algoritması ve XE dahil tüm sürümlerde ek ücret ödemeden kullanabileceğiniz 50+ statistical function keşfetmeniz için sizi bekliyor. Oracle’da bir veri madenciliği modelini SQL*Plus’dan basit birkaç PL/SQL API çağrımı ile yaratılan ve SQL ile çağrılabilen bir şema nesnesi olarak düşünebiliriz basit anlamda(bir örnek altta fikir vermesi için paylaşıyorum). Elbette bu modeli yaratırken ve çalıştırırken elinizin altındaki Oracle sürümünün tüm kabiliyetlerinden de sonuna kadar faydalanabilirsiniz(Exadata, Parallel Query, Partitioning, Bitmap Index gibi).


-- Faud Prediction Demo
drop table CLAIMS_SET;
exec dbms_data_mining.drop_model('CLAIMSMODEL');
create table CLAIMS_SET (setting_name varchar2(30), setting_value varchar2(4000));
insert into CLAIMS_SET values ('ALGO_NAME','ALGO_SUPPORT_VECTOR_MACHINES');
insert into CLAIMS_SET values ('PREP_AUTO','ON');
commit;
begin
   dbms_data_mining.create_model('CLAIMSMODEL', 'CLASSIFICATION','CLAIMS', 'POLICYNUMBER', null, 'CLAIMS_SET');
end;
/

--Top 5 most suspicious fraud policy holder claims
select * from(
   select POLICYNUMBER, round(prob_fraud*100,2) percent_fraud,
   rank() over (order byprob_frauddesc)rnk from(
      select POLICYNUMBER, prediction_probability(CLAIMSMODEL, '0' using *) prob_fraud
      from CLAIMS
	  where PASTNUMBEROFCLAIMS in ('2 to 4', 'more than 4')))
where rnk<= 5 order by percent_frauddesc; 

Oracle Data Mining seçeneği Enterprise Edition veritabanınızı kurarken sizin için hazır ediliyor, kısa zaman önce Apex’e taşınan Oracle By Example(OBE) Data Mining tutorial’larını takip edebilirsiniz kurulum hızlı bilgileri için. Tutorial yanında kurulum adımlarını detayları ile Oracle® Data Mining Administrator’s Guide (11.2)’dan da takip etmek mümkün. Ama ben bu kurulumlarla uğraşamam şimdi ve merak içindeyim birkaç tur deneme yapmak isterim derseniz de apex.oracle.com benzeri bir cloud düşünülmüş bu seçenek için de; Oracle 11gR2 + Data Mining seçeneği + Oracle Data Miner klasik kullanıcı arayüzü ve örnek datasetler için Amazon Cloud’a erişebilirsiniz(ne yazık ki apex.oracle.com’daki gibi ücretsiz değil ama).

Oracle Data Miner(ODM) ise ücretsiz bir GUI, güncel sürümlerinde çok da başarılı olduğunu iddia etmeyen bu uygulamayı OTN’den indirerek ücretsiz kullanabiliyorsunuz Mining çalışmalarını kolaylaştırması amacı ile. ODM’in yeni sürüm ön yüzleri bu OOW’de yüksek ihtimal ile OTN’den indirilebilir olacağını düşündüğüm SQL Developer’ın yeni sürümü ile entegre olacak, SAS ile rekabete odaklanmış bir sürüm bu, ekran görüntüleri için Oracle Data Mining Blog’a göz atabilirsiniz, SAS kullanıcılarının vazgeçilmezi GUI kabiliyetleri motivasyonunu ekarte edebilmek için tıpa tıp benzerlikler göreceksiniz. Yine bu Blog’da yeni sürüm ile SAS modellerini Oracle’a otomatik taşımaya imkan veren DBMS_DATA_MINING.IMPORT_MODEL örneklerini de bulabilirsiniz, özetle anlayacağınız saldırı çok sağlam :)

Giriş için bu kadar bilgi yeterli sanırım, eksik olmasın bir de herhangi bir sorun yaşadığınızda sorularınıza ücretsiz bir üyelik alarak hızla cevap alabileceğiniz OTN Data Mining forumu ve Oracle® Data Mining Application Developer’s Guide (11.2)’dan bahsetmemiz yerinde olur. Eğer ilgi görürse bu yazımı örnekler ile bu doküman üzerinden ilerletmeyi düşündüm.

Kaynakça: Oracle Data Mining 11g Release 2 Overview and Demo presentation – Charlie Berger, Sr. Director Product Management at Oracle, Data Mining Technologies

Not: Konu hoşuma gitti ama Oracle değil de açık kaynak ne var, okulda proje amaçlı Java ile felan ne kullanabiliriz derseniz de Weka’ya göz atmanızı öneririm.

TROUG: hayal mi yoksa gerçekleşmesi için yeterli olgunluk düzeyine ulaştık mı?

Konu paralelinde bu alandaki ilk Türkçe yazımı paylaşmak istedim, Mayıs 1999’da kurulan OracleTurk yahoo grubu forumunda uzun senelerdir yöneticilik yapıyorum. Grup özellikle 2002 yılı ile birlikte hareketlenmeye başladı ve 2007 ile 2008 yılları tartışmaların en hareketli olduğu seneler oldu, bu dönemde gruba wordpress üzerinde bir blog da kurduk. Sayısını şu anda hatırlayamadığım onlarca ücretsiz seminer yaptık grup üzerinden, çoğu Üniversite’lerde gerçekleşen bu seminerler Oracle veritabanı kullanıcısı olarak kariyerine yeni başlayacak başarılı gençlerle buluşmamızı sağladı, bugün itibari ile grubun 1800 üzerinde üyeliği bulunmakta.

Bu kısa tarihsel girizgah sonrasında tartışmak istediğim konuya yavaş yavaş girmek istiyorum, “Bağımsız Türk Oracle Kullanıcıları Grubu” benim 2004 yazından bu yana OracleTurk başta olmak üzere çeşitli platformlarda dile getirdiğim ve çabasında olduğum bir konu oldu. Özellikle yurtdışında Slovenya, Estonya gibi Ankara’dan daha küçük denebilecek ülkelerin User Group aktivitelerini gördükçe önemli potansiyelinden her fırsatta bahsedilen ülkemizin kullanıcı grubunun olmadığı gerçeğinden hep utandım sohbetlerde. Fakat zamanla bu grubun olgunlaşamamasının arkasında Türkiye’nin sosyal dinamiklerinin olduğunun da farkına varmaya başladım ve zamana bırakmayı kabullendim.

Benzerlik kurmaya çalışırsak Kuzey Avrupa’da insanlar oy verirken belki çevreci politikalar onlar için çok önemli olabilir ama Türkiye’de durum farklı biliyoruz. Tanıdığım bilgili/tecrübeli bir çok uzmanın hemen hemen hiç paylaşımda bulunmamasına ve bu gibi konularda çaba göstermemesine, destek önerdiğimde de “eve gidip dinleniyorum zar zor, benim zamanım yok bu işlere ayıracak.” “Girmişsin bir işe piyasadaki insan kalitesini bilmeden konuşuyorsun, bu platformlarda canın çok sıkılır saçma sapan talepleri ile insanların uğraşmaktan.” benzeri cevaplarına o kadar alıştım ki, son senelerde artık cidden sesim çıkmaz olmuştu. Bende başarılı gençler ile zaman geçirmeye ve onlara kariyerlerin başında yardımcı olmaya odaklanmaya karar verdim.

Bazı şeyleri zamana bırakırken en güvendiğim referansım eğer cidden bir ihtiyaç var ise bu ülkede bir Oracle kullanıcı grubuna elbette kaliteli gençlerin arkadan yetişmesi ve 1975 sonrası doğan teknolojiye ilgili kişilerin yönetim kademelerinde ilerlemesi ile kullanıcı grubu fikri yavaşta olsa olgunlaşacak ve sonuçlanacaktır düşüncesi idi. Son seneler içinde WordPress, Blogger, Facebook, Linkedin gibi paylaşım platformlarının yaygınlaşması ile kaliteli paylaşım peşinde olan bir çok Türk blogger, forum takipçilerinin bu ortamlarda aktivitelerinin arttığını gözlemledim, içten içe hep mutlu oldum. Bugün kendi RSS okuyucumda Türk blogger’lar için özel bir sekme tutuyorum, bir yeni giriş düştüğünde buraya heyecanla açıyor ve hemen okuyorum :)

Dün Oracle Türkiye ofisinde bir toplantıya katıldım, toplantıda Türkiye Oracle ofisi satış ekibi desteği ile TROUG oluşumunun harekete geçirilmesi konuşuldu. Lokalde satış ekibinde önemli değişiklikler olmuş, bu toplantı daha önceki deneyimlerimden çok daha heyecan verici ve sonuç odaklı idi, mutlu oldum ve destek vereceğimi garanti ettim elbette. Daha önceki deneyimlerime hiç girmeyeceğim bu yazıda, çok da gerekli değil cidden. Bu noktada bence biraz da neden TROUG sorusuna yanıt aramakta fayda var. Beni en çok etkileyen kullanıcı grubu bu anlamda UKOUG olmuştur hep, her yıl Aralık aynda gerçekleşen konferanslarına iki kez katılma şansım oldu, bu kadar kaliteli bir içerik başka hiçbir yerde tecrübe etmedim diyebilirim. Dolayısı ile ilk önemli motivasyon bence kaliteli paylaşım ve özel ilgi grupları yaratarak odaklanma ile kullanıcı grubu aktif üyelerin uzmanlığını arttırmak, bilgiyi paylaşarak birlikte gelişmek. Bu paylaşım blog ve forum’lardakine göre çok daha derin zira gönüllü sunucular için sunuma hazırlık bir anlamda ciddi ders çalışma gerektirecektir, tanışma-tartışma fırsatı ve birlikte zaman geçirerek yakınlaşma-dostluklar üyeler arasında ilişkileri pekiştirecektir.

İkinci motivasyon tabii ki birlikten doğacak güç olacak, birkaç bin kişilik bir kullanıcı grubu sponsor bulmakta güçlük çekmeyecektir, bir çok ücretsiz seminer ve yurt dışından uzman kişileri davet etmek mümkün olabilir. Oracle ile konuşurken daha güçlü tek bir ses olarak taleplerde bulunabiliriz. Ayrıca piyasada iş imkanları bu kullanıcı grubu üzerinden sonuçlanabilir, üyelere iş fırsatlarında grup aktivitesi önemli bir referans oluşturabilir.

Peki gelelim tüm bunları yazıya dökmemin nedeni olan tetiklemek istediğim tartışma sorularına, sizce;
– böyle bir oluşum neden faydalı olur, istekten ziyade cidden ihtiyaç hissediyor musunuz? yoksa mobil internet ile güçlenen internet üzerindeki paylaşımların takibi yeterli tatmini yaratmaya devam eder mi?
– eğer varsa benzer olumlu ya da olumsuz kişisel deneyimleriniz nedir?
– böyle bir oluşum içinde mutlaka olmalı dediğiniz kişiler/gruplar kimler(Oracle Forum Türkiye isimli grubun yöneticisi Zekeriya Bey de dün toplantıda idi, onun da çok istekli ve destek olmaya hazır olduğunu hissettim), siz destek olmak için gönüllü olmak ister misiniz? Yanıtınız evet ise blog adresinizi yorum olarak belirtir misiniz.

Son bir not “Oracle kullanıcıları grubu” derken artık çok geniş bir topluluktan bahsediyoruz, muhtemel özel ilgi grubu örnekleri vermek gerekirse: Veritabanı geliştirme(SQL, PL/SQL, Apex, Java, Jdev&ADF, Forms&Reports, Windows&.Net, XML, BI&DWH ÖİG gibi), Veritabanı yönetimi(Yüksek erişebilinirlik&Grid Computing, Enterprise Manager&Grid Control, Kurulum&yükseltme ÖİG gibi), Genel(Eğitim&Sertifikasyon ÖİG gibi), Fusion Middleware(Weblogic, SOA ÖİG gibi), Mimari(Solaris, Linux, VM ÖİG gibi), Paket uygulamalar(E-business Suite, Siebel, Peoplesoft, JD Edwards, Primavera ÖİG gibi).