Destek Vektör Makineleri (Support Vector Machines – SVMs) – 4

Nonlineer DVM ile sınıflandırma

Doğrusal DVM sınıflandırıcıları birçok durumda iyi sonuç versede, bir çok veriseti doğrusal-ayrılabilir (linearly seperable) değildir. Bu problem için yaklaşımlardan biri, nonlineer verisetlerine polinomial öznitelikler eklemektir.

im_12

Soldaki grafikte, veriseti sadece x_1 özniteliğini içermektedir. Bu veriseti doğrusal-ayrılabilir değildir. Ama, x_2 = (x_1)^2 özniteliğini bu verisetine eklersek, doğrusal-ayrılabilir hale gelmektedir (Sağdaki grafik).

Scikit-Learn ile bir örnek yapalım.

import numpy as np
from sklearn.datasets import make_moons
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import PolynomialFeatures
from sklearn.preprocessing import StandardScaler
from sklearn.svm import LinearSVC
import matplotlib.pyplot as plt

İlk olarak gerekli kütüphaneleri içeri aktardık.

X, y = make_moons(n_samples=100, noise=0.15, random_state=42)

make_moons fonksiyonu ile örnek bir veriseti ürettik.

polynomial_svm_clf = Pipeline((
        ("poly_features", PolynomialFeatures(degree=3)),
        ("scaler", StandardScaler()),
        ("svm_clf", LinearSVC(C=10, loss="hinge"))
    ))

polynomial_svm_clf.fit(X, y)

Yine bir pipeline oluşturduk. İlk olarak PolynomialFeatures fonksiyonu ile 3.dereceden polinomial öznitelik ekledik verisetimize. Ardından StandartScaler özniteliklerimizi ölçeklendirdik. Son olarak da, doğrusal DVM ile sınıflandırma yaptık. Fit komutu ile de verisetimizi pipeline’a besledik.

im_12.png

Grafikte de elde ettiğimiz sonucu görüyoruz. Bir sonraki yazıda görüşmek üzere.

Kaynaklar

  1. Geron, A. (2017). Hands-On Machine Learning with Scikit-Learn and TensorFlow Concepts, Tools, and Techniques for Building Intelligent Systems. Sebastopol: OReilly UK Ltd.

Destek Vektör Makineleri (Support Vector Machines – SVMs) – 4” için bir yorum

  1. polynomial_svm_clf.fit(X, y) sonra kodun devamı sayfada mevcut değil. Görselleştirme (matplotlib) kısmı eksik. Bilgilendirmek istedim. Bu arada ellerinize sağlık yazılar için.

    Beğen

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s