Python İle Makine Öğrenmesi |
Bölüm 0
Yeni yazı serimizde adım adım Python ile makine öğrenmesi algoritmalarına göz atıp, bununla ilgili örnek uygulamalar geliştireceğiz. Makine öğrenmesinin temelini anlayıp, algoritmaların işleyişi hakkında bilgi sahibi olmaya çalışacağız. Bu bölümde ise konumuza kısa bir giriş yapacağız.
21.03.2022 tarihli yazı 5522 kez okunmuştur.
Python ile makine öğrenmesine giriş yapmadan önce biraz makine öğrenmesi kavramından bahsedelim. Makine öğrenmesi son zamanlarda ilgisini üstüne çeken ve çok popüler olan bir konudur. Böyle bir durumdan dolayı makine öğrenmesi hakkında yanlış bilgiler çoğalmaktadır. Örneğin konuya giriş yapan çoğu kişinin makine öğrenmesi denildiğinde zihninde robotlar veya makineler canlanıyor olabilir. Fakat bu sadece bilim kurgudan ibarettir. Oysaki makine öğrenmesi belli bir süredir var olan kendini sürekli yenileyen bir konudur. 1950’lerde yapay zeka kavramının ortaya çıkmasıyla başlayan süreç üretilen algoritmalarla önce makine öğrenmesi alanı ve son zamanlarda da kendinden sıklıkla bahseden derin öğrenme alanıyla devam ediyor. Eğer bu kavramlarının detaylı tarihçesini ve kullanım alanlarını merak ediyorsanız, yapay zeka ve derin öğrenme kavramlarını incelediğimiz diğer yazılarımızı okumanızı tavsiye ediyoruz.
Şekil 1: Yapay Zekanın, Makine Öğreniminin ve Derin Öğrenmenin Tarihçesi
►İlginizi Çekebilir: Yapay Zeka, Makine Öğrenimi ve Derin Öğrenme Arasındaki Farklar
Makine öğrenmesi kavramına gelirsek, insanların öğrenme şeklini taklit etmek için veri ve algoritmaların kullanımına odaklanan bir yapay zeka olarak tanımlayabiliriz.
Makine Öğrenmesine Genel Bakış
Makine öğrenmesi aslında veriler üzerinden çalışan bir alandır. Bu veriler probleme göre çok yüksek veri sayılarına ulaşabilir. Bu verileri anlamaya ve yorumlamaya çalışır. Bu amaçla veriler ile çalışan bir çok alan vardır. Veri bilimi, veri madenciliği, veri analizi gibi… Makine öğrenmesi ile bir değeri tahmin edebilir (Regresyon), farklı ve alışılmadık veriyi bulabilir (Anomali Tespiti), veri noktaları arasındaki örüntüyü keşfedebilir (Kümeleme) ve verileri kategorilerine göre tahmin edebiliriz (Sınıflandırma).
Regresyon, anomali tespiti, kümeleme ve sınıflandırma problemlerini makine öğrenmesinin çalışma alanları olarak tanımlayabiliriz. Bu problemleri çözebilmek için makine verilerden öğrenir. Makine Öğrenimi, doğruluğunu kademeli olarak arttıran bir yapıya sahiptir. Öğrenme işlevi, çeşitli öğrenme yöntemleri ile matematiksel algoritmalar sayesinde gerçekleşir. Birçok öğrenme yöntemi vardır. Bu öğrenme yöntemlerini incelediğim yazıya yukarıdaki ilginizi çekebilir kısmından ulaşabilirsiniz.
Makine öğrenmesi uygulamalarına başlamadan önce kullanacağımız ortamdan bahsedelim. Makine öğrenmesi için Python yazılım dilini kullanacağız fakat veri bilimi için kullanılan R Programlama dilinden de bahsetmek istiyorum. R Programlama dili, veriler üzerinde çalışılan, veri analizi, veriyi temizleme, veriyi görselleştirmek, istatistiksel hesaplama amacıyla kullanılan bir programlama dilidir. R dili dünya çapında birçok şirket tarafından kullanılmaktadır. Finans alanından, üretim, sağlık, banka ve pazarlama alanına kadar birçok alanda kullanılmaktadır. Twitter, Facebook, Amazon, Mozilla, Microsoft gibi şirketler problemlere çözüm sunabilmek için R dilini de kullanıyorlar.
Makine öğrenmesi uygulamalarına başlamadan önce kullanacağımız ortamdan bahsedelim. Makine öğrenmesi için Python yazılım dilini kullanacağız fakat veri bilimi için kullanılan R Programlama dilinden de bahsetmek istiyorum. R Programlama dili, veriler üzerinde çalışılan, veri analizi, veriyi temizleme, veriyi görselleştirmek, istatistiksel hesaplama amacıyla kullanılan bir programlama dilidir. R dili dünya çapında birçok şirket tarafından kullanılmaktadır. Finans alanından, üretim, sağlık, banka ve pazarlama alanına kadar birçok alanda kullanılmaktadır. Twitter, Facebook, Amazon, Mozilla, Microsoft gibi şirketler problemlere çözüm sunabilmek için R dilini de kullanıyorlar.
R aslında Python’dan farklı olarak sadece karmaşık matematiksel hesaplamaları ve testleri kullanmayı amaçlar. Python ise yapay zeka alanında birçok alt disiplinde kullanılan bir programlama dilidir. Python dilini kullanacağımızdan diğer yazılarımıza devam edebilmek için temel Python bilgisine sahip olmak gerekmektedir. Python makine öğrenmesi için oldukça fazla kütüphaneye sahiptir. Kullanacağımız Python kütüphaneleri şunlardır:
►Numpy
►Pandas
►Matplotlib
►Scikit-Learn
►Keras
►Numpy
►Pandas
►Matplotlib
►Scikit-Learn
►Keras
Şekil 3: Python ile Makine Öğrenmesi için Kullanılan Kütüphaneler
► Numpy: Çok boyutlu veriler ve karmaşık matematiksel fonksiyonlar ile çalışan bir Python kütüphanesidir. Diziler (array) üzerinde çalışarak karmaşık fonksiyonlar ile yüksek hızla hesaplama olanağı sunar. Matematik ve mantıksal işlemleri, matris işleme, ayrık fourier dönüşümü, basit lineer cebir, istatiksel işlemler, rastgele simülasyon, n-boyutlu diziler gibi önemli çözümler sunar. Numpy, nesne tabanlı programlama yaklaşımını kullanan ve yüksek topluluğa sahip olan bir kütüphanedir.
► Pandas: Veri işleme ve analizi olarak sıklıkla kullanılan bir python kütüphanesidir. Öğrenme aşamasından önce veri kümesini düzenlemek, anlamlı hale getirmek yani veriyi işlemek için kullanılır. Makine öğrenmesi için zaman serilerini ve yapılandırılmış çok boyutlu veri türlerine çözüm getiren pandas çok önemli bir kütüphanedir. Veri kümelerini düzenleme, yeniden şekillendirme, tablolandırma, kayıp verileri düzenleme ve atama, indeks tabanlı sıralama, data filtreleme özelliklerine sahiptir.
► Matplotlib: Veri görselleştirme, verinin grafiksel çizimi amacıyla, numpy ile birlikte kullanılan python kütüphanesidir. MATLAB‘ın python alternatifi olarak düşünebiliriz. GUI uygulamalarına tablolar, çizimler gömmek için de kullanılır. Pyplot uzantısı ile MATLAB tarzı bir durum arayüzü sunar. Matplotlib ve pyplot birlikte kullanılarak verilerin görselleştirmesini bir arayüz ile tamamlarlar.
► Scikit-Learn: İçerisinde birçok algoritma bulunduran geniş çaplı bir makine öğrenmesi kütüphanesidir. Numpy ve pandas gibi kütüphaneler ile birlikte çalışır. Sınıflandırma, regresyon, kümeleme, boyut indirgeme, model seçimi ve önişleme gibi birçok algoritmalara sahiptir. Scikit-Learn, veri yükleme, işleme ve görüntülemeden ziyade veri modellemesi üzerine odaklanır.
► Keras: En çok kullanılan sinir ağları kütüphanesidir. Tensorflow içerisinde de yer alan bu kütüphane Sinir katmanları, aktivasyon ve kayıp fonksiyonları, normalizasyon, havuzlama, gibi derin öğrenme işlemlerini gerçekleştirir.
İlerideki yazılarımızda yapacağımız ilk şey basit bir veri kümesi ile makine öğrenmesi algoritmaları araçlığıyla bir tahmin süreci oluşturmaktır. Tabi bunu yapabilmek için algoritmalar hakkında bilgi sahibi olmak ve çekeceğimiz veri kümesinin uygun ve temiz olması gerekmektedir. Birinci bölümümüzde veriler hakkında bilgi alınacak ve sonrasında Python’a giriş yapacağız.
Kaynak:
► towardsdatascience.com
► freecodecamp.org
► tutorialspoint.com
► researchgate.net
► turkiye.ai
YORUMLAR
Aktif etkinlik bulunmamaktadır.
- Dünyanın En Görkemli 10 Güneş Tarlası
- Dünyanın En Büyük 10 Makinesi
- 2020’nin En İyi 10 Kişisel Robotu
- Programlamaya Erken Yaşta Başlayan 7 Ünlü Bilgisayar Programcısı
- Üretimin Geleceğinde Etkili Olacak 10 Beceri
- Olağan Üstü Tasarıma Sahip 5 Köprü
- Dünyanın En İyi Bilim ve Teknoloji Müzeleri
- En İyi 5 Tıbbi Robot
- Dünyanın En Zengin 10 Mühendisi
- Üretim için 6 Fabrikasyon İşlemi
- Nasıl Dönüşür I Elektrik 4.0
- Nasıl Dönüşür I Fosil Yakıt
- Nasıl Dönüşür I Kompost
- Sigma DIN Rayı Çözümleri: Ürün Portföyü, Teknik Özellikler ve Kullanım Alanları
- Denizcilik Endüstri Uygulamaları ve Servis Bakım Süreçleri
- DrivePro Yaşam Döngüsü Hizmetleri
- Batarya Testinin Temelleri
- Enerji Yönetiminde Ölçümün Rolü: Verimliliğe Giden Yol
- HVAC Sistemlerinde Kullanılan EC Fan, Sürücü ve EC+ Fan Teknolojisi
- Su İşleme, Dağıtım ve Atık Su Yönetim Tesislerinde Sürücü Kullanımı
ANKET