Bu yazımızda Yapay Zekanın oldukça pratik bir alanı olan Makine Öğrenmesi -Machine Learning- üzerine basit bir örnek yapacağız.
Python dil özellikleri olarak oldukça kolay olduğundan, başka bir dili iyi bir şekilde bilen birinin zorlanmadan öğrenebileceği niteliktedir. Fakat zannımca dilin genişliği öğrenmedeki pekiştirmeyi geciktiriyor.
Pythonun öğrenmeyle, sadece giriş yapmış oluyorsunuz. Öğrenmeniz gereken devasa kütüphaneler var. Devasa bir kaynakda İnternette var. Malesef türkçe pek yok. Türkçe kaynak azlığından bahsetmişken bahsedeyim
PyData Python konusunda etkinliklerle tanınan Uluslararası bir topluluktur. Dünyanın dör bir yanın da çok güzel organizasyonlar yapmaktalar. PyData - Ankara olarak Ayşe hanımın öncülüğünde önümüzdeki günlerde ilk etkinliği olacak
Introduction to Data Science Using Python and RMuhtemelen türkçe olmasını beklediğimiz :) bu etkinliğe gitmeyi planlıyoruz -inşallah- İlgilenenlerin de katılımını bekliyoruz. Bizden duyurması...
Neyse konumuza dönelim devasa kütüphanelerden bahsediyorduk. Biz bu yazımızda çok yaygın olan bir kaç tanesini kullanacağız.
- Pandas : Verileri Aanlizi kütüphanesi ; okumak yazmak evirmek çevirmek vs...
- Matplotlib : daha çok 2 boyutlu çizim ve grafikler görseleştirmeler için kullanılan bir kütüphane
- Scikit-Learn : Makine Öğrenmesi kütüphanesi
- Numpy : n boyutlu dizi ve matrisleri kullanmak ve üzerinde hesaplamalar yapmanıza yarayacak bir kütüphane
- IPython : Adım adım görerek python programı yazmanıza olanak veren sihir ! ;)
UC Irvine Machine Learning RepositoryBurda ufak bir aramayla "Occupancy Detection" veri setinde karar kılıyoruz.
http://archive.ics.uci.edu/ml/datasets/Occupancy+Detection+
Veriyi Anlamak
Problemi çözmenin ilk adımı veri setini anlamakdan geçer.Verimiz Enerji tasarrufuna yönelik. Binalardaki ısıtma havalandırma ve iklimlendirme için kullanılan enerjinin talebe göre otomatik ayarlanmasıyla tasarruf edilmesi düşünülüyor. Özetle yapılmak istenen ; sensörlerden alınan bilgilerle o kısmın - odanın - kullanılıp kullanılmadığını tespit ederek, kullanılmadığında tassaruf moduna geçilmesi.
Veri setinin sayfasında da konuyla ilgili bağlantılar var. keza ufak bir internet araması ilede
gibi çeşitli başka çalışmalara ulaşabilirsiniz.
Şimdi verinin içeriğine bakalım
- Temperature : Sıcaklık ,
- Relative Humidity : Bağıl Nem, %
- Light : Aydınlık Sevyesi, Lux
- CO2 : Karbondioksit Miktarı, ppm
- Humidity Ratio : Nem Oranı , Sıcaklık ve Bağıl nemden hesaplanıyor
- Occupancy : Ölçümün yapıldığı kısımda birilerinin olup olmaması, 0 kimse yok , 1 var
Veriyi Okumak
Evet kodlamaya geçelim bakalım...IPython NoteBook 'umuzu açıyoruz.
İlk önce lazım olan kütüphaneleri yüklüyoruz.
son satır IPython üzerinde matplotlib çizimlerinin gösterilmesi için
verilerimiz eğitim için datatraining.txt test içinde datatest.txt dosyalrında csv formatında tutuluyor.
pythonda pek çok şekilde okumamız mümkünsede. En rahatı olan pandas ile okuyoruz.
read_csv ile okuyoruz.
columns ile okuduğumuz verinin sutun isimlerini görüyoruz.
describe ile sayısal değerler sahip sutunlar için ortalama, minimum, maksimum vb gibi istatistikler ayrı ayrı hesaplanır ve tablo olara size gösterilir.
head(n) ile verimizin ilk n satırının değerleri tablolarak gösterilir
Verimizin kullanmadığımız sutununu kaldıralım - drop - ve giriş çıkış değerlerini ayıralım.
1) date sutununu siliyoruz.
2) Occupancy sutununu çıkış verisini tutacağımız out_train değişkenine atıyoruz.
3) Occupancy sutununu data_train den siliyoruz.
ve son aşama Makine Öğrenmesi algoritmalarında veriler genellikle Numpy ndarray formatında istenir. Bu yüzden verilerimizi values ile numpy ndarray formatına çeviriyoruz.
Evet artık makina öğrenmesi kısmına geçebiliriz elbette test için kullanacağımız verilerede aynı işlemleri uyguladıktan sonra
Yazı baya uzamış burda keselim.
Devamı bir sonraki yazımıza....
Hiç yorum yok:
Yorum Gönder