Dünyayı Domine Eden Algoritmar

Algoritmaların bugün hayatımızdaki önemi göz ardı edilemez. Finans kurumlarından tanışma sitelerine kadar neredeyse her yerde kullanılırlar. Fakat bazı algoritmalar vardır ki dünyamızı diğerlerinden daha fazla şekillendirir ve kontrol eder. Bu yazıda dünyamızı şekillendiren, domine eden ve kontrol eden en önemli denebilecek algoritmalardan bahsedeceğiz.

Başlamadan önce sadece hızlı bir hatırlatma yapalım. Resmi bir tanım olmamasına rağmen, bilgisayar bilimcileri algoritmaları bir dizi işlemi tanımlayan bir dizi kural olarak tanımlar. Bir bilgisayara bir sorunu nasıl çözmesi veya belirli bir hedefe ulaşması gerektiğini söyleyen bir dizi talimattır. Algoritmaları düşünmenin iyi bir yolu, bir akış şemasıyla görselleştirmektir (Şekil 1).

Algorithm and pseudocode from a flowchart - Stack Overflow
Şekil 1 – Flowchart of an Algorithm

Hadi hızlıca önemli algoritmaları açıklamaya başlayalım!!

Daha fazla

Populasyon ve Örneklem

Gerçekleştireceğiniz her istatistiksel analizin ilk adımı, popülasyon vs örneklem veri kontrolü veya uğraştığınız verinin popülasyon mu yoksa örneklem mi olduğunu belirlemektir.

Popülasyon, çalışmamızla ilgili tüm öğelerin toplamıdır ve genellikle büyük N ile gösterilir. Popülasyon kullanırken elde ettiğimiz sayılara parametre denir.

Örneklem, popülasyonun bir alt kümesidir ve küçük harf n ile gösterilir ve bir örneklemle çalışırken elde ettiğimiz sayılara istatistik denir.

Daha fazla

Veri Bilimcileri Gerçekte Ne Yapar?

Veri bilimcileri ne yapar? 30’dan fazla veri bilimcisi ile yapılan görüşmelere göre veri bilimi; altyapı, test etme, karar verme için makine öğrenimini kullanma ve veri ürünleri ile ilgilidir. Veri bilimi çok sayıda alanda kullanılıyor, ancak her şey derin öğrenme veya yapay genel zeka arayışı ile ilgili değil. Aslında, ihtiyaç duyulan beceriler arasında iletişim ve hikaye anlatımı yer alır. Ancak veri bilimi giderek daha gelişiyor ve bununla birlikte veri bilimcilerinin ihtiyaç duyduğu beceriler de gelişiyor. Ayrıca, etik giderek daha büyük bir zorluk haline geliyor.

Daha fazla

Tek Hücreli RNA Dizileme (Single-Cell RNA Sequencing) Verilerinin Analizi — Devam

Bu yazı da ise R programlama kullanarak ScRNA-seq veri setini çeşitli ön işlemelerden geçirdikten sonra denetimsiz (unsupervised) makine öğrenmesi yöntemlerinden olan kümeleme (clustering) algoritmalarını kullanarak veri setini kümerlere ayıracağız. İsterseniz Python programlama diliyle de analiz yapabilirsiniz ama ben stajda R kullandığım için bu yazıda da R kullanacağım. Yazının sonuna Python kullanarak gerçekleştirebileceğiniz eğitici linkler de koyacağım. Haydi başlayalım!!

Gerekli Kurulumlar:

Basitliği açısından analizi dropClust adlı R paketi ile yapacağız. R paketinin geliştirici sürümü, aşağıdaki R komutlarıyla kurulabilir:

library(devtools)
install_github(“debsin/dropClust”, dependencies = T)

Bu yazıda, standart bir pipeline göstermek için 10X web sitesinden (3K PBMC veri seti) küçük bir veri seti kullanacağız. Burada göstereceklerim bu veri setinin en basit haliyle analiz edilmesi olarak düşünebilirsiniz. Yazının sonunda kendini daha çok geliştirmek isteyenler için bazı linkler vereceğim ve ayrıca benin staj zamanı yaptığım projenin Github linkini de koyacağım.

Daha fazla

Algoritma ve Programlama Dünyası — Programlamaya Giriş

Bu bölümde hangi konulardan bahsedeceğiz gelin onlara bakalım.

Öncelikle C++, Java ve Python dillerinden kısaca bahsedeceğiz. Daha sonra bu dillerde önemli konu olan main kavramı üzerinde duracağız (Pythonda main yok). Hadi Başlayalım!!

Photo by Hitesh Choudhary on Unsplash

Bu yazıdan itibaren başalttığımız bu seride bazı uygulamalar yapacağız. Bu uygulamaları yapabilmek için bu yazıda C++, Java ve Python programlama dilleri üzerinden geçmek istiyorum. Öncelikle bu dillerin tarihçesine bakalım.

Daha fazla