Ay: Ağustos 2020

Psycopg2’de Çalışma kalitenizi Arttıracak küçük bir ekleme

Bildiğiniz gibi Psycopg2 fetch fonksiyonlarında değerleri tuple olarak döndürmektedir. Yani herhangi bir sütun (column) bilgisi içermeyen öyle yan yana değerler olarak döndürmektedir. Ancak bildiğiniz gibi NamedTuple’ kullanarak daha okunması ve maintain edilmesi kolay bir yapıya geçmişti Python. Aynı şekilde Psycopg2’de NamedTuple’ı kullanmaktadır. Örnek olarak:

from psycopg2.extras import NamedTupleCursor
import psycopg2
conn = psycopg2.connect()
cur = conn.cursor(cursor_factory=NamedTupleCursor)
cur.execute("Fancy SQL Quary")
data=cur.fetchall()

Artık sütun (column) isimleri ile işlemlerinizi yapabilirsiniz. Kullanılmasını tavsiye ediyorum.

Pardus’u VirtualBox’da 1920×1080 ekran çözünürlüğünde çalıştırmak

Öncelikle cvt ile 1920×1080 60hz’in parametrelerini alıyoruz.

cvt 1920 1080 60 

Ardından modeline’ı xrandr’a new mode olarak ekleyeceğiz.

xrandr --newmode "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync

Sonrasında yeni modumuzda istediğimiz ekrana yani Virtualbox’da göstermek için xrandr ile ekranımızın ismini öğreniyoruz.

xrandr

İsminin Virtual1 olduğunu görüyoruz ve eklediğimiz 1920×1080 çözünürlüğünü Virtual1’e ekliyoruz.

xrandr --addmode Virtual1 1920x1080_60.00

Son olarak eklediğimiz moda geçerek işlemimizi sonlandırıyoruz.

xrandr --output Virtual1 --mode 1920x1080_60.00

Aynı şekilde diğer çözünürlükleri de kolayca ekleyebilirsiniz. Toplu halde görmek için:

cvt 1920 1080 60
xrandr --newmode "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
xrandr --addmode Virtual1 1920x1080_60.00
xrandr --output Virtual1 --mode 1920x1080_60.00

PyCaret ile Kolay Machine Learning

Medium’da şu yazı önerildi ve gerçekten iyi bir kütüphane ile tanışmış oldum: https://towardsdatascience.com/pycaret-better-machine-learning-with-python-58b202806d1e

Yazı bahsedilenden çok daha fazlası olan PyCaret’ı anlatmaya başlayalım.

PyCaret temelde çeşitli python makine öğrenmesi kütüphanelerini kolayca kullanmamıza olanak sağlamak için geliştirilmiş bir kütüphane. Kütüphanelerle ortak da çalışabiliyor ve kendi başına oldukça başarılı çalışabilmekte.

Örnek olarak veriyi Pycaret’ın kullanabileceği hale getirmek için:

data_1=setup(data=data,target="Type")

Direkt olarak targetımızı belirtebiliyoruz. Ardından train test split işlemini gerçekleştirmek için setup’a train_size eklememiz gerekli.

data_1=setup(data=data,target="Type",train_size = 0.8)

Ardından direkt olarak classification araçlarımızı verimiz üzerinde kullanabiliriz:

best_model=compare_models()
result of compare_models

Gördüğünüz gibi RapidMiner gibi programlardan alışık olduğumuz bir çıktı ile karşılaşmaktayız ancak model de Python kernelimizin içinde.

Sonuçları görmemiz için çeşitli plotlar ve fonksiyonlar mevcut. Örnek olarak confusion matrix’i şu şekilde ortaya çıkarabiliriz:

plot_model(best_model,"confusion_matrix")
confusion matrix

Görüldüğü üzere görüntüsü oldukça hoş bir confusion matrix üretiliyor. Aynı şekilde Roc Curve, Precision- Recall gibi plotlar da çizdirilebilmekte.

Preprocessing (Setup) aşamasına geri dönecek olursak normalization yapmak için:

data_2=setup(data=data,target="Type",train_size = 0.8,normalize=True)

Aynı şekilde normalization metoduna değiştirerek sonuçlara etki etmeniz de mümkündür. Varsayılan olarak Z-score’u kullanmaktadır.

İmbalanced veri setleri için oversampling, undersampling gibi işlemler de yapılabilmektedir. Şöyleki:

data_2=setup(data=data,target="Type",train_size = 0.8,fix_imbalance=True)

Belirtilen şekilde SMOTE metodu ile Oversampling yapılmaktadır. Başka metodlar kullanmak için:

import imblearn
data_2=setup(data=data,target="Type",train_size = 0.8,fix_imbalance=True,fix_imbalance_method=imblearn.over_sampling.BorderlineSMOTE())

imblearn metodları veya fit_resample metodu olan herhangi bir class ile işlemler yapılabilir.

PyCaret gerçekten kullanılabilir bir kütüphane olarak dikkat çekiyor. Hızlı sonuçlar alınabilmesi ve özelleştirilmesi gerçekten öne çıkıyor.

Icoların Değiştirme Potansiyeli

Sonunda ICOlar ile başlangıç sermayesi oluşturulabileceğini söyleyen bir makale yazılmış:

https://dergipark.org.tr/tr/pub/mufider/issue/53353/635743

Evet sermaye birikimimizi arttırmamızın da küçük ve esnek teknoloji startupları yaratmamız da CrowdSourcing ile mümkün olabilir ve ICO’da bunun karşı tarafa da kazandırma potansiyeli olan versiyonudur.

Direkt olarak şirketin hissesi gibi düşünebileceğimiz (aslında düşünemeyeceğimiz) tokenler ile bende 10 BAT var şu kadara almıştım şimdi şu kadar ve şuradan bozdurabiliyorum güvenini sağlar isek gerçekten hareketli bir piyasaya sahip olabiliriz.

Kripto para borsası ve uluslararası kripto paralarla bir bağlantısı olması gerekmeyen belirtilen sistemler ülkemiz içinde yerel bir sistem üzerinde çalıştırılabilir. Hukuki altyapısının da hazırlanması ile farklı bir Girişim Ekosistemi ile karşılaşabiliriz.

Tabi söylediklerimin hiçbiri gerçekleşmeyebilir ve belki de hiç bir anlam ifade etmeyebilir, belki de zararlı bile çıkabilir bunu bilemeyiz. Bu sebepler nedeni ile yatırım tavsiyesi değildir.