Kas 282017
 
9.811 views

Abaküs Kitap Yayın Dağıtım Hizmetleri tarafından yayınlanan Yeni Başlayanlar İçin Python kitabım üç yıldan kısa bir süre içinde 7. baskısını yapıyor. İlginiz için sizlere ve Abaküskitap Yayınevi’ne içtenlikle teşekkür ediyorum.

Yeni Başlayanlar İçin PYTHON

Kitabımızın yeni baskısını şu an itibariyle en güncel sürüm olan Python 3.6.5’e göre yeniden düzenledik. Örneklerin hepsini tekrar elden geçirdik ve gereken uyarlamaları yaptık.

Python 3.6.5 sürümüne göre yeniden düzenlediğimiz kaynak kodlarını https://python.gurmezin.com/pythonkod/ybip05 adresinden indirebilirsiniz.

Kitabın ilk sürümüne ait kaynak kodlar: https://python.gurmezin.com/pythonkod/ybip adresinde yer alıyor.

Kitabımla veya genel olarak Python dili ile ilgili her türlü soru, öneri ve eleştirilerinizi aşağıdaki yorum bölümünden bana iletebilirsiniz.

Kitaplarım ve genel olarak Python ile ilgili yazılarımı bundan sonra python.gurmezin.com adresinde yayınlayacağım.

Hepinize kolaylıklar ve başarılar diliyorum.

Ahmet Aksoy – Kasım 2017

Eki 132017
 
8.819 views

Python 3.6.3 Kurulumu

Python 3.6.3 sürümü 3 Ekim 2017 tarihinde yayınlandı.

Windows veya MacOS kullanıcısı iseniz https://www.python.org/downloads adresinden gerekli dosyayı indirin ve indirdiğiniz dosyayı çift tıklayın. Kurulum hemen gerçekleşecektir.

Python 3.6.3

Eğer bir Ubuntu kullanıcısı iseniz, aynı sayfadan kaynak kodlarını indirip kolayca derleyebilirsiniz.

1- Python-3.6.3.tar.xz dosyasını bilgisayarınıza indirin.
2. tar xzf Python-3.6.3.tar.gz komutuyla zip dosyasını açın.
3. Kaynak kod klasörünü ~/ dizinine kopyalayın.
4. cd ~/Python-3.6.3
5. ./configure
6. sudo make altinstall
7. python3.6 -V

Aldığınız yanıt “Python 3.6.3” olmalıdır.

python ve python3 linkleri aynen eskisi gibi geçerlidir.

Yeni sürüme python3.6 komutuyla ulaşın.

Ahmet Aksoy

Ağu 012017
 
8.671 views

30 Temmuz 2017’de Bolu’daydım. Önceki yıllarda olduğu gibi bu yıl da Linux Yaz Kampı Bolu Abant İzzet Baysal Üniversitesi yerleşkesinde yapılıyor. 21 Temmuzda başlayan kamp, 5 Ağustos tarihinde sona erecek. Kamp bünyesinde bu yıl 68 eğitimci ve 600 öğrenci yer alıyor. Derslikler 24 kişilik. Bu yılın eğitimlerinde uygulamaya öncelik verilmiş durumda.

İlk Linux Yaz Kampı 2010 yılında, Işık Üniversitesi Şile Yerleşkesinde yapıldı.

2011 yılındaki Linux Yaz Kampına ise Düzce Üniversitesi ev sahipliği yaptı.

2012 yılı ve sonrasındaki kamplar ise Bolu Abant İzzet Baysal Üniversitesinde düzenlenmektedir.

Kampların düzenlenmesine LKD (Linux Kullanıcıları Derneği) ve İNETD (İnternet Teknolojileri Derneği) öncülük etmektedir.

Bugüne değin yaklaşık 2000 öğrenci bu kamplarda çeşitli eğitimler almıştır.

