Veri Madenciliği Gelişim Süreci ve Teknikleri
Veri Madenciliği Nedir
Veri madenciliği en basit şekilde büyük miktarda veri içerisinden gelecekle ilgili tahmin yapmamızı sağlayacak modellerin veya bağlantıların oluşturulmasıdır.
Bu bağlantılar oluştuktan sonra aradığımız veriler mevcutsa bu verilerden çıkarabileceğimiz sonuçları anlamak için kullanırız.Örneğin ;
Riski az olan tüm kredi kartı başvurularını bul(sınıflandırma)
Harcama alışkanlığı benzer olan kredi kartı sahiplerini bul(demetleme)
DVD birlikte sıkça satın alınan ürünü bul (ilişkilendirme kuralları)
Belli bir ürünü alan insanların ortak özellikleri nelerdir ?
Müşterinin bundan sonra isteyeceği ürünler neler olabilir ?
Hangi müşterilermiz sadık hangisi hangi durumlarda uçup gidiyor ?
..vb bir çok sonuç odaklı sorularımıza cevap bulabiliriz
Ham veriden bu bilgilere ulaşmanın bir çok yolu var.Gerekli olan bilgiye ulaşmada ilk önce, uygulama alanımızı doğru belirlememiz gerekiyor.Bu uygulama alanının amacına uygun veri kümesi oluşturmalı ve veriyi ayıklama ve önişlemlerden geçirmeliyiz.Sistemimizde kullanacağımız yapıya göre verilerin dönüşümünü ve azaltılmasını gerçekleştirebiliriz.Veri dönüşümünde gerekli boyutları seçebilir boyutlar arası ilişkileri belirleyebilir veya boyutu azaltabiliriz. Bu aşamadan sonra gerekli olacak olan veri madenciliği tekniklerinden birtanesi seçebiliriz. Şimdi bu teknikleri inceleyelim
1- Classification:
En popüler veri madenciliği görevlerinden biridir.Yeni bir nesnenin niteliklerini inceleme ve bu nesneyi önceden tanımlanmış bir sınıfa atamaktatır.Burada önemli olan bir sınıfın özelliklerinin önceden net bir şekilde belirtilmiş olması gerektiğidir. Bir malın özellikleriyle müşteri özelliklerini eşleştirebiliriz.Böylece bir müşteri için ideal ürün veya bir ürün için ideal müşteri profili çıkarılabilir.
“Genç kadınlar küçük araba satın alır, yaşlı, zengin erkekler büyük, lüks araba satın alır.” Sınıflama tekniğine örnek olarak verebiliriz
2-Clustering
Belli bir grubun kümelenmesi şeklinde düşünebiliriz.Belli bir yapı içindeki geçen terimlere-datalara-özelliklere..vb göre gruplar oluşur.Bu gruplar da en çok geçen datalardan yararlanılarak bir benzerlik ölçütü geliştirilir ve buna göre demetleme yapılır.Örneğin genç –orta ve yaşlı erkeklerin aldığı kontor miktarı ayrı ayrı cluster oluşturmaktadır.
Bir cluster algoritması sayısız döngü kullanıp model yakınsayınca durarak modeli oluşturur.Yani oluşan segmentlerin sınırları stabil hale gelir. Mevcut halde bir çok clustering algoritması ve yapısı vardır.Örneğin Hierarchical clustering, Partitional clustering,, Spectral clustering..vb Bunlar kendi içinlerinde k-means,fuzzy-c-means ,QT algoritması..vb algoritmaları kullanır.Bunları ilerleyen günlerde belki açıklayabiliriz ama şuan için böyle çeşitlerinin olduğu bilgisi yeterli olacaktır.
3-Association
Popüler veri madenciliği görevlerinden biridir.Bir nesnenin varlığı ile diğer bir nesnenin varlığı arasında tahmin yürütülerek ilişki kurulur.Örneğin bir markette,çocuk bezi alan birisinin hemen hemen herzaman süt aldığı testpit edildikten sonra market sahibi çocuk bezi ve süt raflarının arasındaki mesafeyi kısaltabilir.Böylece müşteriye unutulan birşeyin hatırlatılması dolayısıyla kazanç sağlanmış olur.Bunun örneklerini günlük hayatımızda bir hayli görüyoruz.
4-Regsession
Amaç bir ya da daha çok değişkenin başka değişkenler cinsinden tahmin edilmesini olanaklı kılan ilişkiler bulmaktır.Örneğin bilgisayar mühendisi olan 40 yaşını aşmamış evi ve arabası olan yakışıklı erkeklerJ bir regsessiondur.
5-Forecasting
Adından da anlaşılacağı gibi bizlere tahminler sunan veri ambarı tekniğidir.Örneğin 5 sene sonra barajlardaki doluluk oranları ne olacak ? gençler en çok hangi meslekleri seçecek? X şirketinin 2012 kar marjı ne olacak? Bu tip sorulara cevap bulan bir yapıdır.Burada ki en büyük yardımcımız zaman ve datanın geçmiş yıllarda zamanın içindeki dağılımıdır.
Veri Madenciliğinin Gelişim Süreci
Veri madenciliğinin kökeni hiç şüphesiz ilk sayısal bilgisayar olan ENIAC (Electrical Numerical Integrator And Calculator)’a kadar dayanmaktadır. 1946 yılında geliştirilen ve bugün kullandığımız kişisel bilgisayarların atası olan ENIAC, ABD’li bilimadamları John Mauchly ve J. Presper Eckert tarafından, II. Dünya Savaşı sırasında ABD ordusu için geliştirildi. 30 tonluk ağırlığıyla 170 m2lik bir alanı kaplayan bu “ilk” bilgisayarın 60 sene içerisinde geçirmiş olduğu evrimin nihai boyutlarını şu anda masa üstünüzdeki bilgisayara bakarak anlamanız mümkündür.
Bu evrim tabii ki belli bir süreç ve şartlar altında gerçekleşti. Donanımsal olarak hazırlanan ilgisayarların, yazılımlar vasıtasıyla hayat bulması ve kullanıcılara ulaştırılması, bilgisayar evrim döngüsünün anahtarıdır. Bilgisayar ve yazılım uzmanlarının geliştirdikleri ürünler, kullanıcıların istekleri doğrultusunda zamanla şekillenerek bugünkü halini almış durumdadır. Döngü, donanımın geliştirilmesinin ardından yazılımın bu donanıma entegre edilerek kullanıcıya ulaştırılmasıyla başlar. Kullanıcı ihtiyaçları doğrultusunda yazılımda bulunan eksiklikleri belirler. Yazılım uzmanları bu eksiklikleri göz önünde bulundurarak yeni yazılımlar geliştirirler. Bu yazılımların çalışabilmesi için gerekli donanım güncellenmesinin yapılması için donanım uzmanları uyarılır. Güncellenen bilgisayarlar tekrar kullanıcılara ulaştırılır ve döngü bu şekilde devam eder. Dikkat edilirse döngünün anahtar elemanı kullanıcıdır. Kullancıların ihtiyaçları, isteklerini belirler. Dolayısıyla bu istekler mevzu bahis sektörü doğrudan etkiler ve gelişmenin kapıları açılır.
Bilgisayarların efektif kullanımı verilerin depolanması ile başlamaktadır. İlk haliyle karmaşık esaplamaları yapmaya yönelik geliştirlen bilgisayarlar, kullanıcı ihtiyaçları doğrultusunda veri depolama işlemleri için de kullanılmaya başlandı. Bu sayede veri tabanları ortaya çıktı. Veri tabanlarının genişleme trendi içinde olması donanımsal olarak bu verilerin tutulacakları ortamların da genişlemesini gerektirdi. Veri ambarı kavramının ortaya çıkışı bu dönemlere rastlamaktadır. Kaybedilmek istemeyen veriler, bir ambar misali fiziksel sürücülerde tekrar kullanılmak üzeresaklanmaktaydı. Gittikçe büyüyen veri tabanlarının organizasyonu, düzenlenmesi ve yönetimi de buna paralel olarak güç bir hal almaya başladı. Bu safhada veri modelleme kavramı ortaya çıktı.
İlk olarak basit veri modelleri olan Hiyerarşik ve Şebeke veri modelleri geliştirildi. Hiyerarşik veri modelleri, ağaç yapısına sahip, temelinde bir kök olan ve bu kök vasıtasıyla üstünde her daim bir, altında ise n sayıda düğüm bulunan veri modelleriydi. Şebeke veri modelleri ise kayıt tipi ve bağlantıların olduğu, kayıt tiplerinin varlık, bağlantılarınsa ilişki tiplerini belirlediği bir veri modeliydi. Şebeke veri modelinde herhangi bir eleman bir diğeri ile ilişki içerisine girebiliyordu. Ancak çoklu ilişki kurmak söz konusu değildi. Hiyerarşik veri modellerinde ise bu daha da kısıtlıydı. Dolayısıyla kullanıcıların ihtiyaçlarını tam olarak karşılayamadılar. Bu ihtiyaçlar doğrultusunda Geliştirilmiş Veri Modelleri geliştirildi. Bunlar Varlık – İlişki, İlişkisel ve Nesne – Yönelimli veri modelleri olarak bilinmektedirler. Günümüzde en sık kullanılanı İlişkisel veri modelidir. Nesne – Yönelimli veri modelleri ise hala gelişim süreci içerisindedir.
İhtiyaçlar doğrultusunda şekillenen veri tabanları ve veri modelleme çeşitleri hızla yaygınlaşırken, donanımlar da bu sürece ayak uydurdular. Günümüzde milyarlarca bit veriyi ufacık belleklerde tutmak mümkün hale gelmiştir. İhtiyaçlar her ne kadar teknolojiyi ciddi anlamda şekillendirse de yanında sorunları daim olarak getirmektedir. Verileri saklanması, düzenlenmesi, organize edilmesi her ne kadar bir sorun gibi görünmese de bu kadar çok veri ile istenilen sonuca ulaşmak başlı başına bir sorun halini almıştır.
Veri madenciliği, kavramsal olarak 1960lı yıllarda, bilgisayaların veri analiz problemlerini çözmek için kullanılmaya başlamasıyla ortaya çıktı. O dönemlerde, bilgisayar yardımıyla, yeterince uzun bir tarama yapıldığında, istenilen verilere ulaşmanın mümkün olacağı gerçeği kabullenildi. Bu işleme veri madenciliği yerine önceleri veri taraması (data dredging), veri yakalanması (data fishing) gibi isimler verildi
1990lı yıllara gelindiğinde veri madenciliği ismi, bilgisayar mühendisleri tarafından ortaya atıldı. Bu camianın amacı, geleneksel istatistiksel yöntemler yerine, veri analizinin algoritmik bilgisayar modülleri tarafından değerlendirmesini vurgulamaktı. Bu noktadan sonra bilimadamları veri madenciliğine çeşitli yaklaşımlar getirmeye başladılar. Bu yaklaşımların kökeninde istatistik, makine öğrenimi (machine learning), veritabanları, otomasyon, pazarlama, araştırma gibi disiplinler ve kavramlar yatmaktaydı.
İstatistik, süre gelen zaman içerisinde verilerin değerlendirilmesi ve analizleri konusunda hizmet veren bir yöntemler topluluğuydu. Bilgisayarların veri analizi için kullanılmaya başlamasıyla istatistiksel çalışmalar hız kazandı. Hatta bilgisayarın varlığı daha önce yapılması mümkün olmayan istatistiksel araştırmaları mümkün kıldı. 1990lardan sonra istatistik, veri madenciliği ile ortak bir platforma taşındı. Verinin, yığınlar içerisinden çekip çıkarılması ve analizinin yapılarak kullanıma hazırlanması sürecinde veri madenciliği ve istatistik sıkı bir çalışma birlikteliği içine girmiş bulundular.Bunun yanısıra veri madenciliği, veri tabanları ve makine öğrenimi disipliniyle birlikte yol aldı. Günümüzdeki Yapay Zeka çalışmalarının temelini oluşturan makine öğrenimi kavramı, bilgisayarların bazı işlemlerden çıkarsamalar yaparak yeni işlemler üretmesidir. Önceleri makineler, insan öğrenimine benzer bir yapıda inşa edilmeye çalışıldı.
Ancak 1980lerden sonra bu konuda yaklaşım değişti ve makineler daha spesifik konularda kestirim algoritmaları üretmeye yönelik inşa edildi. Bu durum ister istemez uygulamalı istatistik ile makine öğrenim kavramlarını, veri madenciliği altında bir araya getirdi.
Kaynaklar;
Rud, O.P., Data Mining Cookbook, Wiley Pub., 2001
Smyth, P., Data Mining Data Analysis on a Grand Scale, UC, 2000
Sertacogut.com/blog/wp-content/uploads/2009/03/sertac_ogut_-_veri_madenciligi_kavrami_ve_gelisim_sureci.pdf
Inversion of Control (IoC) de neymiş?
Son zamanlarda oldukça popüler olmaya başlayan ve gittikçe de kullanım ihtiyacı artan Inversion of Control (IoC) pattern ile ilgili birkaç bilgi vermekte fayda olduğunu düşünüyorum yeni başlayanlar için ilk adım olarak düşünülebilir.
Inversion of Control (IoC) bir modülün bağımlılık, çözülme, konfigürasyon ve hayat döngüsü konularına çözüm sağlayan dizayn kuralıdır. IoC’nin en önemli özelliği bir modülün bağımlı olduğu diğer assembly bileşenlerinin çözülümünde yatmaktadır.
IoC’nin en iyi bilinen prensibi Dependency Injection Principle’dır (DIP). Makalemizin ilerleyen kısımlarında daha derinlikli olarak inceleyeceğiz şimdilik bir başlangıç yapalım.
Oracle Sequence Nedir? Bilinmeyen Detaylarıyla
Merhabalar,
Sequence
Oracle'da "sequence" yani Türkçe'si ile sıra, dizi veya sekans olarak adlandırdığımız yapılar bulunmaktadır. Bu yapıların amacı belirlediğimiz bir başlangıç noktasından başlayarak, artı veya eksi yönde sayı arttırmaktır. Dizi, sürekli olarak kullanımdan doğan numara artış veya azalışlarını temin etmektedir. Diziler genelde sanal bir anahtar olarak kullanılır ve bir çeşit sıralama yapabilmemiz için faydalıdır. Tıpkı constraint'ler gibi, sequence'lar da data dictionary içerisinde bulunur ve kayıtları tutulur. Herhangi bir alan tahsis etmezler, yalnızca sayalar ve sıra tutarlar. Dizilere bir üst veya alt limit vererek, nerede biteceğini ve yeniden başlaması gerektiğini de söyleyebiliyoruz.
Meta Data Nedir ?
Meta Data Nedir ?
Metadata çooğunlukla data hakkında bilgi olarak tanımlanmaktadır. Tam olarak Metadata datayı tanımlamaktadır. Yani datanın nasıl kullanıldığını ve sistemlerin dataları nasıl yöneteceğini tarif etmektedir.Genellikle metadaların içerdikleri ;
Veri Madenciliği(Data Mining) Nedir ve Nerelerde Kullanılır-1
Merhaba Arkadaşlar,
Sitemize Oracle konusunda bilgilerini bizimle paylaşacak çok değerli bir arkadaşımız daha katıldı.Ogan Özdoğan bloğunda paylaştığı yazıları burada yayınlıyor olacağız.Sizde sitenizde,bloğunuzda,grubunuzda..yazılarınızı bizimle paylaşmak isterseniz Bu e-Posta adresi istek dışı postalardan korunmaktadır, görüntülüyebilmek için JavaScript etkinleştirilmelidir adresine mail atmanız yeterli olacaktır.
Java Nedir ?
Java ismini her yerde duymuşunuzdur.İnternette gezinirken , oyun oynarken , telefonunuzdaki oyunlarda, programlarda .. Java günümüzde 4.5 milyarı aşkın aygıta güç katmaktadır. Bu aygıtları şöyle sıralayabiliriz;
SOA Nedir?
SOA seminerlerime katılanlardan gelen yoğun istek üzerine bu seminerlerde anlatttıklarımı derleyerek bir makale haline getirdim. İşte karşınızda günümüzün popüler mimarisi SOA.
Yazılım mimarilerine güncel ve popüler bir yaklaşım: Herşey bir gün servis olacak!
Cloud Computing Nedir?
Cloud Computing yani Bulut Hesaplama, geleneksel bilgisayar konseptindeki yerel hesaplama yöntemlerini tarihe gömüyor. Cloud computing kısaca, ihtiyaç duyduğunuz verilerin ve hesaplamaların sizin bilgisayarınızda değilde, uzaktaki birçok bilgisayarda tutulması ve hesaplanması mantığına dayanıyor. Hesaplanan veriler sonradan internet üzerinden sizin bilgisayarlarınıza yönlendiriliyorlar. Bu durumda elinizdeki bilgisayarın kapasitesinin ne olduğunun önemi kalmıyor. Ayrıca bu verilere dünyanın herhangi bir yerinden ve herhangi bir donanımla erişim sağlanıyor. Bu da doğal olarak platform bağımsızlık sağlıyor. Yani sizin kullandığınız sistem ister Windows, ister Linux olsun istediğiniz uygulamayı çalıştırabilirsiniz.
Oracle GoldenGate Nedir?
Oracle'ın yeni tendlerinden GoldenGate nedir nasıl kullanılır ne işe yarar? Bunları çok güzel anlatan bir yazıyı http://www.boraovali.com/?p=532 sitesinden de ulaşabileceğiniz üzere paylaşıyor olacağım
Oracle GoldenGate felaket yönetimi çözümü, kritik iş sistemlerinizdeki sürekliliği sağlamanız için gerekli olan ana ve yedek veritabanı mimarisini oluşturmanız için kullanılan bir teknolojidir. GoldenGate çözümü ana veritabanınızdaki işlemleri yakalayıp, yedek veritabanınıza gerçek zamanlı olarak kopyalar ve yükler. Ana veritabanınızda oluşabilecek herhangi bir donanım ya da yazılım arızası durumunda ise yedek veritabanınız otomatik olarak devreye girer ve kurum içerisindeki işleyişin sekteye uğramadan devam etmesini sağlar. Burada arızanın hemen öncesine kadar üretilmiş ve yazılmış bütün veriler yedek veritabanı içerisinde tutulduğu için tutarlı bir şekilde yedekleme yapılmış olur. Ayrıca yedek olarak tutulan bu veritabanını, performans kazanmak için, raporlama gibi işlemlerde de kullanabilirsiniz. Yedekleme TCP/IP protokolü üzerinden yapıldığı için, Internet omurgası üzerinden de çalışabilmektedir.
Unix Nedir?
Selam Arkadaşlar bu makaleden başlayarak unix ortamındaki tecrübelerimizi paylaşıyor olacağız.Bunun için ilk önce unix ortamı nedir ve temel komutlarını görelim.
UNIX TARIHÇE
- UNIX in ilk versiyonu Bell Laboraties araştırma grubunda çalışan Ken Thompson tarafından 1969 yılında PDP-7 de çalışmak üzere geliştirildi. Kısa bir süre sonra Dennis Ritchie Thompson'a katıldı. Thompson, Ritchie ve araştırma grubunun diğer üyeleri UNIX'in ilk versiyonlarını hazırladı.
- Ritchie çok yakın geçmiş zamanda MULTICS projesi üzerinde çalışmış olduğundan bu yeni işletim sistemi üzerinde MULTICS in güçlü bir etkisi oldu. Hatta ismi bile MULTICS den gelmedir. Dosya sistemi temel organizasyonu, komut yorumlayıcı fikri (shell), her komut için ayrı bir process ve daha çeşitli özellikler direk olarak MULTICS den geldi.