Market Sepeti Analizi Nedir?


Bir markette herkes sepetine farklı ürünler doldurur. Ancak her sepette genellikle bir arada bulunan ürünler vardır. Bu ürünlerden örneğin kola ile cipsin bir arada alınması beklenebilir ancak beklenmediği halde bir arada olan ürünler olabilir mi? Örneğin bira ile çocuk bezi bir arada sıkça görülür mü? Bir şehir efsanesine göre evet. İşte buna benzer kalıpları görebilmek için “market sepeti analizi” adı verilen bir analiz yapılır. Bu bir veri madenciliği yöntemidir.Bunu R ile yapmak için şurayıPython ile yapmak için şurayı okuyabilirsiniz.

Reklamlar

R ve Regex Yardımıyla düzensiz bir metin içinden yılı yakalamak


Bir projemde aşağıdaki gibi iki tür metin vardı:

> a="Volume 29, Issue 3, July 2007, Pages 357-374"
> b="Published: 1999, Start page: 117"

a ve b değerleri içinden 2007 ve 1999 gibi sayıları çıkarmak istiyordum. Regex’te buna uygun bir patternin var olduğunu düşündüm. Şuradan test ettim: https://www.regextester.com/93651

Daha sonra R’da bulunan stringr paketindeki str_extract fonksiyonunu kullandım:

> str_extract(a,"(19|20)\\d{2}")
[1] "2007"
> str_extract(b,"(19|20)\\d{2}")
[1] "1999"

Özetle (19|20)\d{2} şeklinde yazdığım regex kodu şöyle söyler: Git o metnin içinden 19 veya 20 ile başlayan ve devamında iki sayısal karakter(d) olan veriyi yani yılı getir.

Getirdi de! Büyük veri zorlu veridir. Ama aşmak için her zaman yollar vardır.

R’da tüm korelasyonları toplu göstermek


Verisetiniz içerisinde kaç parametre varsa bunların birbirleri ile ilişkisi için teker teker korelasyonlara bakmanıza gerek yok. R’da bu işlemi topluca yaparak zaman kazanabilirsiniz.

Veri Amerika’nın Wyoming eyaletindeki suç verileri (2013)

  library(xlsx)
  a=xlsx::read.xlsx("wyoming.xls",sheetName = "13tbl8wy"
                    ,as.data.frame = T
                    ,stringAsFactors=F)
  #NA konları sil
  a=a[colSums(!is.na(a)) > 0]
  #correlation pairs
  panel.cor <- function(x, y, digits = 2, prefix = "", cex.cor, ...)
  {
    usr <- par("usr"); on.exit(par(usr))
    par(usr = c(0, 1, 0, 1))
    r <- abs(cor(x, y))
    txt <- format(c(r, 0.123456789), digits = digits)[1]
    txt <- paste0(prefix, txt)
    if(missing(cex.cor)) cex.cor <- 0.8/strwidth(txt)
    text(0.5, 0.5, txt, cex = cex.cor * r)
  }
  pairs(a[1:5], lower.panel = panel.smooth, upper.panel = panel.cor)

#corelation pairs fonksiyonundan sonraki kısımla aşağıdaki gibi koralasyon tablosu elde edebiliyorsunuz.

Gördüğünüz üzere hem korelasyonlar hem grafikler kolayca eşleştirilebiliyor. Bu grafikten ne anlıyoruz. Wyoming için 2013 yılında şehir bazında nüfus ile işlenen şiddet içeren suçlar arasında ciddi ilişki var. O zaman küçük yerler daha güvenli olabilir. Ama kumarbaz yanılgısına düşmeyin. Küçük ihtimaller gelip sizi bulabilir.

Veri Bilimcinin Yol Haritası


Öğrenilecek şeyler çok olunca sadece onların listesini bile düzenli bir yerde tutmak gerekiyor. Yüzlerce farklı kaynaktan, röportajdan ve listeden derlediğim bir kısmını da daha önceden kullandığım ‘şeyler’. İşte veri bilimciliğinde öğrenilmesi gereken şeylerin ‘canlı’ ve yapılandırılmış listesi:

  • Kullanılışlı API’ler:

    • Bu API’ler özellikle sosyal medya madenciliğinde yararlıdır:
    • Facebook API
    • Quandl API (Finansal veri API’si)
    • IBM Watson API
  • Sık kullanılan güncel algoritmalar / modeller / teknolojiler:

    • Bir çok yerde karşınıza çıkacak öğrenilmesi gereken konular:
    • Artificial Neural Network
    • eXtreme Gradient Boosing
    • Elastic Net
    • Vowpal Wabbit
    • Factorization Machines
    • LibFFM
    • Regualized Greedy Forest (RGF)
  • Değerli portaller:

    • Bu portallere ara sıra bakıp, okumalı:
    • AnalyticsVidhya: Hintliler bu işi de kimseye bırakmamış.

    • KDNuggets: Öğrenme kaynakları

    • Özellikle tasvsiye: Kaggle: Açık yarışmalar,StoryCV oluşturma
    • Springboard : Veri bilimciler için iş ilan sitesi
    • DataKind : Gerçek veri bilim problemleri ile uğraşın
  • Veri Kaynakları ve Kaynak Listeleri

  • Kurslar:

  • Veri Görselleştirme Araçları:

  • R /Python Paketleri

    • El altında bulunması gereken R/Python paketleri
    • RVest: Web’den metinsel veri derlemek için
    • Python için RAKE algoritması kütüphanesi. RAKE unsupervized yolla metin sınıflandırma imkanı sağlıyor. Python paketi burada
  • El altı sunumlar:

    ** Bir kaç slaytla dertlere deva olanlar**:

  • Makale Listeleri/ Makaleler:

(CopyPaste ya da ‘phrapase’ etmeden önce bir kez daha düşünün:)