Kurslar tamamen ücretsizdir. Katılımcılar sadece yol, konaklama ve yemek masraflarını karşılamaktadır. Bu konuda da olası en uygun koşulların sağlanmasına özen gösterilmektedir.

Eğitimciler tamamiyle gönüllülük esasına göre çalışmakta; onların yol ve konaklama giderleri kamp organizasyonu tarafından karşılanmaktadır.

Sabah 9.30’da başlayan dersler, üçer saatlik üç bölüm olarak gün içine yayılmıştır ve 21.30’da sonlanmaktadır. 12 saatlik bu zaman diliminin 9 saatlik bölümü derslerle doldurulmuş, araya dinlenme aralıkları serpiştirilmiştir.

Eğitmenler olağanüstü bir özveriyle çalışmaktadır.

Ben buraya misafir eğitimci olarak, bir günlüğüne geldim. Nisan ayında geçirdiğim ameliyatın nekahat dönemi hala tamamlanamadığı için daha fazlasını göze alamazdım. İyi ki öyle yapmışım, çünkü enerjim 3. ders bölümü için yetmedi. Konuları zaten ilk iki bölümde tamamladığımdan, 3. bölüm için düşündüğüm Python ile eğlenceli örnek ve uygulamalardan vazgeçebildim.

Derslerde işlediğim konular “Web ve Flask’a Giriş” olarak özetlenebilir. Sunum ve kod dosyalarını LINUXYAZKAMPI2017 adresinden indirebilirsiniz.

Linux Yaz Kampı yöneticilerini, destekleyen kuruluşları, eğitimcileri ve katılımcıları yürekten kutluyor, başarılarının devamını diliyorum.

Umuyorum ki bu tür gönüllü çalışmalar daha da yaygınlaşır ve gençlerimize katkıda bulunmaya devam eder.

Ahmet Aksoy

Mar 112017
 
5.476 views

Zemberek kütüphanesindeki bir kök sorunu

Zemberek kütüphanesindeki bir kök sorunuBir kaç gün önce zemberek kütüphanesiyle köklerini belirlemeye çalıştığım sözcüklerden birinin yanlış çözümlendiğini farkettim. Fiil olması gereken bir kök, İsim olarak tanımlanmıştı. Benzer sözcüklerin durumuna bakınca, bunun sistematik bir sorun olduğunu farkettim.

Zemberek kütüphanesini geliştiren arkadaşlar bu projeyi daha fazla sürdürmeme kararı aldıkları için sözkonusu hatayı gidermek – bu konuda bir gönüllü çıkmazsa- pek mümkün gibi görünmüyor. Yine de, bu kütüphaneyi kullanmakta olan arkadaşları uyarmış olayım.

Sorun, “edebil” ile başlayan sözcüklerle ilgili. Üstelik hepsi sorun yaratmıyor. Sorunlu olarak gördüğüm sözcüklerden bazılarını aşağıda listeledim. Bu sözcüklerinin hepsinin asıl kökü et ve tipleri fiil.

Sorunun, kodlamadaki küçük bir problemden kaynaklandığını sanıyorum.
Kullandığım kütüphane: zemberek-tum-2.0.jar
Çağrıları jpype aracılığıyla yaptım.

Zemberek-tum-2.0.jar dosyasını kullanan arkadaşların bu ayrıntıya dikkat etmelerini öneriyorum. Bu kütüphaneyi Python 3 üzerinde çalıştırmak isteyenler http://gurmezin.com/python-ile-zemberek-kutuphanesini-kullanmak/ adresindeki yazıma göz atabilirler.

