Şub 022017
 
5.106 views

Python ile Mozaik Resimler

Python, her alanda çok güçlü kütüphanelere sahip bir dil. Grafik kütüphaneleri açısından da aynı durum geçerli. Bunların başında is “matplotlib” geliyor.

Bu yazımda, sözünü ettiğim kütüphanenin “scatter” metodunu ele alacağım.

Python ile Mozaik Resimler

Angelina Jolie

Matplotlib kütüphanesi çok geniş ve kapsamlıdır. İstatistik veya derin öğrenme çalışmalarının görselleştirilmesinde yoğun şekilde kullanılır.

Yazıyı fazla uzatmamak için kodların ayrıntılı açıklamasına girmeyeceğim. Satır aralarına bazı ipuçları koydum. Diğer ayrıntıları da ilgili kütüphanelere ait açıklamalardan bulabilirsiniz. Bu kütüphanelerden etkin bir şekilde yararlanabilmek için onları kullanmak gerekir. Farklı parametreleri, farklı değerlerle denemekte yarar var.

Scatter metodundaki “marker” parametresini burada biraz açmak istiyorum:
Bu marker (işaret) grafik üzerindeki işaretleme biçimini tarif eder. İki tür “marker” bulunur.

  • 1- İçi dolu işaretler: ‘8><^vodDHh*ps'
  • 2- İçi boş işaretler: ‘,.1234 _x+’ 01234567

Tırnak içinde grup halinde gösterilen işaretlerin her biri tek olarak seçilip kullanılmalıdır. Örneğin: ‘8’, ‘o’, ‘x’. Boş işaretlerden bazıları da tırnaksız rakamlar halindedir.

Kodları Python 3.5.2 ile test ettim.

Parametrelerle oynayarak çok ilginç sonuçlar elde edebilirsiniz.

Matplotlib, pillow ve numpy kütüphanelerini Ubuntu 16.04 üzerinde aşağıdaki komutlarla kurmanız gerekir:

  • sudo apt install python3-matplotlib
  • sudo apt install python3-pil
  • sudo pip3 install numpy

Ahmet Aksoy

Not: Yukarıdaki kodlar için Christien Diener‘in github pyart sayfasında verdiği kodları temel alıp, biraz basitleştirdim.

Kaynaklar:

Kas 172016
 
6.167 views

Python Gensim Kütüphanesiyle Türkçe Yazı Özetleme

Python beni hala her gün şaşırtmaya devam ediyor. Elini atmadığı, muhteşem çözümler üretmediği neredeyse hiç bir alan yok!

Dün, yeni çalışma alanlarımdan biri olarak belirlediğim “yazı özetleme” konusunda internet araştırmalarına başladım. Bir makalede, gensim kütüphanesi ile yapılan bir çalışma örnekleniyordu: https://rare-technologies.com/text-summarization-with-gensim/

Python Gensim Kütüphanesiyle Türkçe Yazı Özetlem

Rare Technologies

Örnekler İngilizce. Dolayısıyla, Türkçe gibi eklemlemeli bir dil için başarılı sonuçlar elde etme olanağı pek yok! Ama yine de bilgi sahibi olmak için test etmek iyi olacak.

Bu amaçla hemen Hürriyet Gazetesini açtım ve ilk bulduğum haberi seçtim: İstanbul’a kar ne zaman Yağacak?

Kodlar şöyle:

Bunlar da aldığım yanıtlar:

Yanıtlardaki uyarı mesajlarından gördüğünüz gibi şablon kütüphaneleri kurulu olmadığı için sözcük köklerini saptamanın mümkün olamayacağı belirtiliyor. Gerekli filtreler de yok.
(Belki, iyi ki yok! Çünkü o İngilizce filtreler belki de Türkçe ile ilgili sorunlar yaratacaktı.)

Alınan sonuçların başarılı olup olmadığına siz kendiniz karar verin! Ama özellikle ratio=0.25 olan özetlemeye dikkat edin!

Ahmet Aksoy

Kas 092016
 
9.536 views

Golang Öğreniyorum

Yazılım üzerine asıl uzmanlık alanım Python. Hem basit, hem güçlü. Neredeyse bütün alanlarda çok etkili kütüphanelere sahip.

Golang Öğreniyorum

https://golang.org

Buna rağmen, “şeylerin interneti” (Internet of Things) gibi konularda henüz yeterince güçlü değil. Bu boşluğu aşmak üzere “micropython” gibi yeni girişimler var.

Python çalışmalarıma eskisi gibi, hatta daha da yoğunlaşarak devam edeceğim. Ancak bu durum, yeni alanlara da el atmama engel olacak değil!…
Golang, ya da kısaca go bu yeni alanlardan biri.

En etkin öğrenme yöntemlerinden birinin “öğretmek” olduğunu biliyorum. Çünkü bildiğiniz bir şeyi başkalarına aktarmak isterseniz, önce o bilgiyi içselleştirmek zorundasınız. Aksi halde sadece papağan tekrarı yapmış olursunuz ve konuyla ilgili çok basit soruları bile yanıtlayamazsınız.

Buna ilaveten, golang dilinin yakın gelecek açısından büyük bir potansiyel taşıdığını düşünüyorum. Golang bir yandan pythonun kullanım kolaylığını, bir yandan da javanın donanım sistemlerine yakınlığını bünyesine toplamış. Sınıf sistemlerini, “struct” yapılarıyla kolaylaştırmış. C’den pointer mekanizmasını devşirmiş. Aslında derlenen bir dil. Buna rağmen yorumlamalı bir dille çalışır gibi rahatsınız.

İşte bu nedenlerle, ara sıra da olsa go hakkında öğrendiklerimi burada sizlerle de paylaşacağım. Ama ders yapar gibi değil, bilgiyle harmanlanmış bir sohbet yapar gibi…

Eğer yazılım dillerine ilgi duyuyor ve kendinizi daha da geliştirmek istiyorsanız, ara sıra bu sayfalara sizi de beklerim.

Go, 2007 yılında Google bünyesinde geliştirilmeye başlanmış. İlk çıkışı, sistem programlamaya yönelik. 2009 yılı sonunda açık kaynaklı olarak genel kullanıma sunulmuş.

2015’te, mobil uygulamaları çok daha güçlü bir şekilde destekleyen kararlı sürüm go 1.5 yayınlanmış. Dil konusundaki gelişmeler hızını kesmeksizin devam ediyor.

Bu bir giriş yazısı olduğu için sözü fazla uzatmayacağım. Yine de Ubuntu 16.04 üzerine nasıl kurulduğunu tek bir satırla aktarayım:

Hoşçakal mesajımı da go ile vereyim:

Ahmet Aksoy

Golang Öğreniyorum

Kas 012016
 
6.671 views

OpenCV ve Python ile Grafik İşlem Örnekleri

OpenCV kütüphanesi, canlı grafik işlemler için gereken fonksiyonları kullanıma açıyor.

Ana siteden OpenCV2 veya OpenCV3 paketlerini yükleyebilirsiniz.

https://github.com/opencv/opencv adresinde ana sitenin bir çatalı yer alıyor. Tüm kodları ve örnekleri buradan da indirebilirsiniz.

OpenCV kütüphane fonksiyonları CUDA kullanabiliyor. Hemen hemen bütün sistemlerle uyumlu bu kütüphane, “samples” dizinlerine yerleştirilen örneklerle daha kolay anlaşılabilir hale getirilmiş.

“Coherence.py” python kodunu kullanarak elde ettiğim örneklerden biri şöyle:
coherence_01_01-11-2016

gabor_threads.py kodunu çalıştırarak elde ettiğim örneklerden birisi şu:
gabor_threads

Python dizinindeki örnekleri “python3 demo.py” komutuyla açılan menü sisteminden kolaylıkla aktive etmeniz mümkün.

facedetect.py programcığı, canlı bir şekilde insan yüzünü yakalama konusunda öğretici bir örnek.

Nesne tanıma konularıyla ilgileniyorsanız, bu kütüphaneyi mutlaka portföyünüze ekleyin.

Ahmet Aksoy

Referanslar:

Eki 152016
 
3.953 views

Hürriyet Data Örneği Kaggle Datasette

Hürriyet Gazetesi haberlerinden türettiğim veri dosyalarından birini http://www.kaggle.com üzerinde paylaştım.

Bu datasetin nasıl kullanılacağına ait notebook https://www.kaggle.com/ahmetax/d/ahmetax/hury-dataset/tr-training adresinde.

Aynı notebook sayfasının Türkçe açıklamalar içeren çatalı da bu adreste yer alıyor: https://www.kaggle.com/ahmetax/d/ahmetax/hury-dataset/fork-of-tr-training

Bu veri setinin eğitilmiş halinden elde edilen ilişkileri 2-boyutlu bir diyagramda görselleştiren grafik şu:
Hürriyet Data Örneği Kaggle Datasette

Sözcükleri eğitip ilişkilendiren ve sonuçların bir kısmını görselleştiren Python 3.5.2 kodlarını ilgili sayfalardan inceleyebilir, indirebilir veya doğrudan test edebilirsiniz.

Ahmet Aksoy

Ağu 262016
 
4.320 views

Eğitilmiş word2vec datasını nasıl kullanırız?

Eğitilmiş word2vec datasını nasıl kullanırız?

Elbette bu tür çalışmalarımızı Python ile yapıyoruz. Üstelik interaktif denemeler yapıyorsak, iPython kullanmamız daha doğru. iPython son dönemde jupyter ile entegre çalışıyor.

Bu yüzden önce kullanmakta olduğunuz Python sürümünü aktif hale getirin. Ben Python 3.5.1 kullanıyorum ve bunun için tanımladığım evp35 isimli bir sanal ortamım var.

Sanal ortamımı devreye sokuyorum:

Artık “python” komutum doğrudan python 3.5.1 sürümünü devreye sokuyor. Gerekli modülleri de bu sanal ortam üzerinden yükledim.

Aynı şey jupyter için de geçerli. Yüklemek için vereceğiniz komut şöyle:

Çalışmamızda word2vec modülünü kullanacağız. Onu da yükleyelim:

Artık iPython’u jupyter üzerinden devreye sokabiliriz. Bunun için:

komutunu kullanın ve “New” kutucuğundan “python 3” seçin.

Aşağıdaki kodları kullanabilmeniz için eğitilmiş veri kümemizi de indirmeniz gerekiyor.

https://drive.google.com/drive/folders/0B_iRLUok9_qqOFozeHNFMjRHTVk adresinden hnz_2010.bin isimli dosyayı indirin. Eğitilmiş vektörlerimiz bu dosyaya kayıtlıdır.

Hazırlıklarınız tamamsa, aşağıdaki işlemleri siz de kendi bilgisayarınızda uygulayabilir, yeni denemeler yapabilirsiniz.

Deneyimlerinizi benimle paylaşmayı da lütfen unutmayın!

Ahmet Aksoy
Açık Kaynak DerlemTR Proje Yöneticisi

[gist https://gist.github.com/ahmetax/58200ef5014176438aea2ad78624686a]

Takıldığınız yerler olursa, Yorum bölümünden bana ulaşabilirsiniz.