Mar 022017
 
1.035 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

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

Ahmet Aksoy

Links:

Kas 172016
 
1.901 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