TensorFlow ile Python 3.6 Kullanarak Makine Öğrenmesine Giriş

TesnorFlow Nedir?

TensorFlow, Google tarafından geliştirilen açık kaynaklı bir makine öğrenmesi kütüphanesidir. İlk olarak 2015 yılında piyasaya sürülen bu kütüphane, makine öğrenimi ve derin öğrenme modelleri geliştirmek için geniş bir araç seti sunar. TensorFlow, zorlu hesaplamaların yüksek verimle gerçekleştirilmesi için optimize edilmiştir ve hem CPU hem de GPU üzerinde çalışabilir. Bu, geliştiricilerin büyük veri setleri ve karmaşık modeller ile çalışırken performans kaybı yaşamadan çalışmalarını sağlar.

Python ile entegrasyonu sayesinde, TensorFlow kullanıcıları Python’un sade ve anlaşılır sözdiziminden faydalanarak modellerini daha hızlı ve etkili bir şekilde geliştirebilirler. Python, bilimsel hesaplama ve veri analizi alanında popülerlik kazanmış bir dil olduğundan, TensorFlow bu dili kullanarak makine öğrenimi alanında daha erişilebilir hale gelir. Python 3.6 ise TensorFlow için önerilen bir sürümdür ve pek çok yenilikçi özellik sunmaktadır.

TensorFlow ile ilgili çarpıcı bir özellik, modelleme için grafik tabanlı bir yaklaşım kullanmasıdır. Bu, işlemlerin grafikler üzerinde tanımlanması anlamına gelir. Geliştiriciler bir modelin yapı taşlarını belirleyebilir, bu yapı taşlarının birbirleriyle olan ilişkilerini kurabilir ve bu sayede karmaşık modeller oluşturabilirler. TensorFlow’un bu grafik tabanlı yapısı, optimizasyon ve dağıtım süreçlerini de kolaylaştırır.

Python 3.6 ile TensorFlow Kurulumu

Python 3.6 sürümünü bilgisayarınıza kurmak için öncelikle Python’un resmi web sitesine gitmeniz gerekiyor. Burada, işletim sisteminize uygun yükleyiciyi indirerek kurulum işlemini tamamlayabilirsiniz. Kurulumdan sonra, Komut İstemi veya Terminal’i açarak Python 3.6’nın başarıyla kurulduğunu doğrulamak için ‘python –version’ veya ‘python3 –version’ komutunu giriniz.

TensorFlow’u yüklemek için ‘pip’ paket yöneticisini kullanarak oldukça basit bir işlem gerçekleştirebiliriz. Terminal veya Komut İstemi’nde aşağıdaki komutu çalıştırarak TensorFlow’u yükleyebilirsiniz:

pip install tensorflow==1.15.0

Bu komut, Python 3.6 ile uyumlu olan TensorFlow’un sürüm 1.15.0’ını yükler. Yükleme işlemi başarıyla tamamlandığında, TensorFlow’un çalışıp çalışmadığını kontrol etmek için Python’un REPL (Read-Eval-Print Loop) ortamını açabilirsiniz. Buraya girerek TensorFlow’un doğru bir şekilde yüklendiğini doğrulamak için basit bir test gerçekleştirmelisiniz:

import tensorflow as tf
print(tf.__version__)

Bu kodu çalıştırdığınızda, TensorFlow sürüm numarasını görmelisiniz, böylece kurulum işleminiz başarılı olmuştur.

TensorFlow ile Temel Bir Makine Öğrenimi Modeli Oluşturma

Artık TensorFlow ve Python 3.6 kurulumumuz tamamlandığına göre, basit bir makine öğrenimi modeli oluşturmaya başlayabiliriz. Bu model, iris çiçeği veri setini kullanarak çiçek türlerini sınıflandırmak için oluşturulacaktır. İlk adım olarak gerekli kütüphaneleri ve veri setini içe aktaralım:

import tensorflow as tf
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.preprocessing import OneHotEncoder
import numpy as np

İlk olarak, iris veri setini yükleyelim ve verileri eğitim ve test setlerine bölelim:

iris = load_iris()
X = iris.data
y = iris.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

Verimizin uygun şekilde dağıtılmış olduğundan emin olmak için standartlaştırma (standardization) adımını gerçekleştirelim. Bu, modelin öğrenme sürecini kolaylaştıracaktır. Standartlaşmayı yaparken, ‘StandardScaler’ sınıfını kullanabiliriz:

scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

