HELLO, I’M SERHAT AND THIS IS MY FANCY TITLE.

R'da paket kurulumu


R'a eklenti olarak paket kurmak oldukça kolay. Öncelikle ihtiyacınız olan analizlere ilişkin ek paketleri R'ın sitesinden bulmanız gerekmekte. Sayfada CTRL+F ile arama yaparak kendinize uygun paketler bulabilirsiniz.

Örneğin benim analiz etmek istediğim interrater reliability olduğu için Kappa analizine yönelik paketlere ihtiyaç duyuyorum. Toplamda 5 tane paket kuracağım ve kuracağım paketler şunlar:

  1. ICC: Facilitating Estimation of the Intraclass Correlation Coefficient
  2. KappaV: Calculates "vectorial Kappa", an index of congruence between patchy mosaics
  3. irr: Various Coefficients of Interrater Reliability and Agreement
  4. raters: A Modification of Fleiss' Kappa in Case of Nominal and Ordinal Variables
  5. KappaGUI: GUI for Cohen's and Fleiss' Kappa

Gelelim kuruluma. R konsolunu açtıktan sonra install.packages fonksiyonu ile paketleri kurabiliyorsunuz. install.packages fonksiyonu, diğer pek çok R fonksiyonu gibi vektör kabul ediyor. Yani bu fonksiyon içerisinde birden çok paketin kurulmasını söyleyebilirsiniz.

Continue reading
Date: | Tags: R programlama, R ile analiz, R istatistik, R paket kurma | Categories: tech, R

Ruby ile iki veri arasındaki benzerliğin hesaplanması


Bir RoR projesinde, iki farklı veritabanında bulunan ad-soyad ve kimlik numarası verilerinin birbirlerine ne kadar benzediğinin hesaplanması ve farklı veri setlerinin birbiriyle aynı olma olasılığının tespiti gibi bir ihtiyacım olmuştu.

Örneğin aşağıdaki iki veri birbirine ne kadar benziyor, bu kişiler gerçekten aynı kişiler olabilir mi bunu hesaplamam gerekiyordu:

"Ahmet Metin 123456789"
"Ahmet Makin 123123123"

Bu hesaplamayı yapabilmek için Elasticsearch ve Ruby'nin marifetleri yeterli oldu. Elasticsearch'ün Ruby için sağladığı records.each_with_hit metodu ile herhangi iki veri birbirlerine ne kadar benziyor (yakınsıyor) kontrol edebilir ve benzerlik oranını 0-2 aralığında matematiksel olarak alabilirsiniz.

Continue reading
Date: | Tags: ruby programlama, ruby dersleri, ruby örnekleri, ruby kodları | Categories: tech, ruby

Ruby on rails ve güvenlik - routes


Rails uygulamalarında route'ların güvenliğini sağlarken Devise gibi authentication GEM'lerinin sağladığı helper'lardan ve lambda metodundan yararlanabilirsiniz. Örneğin sadece super_admin rolüne sahip kullanıcılara açık olmasını istediğiniz route'ları şu şekilde tanımlayabilirsiniz:

# config/routes.rb

authenticate :user, lambda { |u| u.is_super_admin? } do
  mount Resque::Server => '/admin/resque'
  namespace :admin do
    resources :ip_lists, except: :show
    resources :token_users, except: :show
  end
end

Artık admin/resque, admin/ip_lists ve admin/token_users yolları sadece super_admin'ler için erişilebilir olacak.

Continue reading

Elasticsearch kurulumu


Bu kurulumda Ubuntu 14.04 kullanılmıştır. Ancak Ubuntu 16.04 ve Debian için de kurulum benzerdir. ElasticSearch en iyi performans için Oracle Java'ya ihtiyaç duymaktadır.

java -version

ile java sürümü ve Oracle mı yoksa OpenJDK mı olduğu kontrol edilebilir. Elasticsearch kurulumu yapabilmek için öncelikle sisteminizde OpenJDK veya OracleJDK kurulu olmalıdır. Ubuntu'da güncel OpenJDK ile sorunsuz çalışmakla birlikte, Debian 7 sürümünde Oracle JDK kurulumu gerektirdi. Yine de OracleJDK kullanmakta fayda var.

Continue reading

ElasticSearch temel bilgiler


Cluster

Cluster verilerin tümünün tutan bir yada birden çok node'un (server'ın) kümelenmiş halidir. Cluster'lar eşsiz isimlere sahiptir ve default isimleri "elasticsearch"tür. Bu isim önemli çünkü bir node sadece - isimle belirlenmiş olan, katılmasının mümkün olduğu cluster'a katılabilir. Production'da özel bir isim koymak faydalı olacaktır. Ayrıca içerisinde tek bir node bulunan bir cluster kullanmanın da herhangi bir sakıncası olmadığı gibi, her biri eşsiz isimlere sahip birden çok cluster'da kullanılabilir.

Continue reading