Sorunlu çözümlenen sözcükler (Hepsi için kök=et, tip =FIIL olmalı)
edebiliyoruz,edebi,ISIM
edebiliyorumdur,edebi,ISIM
edebiliyorum,edebi,ISIM
edebiliyorsunuzdur,edebi,ISIM
edebiliyorsunuz,edebi,ISIM
edebiliyorsundur,edebi,ISIM
edebiliyorsun,edebi,ISIM
edebiliyorsanız,edebi,ISIM
edebiliyorsan,edebi,ISIM
edebiliyorsam,edebi,ISIM
edebiliyorsak,edebi,ISIM
edebiliyorsa,edebi,ISIM
edebiliyormuşuz,edebi,ISIM
edebiliyormuşum,edebi,ISIM
edebiliyormuşsun,edebi,ISIM
edebiliyormuş,edebi,ISIM
edebiliyorlarsa,edebi,ISIM
edebiliyorlarmış,edebi,ISIM
edebiliyorlardı,edebi,ISIM
edebiliyorlar,edebi,ISIM
edebiliyorken,edebi,ISIM
edebiliyordur,edebi,ISIM
edebiliyordunuz,edebi,ISIM
edebiliyordun,edebi,ISIM
edebiliyordum,edebi,ISIM
edebiliyordular,edebi,ISIM
edebiliyorduk,edebi,ISIM
edebiliyordu,edebi,ISIM
edebiliyor,edebi,ISIM

edebilince,edebi,ISIM

edebilen,edebi,ISIM
edebilemezsiniz,edebi,ISIM
edebilemez,edebi,ISIM
edebilemeyiz,edebi,ISIM
edebilemeyeceğimin,edebi,ISIM
edebilemenin,edebi,ISIM
edebilemem,edebi,ISIM
edebilemek,edebi,ISIM
edebileme,edebi,ISIM

Oysa aşağıdaki örneklerde ve benzer diğer yüzlerce örnekte herhangi bir sorun bulunmuyor:
edebilelim,et,FIIL
edebileceğiz,et,FIIL
edebileceğiyle,et,FIIL
edebileceğiydi,et,FIIL
edebileceğinizin,et,FIIL
edebileceğinizi,et,FIIL
edebileceğinize,et,FIIL
edebileceğinizdir,et,FIIL
edebileceğinizden,et,FIIL
edebileceğiniz,et,FIIL
edebileceğinin,et,FIIL
edebileceğini,et,FIIL
edebileceğine,et,FIIL
edebileceğinden,et,FIIL
edebileceğinde,et,FIIL
edebileceğin,et,FIIL
edebileceğimizin,et,FIIL
edebileceğimizi,et,FIIL
edebileceğimize,et,FIIL
edebileceğimizdir,et,FIIL
edebileceğimizdi,et,FIIL
edebileceğimizden,et,FIIL
edebileceğimizde,et,FIIL
edebileceğimiz,et,FIIL


Ahmet Aksoy

Linkler:
http://gurmezin.com/python-ile-zemberek-kutuphanesini-kullanmak/

Mar 022017
 
5.989 views

Karar ağacı görselleştirilmesi örnek kodlar

Bu yazımda ele alacağım örnek kodların orijinali Josh Gordon’a aittir. Bu kodlar Python2 için düzenlenmiştir. Ben ise aynı kodların Python 3.5.2 altında çalışabilmesi için gereken düzeltmeleri yaptım. Özellikle pydot kütüphanesi yerine pydotplus kütüphanesinin yüklenmesi, kodların çalıştırılabilmesi açısından önemlidir.

Kullandığımız veritabanı, sklearn kütüphanesiyle birlikte gelmektedir ve sadece 150 kayda sahiptir. Dolayısıyla zayıf konfigürasyonlu makinelerde bile sonuçlar çok kısa sürede alınabilmektedir.

Kodları çalıştırdığım sistem ve gereken kütüphanelerin sürüm numaralarını herhangi bir olumsuzluk olasılığına karşı not ettim:
Ubuntu 16.04
Intel i5 4 çekirdek – 8GB bellek
Python 3.5.2
sklearn 0.18.1
numpy 1.12.0
pydotplus 2.0.2

VERİ TABLOSUNUN GENEL AÇIKLAMASI

