2020-05-25

Docker notes and using Hadoop on container

Docker is a set of platform as a service products that uses OS-level virtualization to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels. (c. Wikipedia) There are a number of sources to learn Docker, but I shall show some useful notes and how to use HDFS using container on Linux.


2020-05-01

Useful Notes __ Scala Collections


The Scala collections library involves many classes and traits.The main trait is Iterable, which is the supertrait of both mutable and immutable variations of sequences (Seqs), sets, and maps. Sequences are ordered collections, such as Arrays and Lists. Sets contain at most one of each object, as determined by the == method. Maps contain a collection of keys mapped to values.
All collections are called as immutable by default, to call mutable type you should use scala.collection.mutable package where it is allowed.

2020-04-27

Havayolu şirketlerinde overbook uygulamasına ML çözümü

Gerçek dünya sorunlarına çözüm üretmek için odak noktamız havayolu sektörü oldu. Çalışmamız amacı, havayolu şirketlerine ek getiri sağlayan `overbook` uygulamasının hangi uçuşlarda kullanılabileceğinin yüksek olasılıkla tahmin edilebilmesidir. Havayolu firmaları satışa sunduğu seferin biletlerine ek olarak, yolcuların uçağı kaçırma, geç gelme ya da zamanında yapmadığı check-in işlemlerinden dolayı uçağın kapasitesinin üstünde yaptığı bilet satışı gerçekleştirir, bu uygulamaya `overbook` denir. Yolcu, bir sonraki uçuş ile  seyahat eder ve yolcu memnuniyeti sağlanması adına, ek bilet yada maddi olarak ödüllendirilir.
Bu konuda, projeyi beraber yürüttüğümüz arkadaşım Ozan Akalın ile birlikte hareket ettik, domain bilgileri ile birlikte gerekli veriler belirlendi. Şirketlerin gerçek verilerini paylaşmakta istekli olmadıkları, aynı zamanda veri gizliliği nedeniyle zorluk yaşadık.Farklı API`lerin kullanımını denendi, fakat gerekli verilere erişemedik. Şanslıyız ki istediğimiz verilere benzer verisetini bulduk ve projemizi biraz da ona göre şekillendirdik.
Proje yönetimi aşamasında farklı aşamalar belirlendi:
  • Planlama
  • Bulut ortamında veri saklama ve manipülasyonu
  • Veritabanı bağlantı havuzu
  • Feature engineering ve EDA(Exploratory Data Analysis)
  • ML modellerin belirlenmesi, parametre güncellemeleri ve karşılatırma

2020-03-14

ML modellemesi ile güneş enerjisi üretim tahmini oluşturmak

Önceki paylaşımlarımın birinde veri analizi,görselleştirme ve temizlenmesi konularına değindim, şimdiki blog paylaşımımda ise biraz ileriye giderek EDA (Explotary Data Analysis) ve ML (tr. Makine Öğrenimi) model kurulumuna başvuracağım.
Bu aşamalara gelmeden önce kullanılacak olan veriyi ve çözüm bulmayı hedeflediğimiz soruna bakalım. Vakamızda iki veriseti kullanıldı, ilki yıllara göre rüzgar ve güneş enerji üretim değerlerini ve benzer bilgiler, diğeri ise hava tahminlerini ve geçmişlerini yansıtmaktadır. Amacımız, hava durumu tahminlerini dikkate alarak güneş enerji tüketimi ve akabinde üretimini öngörmektir.

2020-03-03

Some useful py notes

import random

blogpost=random.some_py_notes ;)

Several useful py notes will be shared in this post: generators & pickle.

2020-02-29

Python Postgres Connection Pool

Python aracılığı ile PostgreSQL`den veri alma ve ver yükleme işlemleri için oluşturduğum connection pool scriptlerini inceleyebilirsiniz. Kütüphane olarak psycopg2`yi kullandım. Github repomdan aşağıdaki bilgilere ulaşabilirsiniz: https://github.com/baylarov/pyPostgres

2020-02-28

EDA ile suç oranları analizi

Veri dünyasına giriş yapanların öğrenmesi gereken konuların arasında yer almaktadır veri işleme ve görselleştirme adımları. Bu aşamada yapılması gereken detaylı adımlar bulunmaktadır, fakat bu paylaşımımda genel bilgileri ileterek sizleri bilgilendireceğim.
Veri işleme aşaması SQL sorgu dilinde de yapılabilir, ama çoğu adımda yetersiz olduğu için Python gibi geniş veri işleme kütüphanelerine sahip programlama dili tercih nedenidir. R istatistik programlama dilini bu işlemler için alternatif olarak düşünebiliriz.
Kullanacağım veri seti Chicago Polis Departmanının 2016-2017 seneleri aralığında paylaşmış olduğu kayıtları içeriyor. Veri setimizde işlenen suç vakalarına ait rapor kodu, zaman, coğrafi bilgiler, tür gibi bilgiler mevcuttur.