Modelimizi oluşturmak için, TensorFlow’un Keras API’sini kullanıyoruz. Keras, TensorFlow’un içerisinde yer alan yüksek seviyeli bir API’dir ve model kurma sürecini oldukça basitleştirir:

model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(10, activation='relu', input_shape=(X_train.shape[1],)))
model.add(tf.keras.layers.Dense(3, activation='softmax'))

Bu kodda, ilk katmanımız 10 nörondan oluşmakta ve ‘relu’ aktivasyon fonksiyonunu kullanmaktadır. İkinci katman ise sınıflandırma katmanıdır ve 3 çıktıyı temsil etmektedir; bu, iris veri setindeki 3 farklı çiçek türüne karşılık gelmektedir.

Modelin Derlenmesi ve Eğitilmesi

Modelimizi oluşturduktan sonra, ‘adam’ optimizasyon algoritmasını ve ‘sparse categorical crossentropy’ kaybı kullanarak derlememiz gerekiyor:

model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

Artık modelimizi eğitime alabiliriz. Eğitim için verilerimizi kullanarak ‘fit’ metodunu çağırıyoruz. Eğitim sürecinde, 100 epok ve bir seferde 10 örnekle çalışacağız:

model.fit(X_train, y_train, epochs=100, batch_size=10)

Modelin eğitim süreci sırasında, her epok sonunda doğruluk (accuracy) ve kayıp (loss) bilgilerinin raporlanacağını unutmayın. Eğitim sırasında, modelin ne kadar iyi öğrendiğini gözlemleyebiliriz. Eğitim işlemi tamamlandığında, modelin test verileri üzerinde ne kadar yüksek bir başarı gösterdiği önemlidir.

Modelin Değerlendirilmesi

Eğitim tamamlandıktan sonra, modelin genel performansını değerlendirmek için test verilerini kullanarak ‘evaluate’ metodunu çağırabiliriz:

test_loss, test_accuracy = model.evaluate(X_test, y_test)

Test seti üzerinde kaybı ve doğruluğu hesapladıktan sonra, bu sonuçları console üzerinde teşhis ederek modelimizin başarısını analiz edebiliriz. Örneğin:

print('Test kaybı:', test_loss)
print('Test doğruluğu:', test_accuracy)

Bu bilgiler sayesinde, modelimizin test verileri üzerinde ne kadar başarılı olduğunu görebiliriz. Eğer modeliniz beklenenden düşük bir başarı gösteriyorsa, başka hiper parametreler deneyebilir, daha fazla katman ekleyebilir veya model mimarisini değiştirebilirsiniz.

TesnorFlow ile İleri Düzey Konular

TensorFlow ile çalışırken her zaman daha ileri düzey konulara geçmek mümkündür. Örneğin, genel model kullanılabilirliği için modelinizi kaydedebilir ve daha sonraki bir tarihte kullanmak üzere yükleyebilirsiniz:

model.save('my_model.h5')

Bu komut, modelinizi HDF5 formatında kaydeder. Yüklemek için ise:

loaded_model = tf.keras.models.load_model('my_model.h5')

TensorFlow içerisinde transfer öğrenme gibi yöntemler kullanarak önceden eğitilmiş modellerden faydalanarak kendi modellerimizi oluşturmak da mümkündür. VGG16, ResNet veya Inception gibi popüler model mimarileri ile daha az veri ile daha iyi sonuçlar elde edebilirsiniz, çünkü bu mimariler büyük veri setleri üzerinde önceden eğitilmiştir.

Sonuç

Bu makalede, TensorFlow ve Python 3.6 ile basit bir makine öğrenimi projesi oluşturma sürecini ele aldık. TensorFlow’un sunduğu güçlü araçlar sayesinde, karmaşık makine öğrenimi ve derin öğrenme modellerini geliştirmek artık çok daha kolay. Python’un işlevselliği kullanılarak, verimizi hazırlamak, modelimizi oluşturmak ve eğitmek oldukça anlaşılır hale geldi.

Özetle, Python 3.6 ile TensorFlow kullanarak makine öğrenimine giriş yapmış olduk. Bu noktada, kendi projelerinizi oluşturmaya teşvik ediyorum. TensorFlow’un geniş dokümantasyonu ve topluluğu ile desteklenmesi, öğrenme sürecinizi kolaylaştıracaktır. Geliştirici dostu bir platform olarak TensorFlow ile yaratıcı ve yenilikçi projeler geliştirme yolculuğunuzda sizi başarılar dilerim!

Scroll to Top