Python ile Makine Öğrenimi

Python ile Makine Öğrenimi
Python ile Makine Öğrenimi
0

Makine öğrenimi (Machine Learning), yapay zekanın bir alt dalı olarak, bilgisayarların açıkça programlanmadan öğrenmesini sağlayan algoritmaların geliştirilmesi ve uygulanmasıdır. Günümüzde, veri analizinden, tahmin modellemesine, görüntü tanımadan doğal dil işlemeye kadar birçok alanda kullanılan makine öğrenimi, Python programlama dili ile kolayca hayata geçirilebiliyor. Bu yazıda, makine öğrenimine yeni başlayanlar için Python ile Makine Öğrenimini nasıl sağlayacağımızı, kütüphane kullanımlarının nasıl yapıldığını ele alacağız.

Python’ın zengin kütüphane ekosistemi, makine öğrenimi projelerini kolaylaştırmak için adeta bir hazine niteliğindedir. Python ile makine öğrenimini kullanabileceğiniz kütüphaneler şunlardır:

  • NumPy: Sayısal hesaplamalar içindir.
  • Pandas: Veri işleme ve analiz için kullanılır.
  • Matplotlib ve Seaborn: Veri görselleştirme için kullanılır.
  • Scikit-learn: Makine öğrenimi algoritmaları ve araçları için kullanılır.

NumPy

NumPy (Numerical Python), bilimsel hesaplamalar için temel bir kütüphanedir. Özellikle çok boyutlu diziler (array) ve matrisler üzerinde hızlı ve etkili işlemler yapmayı sağlar. Makine öğrenimi algoritmaları genellikle bu diziler üzerinde çalıştığı için NumPy burada çok mühimdir.

Numpy kütüphanesinin örnek kullanımı için, diziler üzerinde işlem yaptığımız kodu inceleyelim:

  • np.array(): Dizi veya liste olarak tanımlamış olduğumuz datasetlerini numpy dizisine çevirmek için kullanılır. Bir nevi çevirici fonksiyon olarak düşünebiliriz.
  • shape: Oluşturulan numpy dizisinin boyutunu verir.
  • np.sum() ve np.mean(): Diziler üzerinde toplama ve ortalama hesaplar.

 

Kod Çıktısı:


Pandas

Pandas, veri analizi için kullanılan bir kütüphanedir. Özellikle tablo verileri (DataFrame) üzerinde çalışmak için idealdir. Elinizde bulunan veri setleri üzerinde işlemleri kolayca yapabilirsiniz.

  • pd.DataFrame(data): bu sözlüğü bir pandas DataFrame’ine dönüştürür. DataFrame, bir tablo gibi düşünülebilir; satırlar ve sütunlardan oluşur.
  • df["sütun_adi"] ifadesi, belirli bir sütunu seçmek için kullanılır.
  • Yeni bir sütun eklemek için df["yeni_sütun"] = değerler şeklinde bir atama yapılır.

 

Kod Çıktısı:


Matplotlib

Matplotlib, verileri görselleştirmek için kullanılan bir kütüphanedir. Grafikler, çizgiler, çubuklar ve daha fazlasını oluşturabilirsiniz.

  • plt.plot(): Çizgi grafiği oluşturur.
  • plt.title()plt.xlabel()plt.ylabel(): Grafiğe başlık ve eksen etiketleri ekler.
  • plt.grid(): Izgara çizgilerini gösterir.

 

Kod Çıktısı:

Python ile Makine Öğrenimi


Seaborn

Seaborn, Matplotlib üzerine inşa edilmiş ve istatistiksel veri görselleştirme için kullanılan bir kütüphanedir.

Seaborn kütüphanesinin içerisinde bulunan örnek dataseti üzerinde bir işlem yapalım.

  • sns.barplot(): fonksiyonu, Seaborn kütüphanesindeki bir veri görselleştirme aracıdır ve kategorik veriler arasındaki ilişkileri görselleştirmek için kullanılır.
  • sns.load_dataset(): Seaborn’un içinde yer alan hazır veri setlerini kolayca yüklemek için kullanılır.

 

Kod Çıktısı:

Python ile Makine Öğrenimi


Scikit-learn

Scikit-learn, makine öğrenimi modelleri oluşturmak ve eğitmek için kullanılan en popüler kütüphanelerden biridir. Sınıflandırma, regresyon, kümeleme gibi birçok algoritmayı destekler.

  • Grafik, X ile y arasındaki doğrusal ilişkiyi gösterir. “Linear regression, iki değişken arasındaki doğrusal ilişkiyi bulmaya çalışır.”
  • Model, elimizdeki veriye bakarak bu doğruyu tahmin eder.
  • Doğrusal regresyon, özellikle tahmin ve eğilim analizi için çok kullanışlıdır.
  • Sonuç görselleştirmek için; Mavi noktalar → Gerçek veriyi temsil ederken; Kırmızı çizgi → Modelin öğrendiği doğruyu temsil eder.
  • LinearRegression() kullanarak, model X_train ve y_train verilerinden en iyi tahmin eden doğrusal bağıntıyı öğreniyor.
  • Test setindeki X_test değerlerini alıp, modelin bunlar için tahmin ettiği y_pred değerlerini hesaplıyoruz.

 

Kod Çıktısı:

Python ile Makine Öğrenimi

Paylaş
İlginizi Çekebilir

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


The reCAPTCHA verification period has expired. Please reload the page.