Veritabanı İris çiçeği‘nin bilinen üç ayrı türüne ait çeşitli yaprak boyutlarını içermektedir.

Karar ağacı görselleştirilmesi

Iris sotosa Credits: en.wikipedia.org

Bu verisetinin ayrıntılarını https://en.wikipedia.org/wiki/Iris_flower_data_set adresinden inceleyebilirsiniz.

İngilizce bilmeyen okuyucularımız için kısa bir özet yapayım.
İris çiçeğinin setosa, versicolor ve virginica adları verilen 3 ayrı türü bulunmaktadır. Bu türlere ait farklı çiçeklerin çanak yaprak (sepal) ve taç yaprak (petal) ölçüleri en ve boy olarak saptanmıştır. Tablo yapısı şöyledir:

Sepal length Sepal width Petal length Petal width Species
Çanak yap. boy Çanak yap. en Taç yap. boy Taç yap. en Tür
5.1 3.5 1.4 0.2 I. setosa

Ölçüler, santimetre cinsinden verilmiştir. Tabloda 150 kayıt bulunmaktadır.

Aşağıdaki kodların karar ağacı grafik dosyalarını üretebilmesi için sisteminize graphviz uygulamasını yüklemiş olmanız gerekir. Kurulumu aşağıdaki gibi kolayca yapabilirsiniz.

KODLAR

[gist https://gist.github.com/ahmetax/16c62e1d10d66025ce99839051cc3045]

Sorularınızı yorum alanından bana iletebilirsiniz.

Ahmet Aksoy

Links:

Şub 202017
 
6.630 views

TensorFlow örneği ve küçük bir düzeltme

Bir önceki yazımda TensorFlow örneklerinin yer aldığı bir linkten bahsetmiş ve bazı kodlarda küçük düzeltmeler yapılması gerekebileceğinden bahsetmiştim.

Bu durum, hem yazılım dillerinde, hem de kütüphanelerde çok sık geliştirmelerle karşılaşmamızdan kaynaklanıyor.

TensorFlow örneği ve küçük bir düzeltme

Alıntı: tensorflow.org

Aşağıda, sözünü ettiğim kodlardan birini vereceğim. Yaklaşık 90 satırlık bu python kodunda sadece bir metodun adını değiştirmek gerekiyor. Benim yaşadığım sorunu, benimle benzer ortamlarda çalışan pek çok kişi aynen yaşayacaktır. Bu tür sorunları gidermek, en azından azaltmak için kod yazarlarının paylaştıkları açık kaynaklı kodları hangi koşullarda çalıştırdıklarını not etmelerinde yarar var. Bunun çok kolay olmadığını bir kod yazarı olarak ben de biliyorum. Bu nedenle, test ettiğim aşağıdaki kodu hangi ortamda çalıştırdığımı ve nasıl düzelttiğimi sizlerle de paylaşmak istiyorum.

Orijinal kodun yazarı ve nerede paylaşıldığını kodların başlangıç bölümünde bulabilirsiniz.

Test bilgisayarı: 8GB ram, 4 çekirdek, Intel i5
Test sistemi: Ubuntu 16.04
Python sürümü: 3.5.2
TensorFlow sürümü: 1.0.0
numpy sürümü: 1.12.0
matplotlib sürümü: 1.5.3

Kendi sisteminizdeki kütüphane sürümlerini öğrenmek için aşağıdaki kodu kullanın:

Kodlarda düzeltme gereği sadece tek bir satırda (satır no 39) var.

Sorunlu satır no: 39

Düzeltilmiş satır:

Açıklama:

Diğer kodlarla ilgili takıldığınız yerler olursa, yorum alanından sorularınızı bana yöneltebilirsiniz. 15 ayrı örneği yukarıda belirttiğim koşullarda denedim. 12 örneği sorunsuz çalıştırdım. 3 tanesindeki sorunlar hala devam ediyor. Testleri sürdürüyorum.

Ahmet Aksoy

Kaynaklar: