Makine Öğrenimi için Lojistik Regresyon: Eksiksiz Bir Kılavuz
Yayınlanan: 2021-10-04Makine Öğrenimi modelleri, çalışmak için algoritmalar gerektirir. Koşullar kümesine bağlı olarak, belirli bir ML modeli, bir veya diğer algoritmayı kullanarak en iyi performansı gösterebilir. Sonuç olarak, Makine Öğrenimi mühendisleri ve meraklıları, zamanı geldiğinde hangisini kullanacaklarını bilmek için farklı bağlamlarda kullanılabilecek farklı algoritma türlerinin farkında olmalıdır. Makine Öğrenimi'nde hiçbir zaman herkese uyan tek bir çözüm yoktur ve farklı algoritmalarla ince ayar yapmak istenen sonuçları verebilir.
Örneğin, Lineer Regresyon hakkında zaten bilgi sahibi olmalısınız. Ancak, bu algoritma kategorik olarak bağımlı değişkenlere uygulanamaz. Lojistik Regresyonun kullanışlı olduğu yer burasıdır.
Makine Öğreniminde Lojistik Regresyon, bağımlı veya hedef değişkenin olasılığını tahmin etmek için kullanılan denetimli bir öğrenme yöntemidir. Lojistik Regresyon'u kullanarak bağımlı ve bir veya daha fazla bağımsız değişken arasındaki ilişkileri tahmin edebilir ve kurabilirsiniz.
Lojistik Regresyon denklemleri ve modelleri genellikle ikili sınıflandırma için tahmine dayalı analitik için kullanılır. Bunları çok sınıflı sınıflandırma için de kullanabilirsiniz.
Makine Öğrenimi için Lojistik Regresyon denklemi şöyle görünür:
logit(p) = ln(p/(1-p)) = h0+h1X1+h2X2+h3X3….+hkXk

Neresi;
p= özelliğin ortaya çıkma olasılığı
x1,x2,..xk = giriş özellikleri seti
h1,h2,….hk = Lojistik Regresyon denkleminde tahmin edilecek parametrik değerler.
İçindekiler
Makine Öğreniminde Lojistik Regresyon Modellerinin Türleri
Lojistik Regresyon'un kullanım şekline bağlı olarak, Lojistik Regresyon modelleri aşağıdaki gibi sınıflandırılabilir:
1. İkili Lojistik Regresyon Modeli
Bu, Lojistik Regresyon için en popüler kullanılan regresyon modellerinden biridir. Verileri iki sınıfa ayırmaya ve yeni bir girdinin değerini iki sınıftan birine ait olarak tahmin etmeye yardımcı olur. Örneğin, bir hastanın tümörü iyi huylu veya kötü huylu olabilir ama asla ikisi birden olamaz.
2. Çok Terimli Lojistik Regresyon Modeli
Bu model, hedef değişkenleri herhangi bir niceliksel önemden bağımsız olarak ikiden fazla sınıfa ayırmaya yardımcı olur. Bunun bir örneği, bir bireyin diyet tercihlerine ve geçmiş deneyimlerine dayanarak sipariş etmesi muhtemel yiyecek türünü tahmin etmek olabilir.
Kariyerinizi hızlandırmak için Makine Öğrenimi Kursuna , Makine Öğrenimi ve Yapay Zeka alanında Dünyanın en iyi Üniversiteleri - Yüksek Lisanslar, Yönetici Yüksek Lisans Programları ve İleri Düzey Sertifika Programından çevrimiçi katılın .
3. Sıralı Lojistik Regresyon Modeli
Bu model, hedef değişkeni sınıflandırmak için kullanılır. Örneğin, bir öğrencinin bir sınavdaki performansı hiyerarşik bir düzende zayıf, iyi ve mükemmel olarak sınıflandırılabilir. Bu şekilde, veriler, her sınıfın belirli bir önem düzeyine sahip olduğu üç farklı kategoride sınıflandırılır.
Lojistik Regresyon denklemi, istenmeyen posta tespiti, tümör sınıflandırması, cinsiyet sınıflandırması ve daha pek çok durumda kullanılabilir. Daha iyi anlamanıza yardımcı olması için, Makine Öğreniminde Lojistik Regresyon denkleminin en yaygın kullanım örneklerinden ikisine bakalım.
Lojistik Regresyon Denklemi için örnek kullanım örnekleri
Örnek 1: İstenmeyen E-postaların Belirlenmesi
E-posta spam ise 1 sınıfını ve e-posta değilse 0 sınıfını düşünün. Bunu saptamak için, posta gövdesinden birden çok öznitelik analiz edilir. Bunlar şunları içerir:
- gönderen
- yazım hataları
- E-postadaki "banka bilgileri", "şanslı", "kazanan", "tebrikler" gibi anahtar kelimeler.
- E-postadaki iletişim bilgileri veya URL
Çıkarılan bu veriler daha sonra tüm girdileri analiz edecek ve 0 ile 1 arasında bir puan verecek olan Makine Öğrenimi için Lojistik Regresyon denklemine beslenebilir. Puan 0'dan büyük ancak 0,5'ten küçükse, e-posta spam olarak sınıflandırılır ve puan 0,5 ile 1 arasındaysa, posta istenmeyen posta değil olarak işaretlenir.
Örnek 2: Kredi Kartı Dolandırıcılığının Belirlenmesi
Bankalar, Lojistik Regresyon denklemlerini veya Lojistik Regresyon tabanlı Makine Öğrenimi modellerini kullanarak sahte kredi kartı işlemlerini anında tespit edebilir. Bunun için PoS, kart numarası, işlem değeri, işlem verileri ve benzerleri gibi ayrıntılar, belirli bir işlemin gerçek (0) veya sahte (1) olup olmadığına karar veren Lojistik Regresyon modeline beslenir. Örneğin, satın alma değeri çok yüksekse ve tipik değerlerden sapıyorsa, regresyon modeli işlemi dolandırıcılık olarak sınıflandıran bir değer (0,5 ile 1 arasında) atar.

Makine Öğreniminde Lojistik Regresyon Çalışması
Lojistik Regresyon, tahminleri çıktı olasılıklarıyla eşleştirmek için Sigmoid işlevini kullanarak çalışır. Bu fonksiyon, 0 ile 1 arasında tahmin edilen değerleri çizen S-şekilli bir eğridir. Daha sonra değerler, etiketler olarak 0 ve 1 kullanılarak Y ekseninin üstündeki ve altındaki kenar boşluklarına doğru çizilir. Daha sonra bu değerlere bağlı olarak bağımsız değişkenler sınıflandırılabilir.
Sigmoid işlevi şöyle görünür:
Sigmoid işlevi aşağıdaki denkleme dayanmaktadır:
y=1/(1+e^x)
Burada e^x= 2.718 değerinde üstel sabit.
Yukarıdaki Sigmoid fonksiyonunun denklemi, x negatif olarak kabul edilirse, tahmin edilen değeri (y) sıfır olarak sağlar. x büyük bir pozitif sayı ise, tahmin edilen değer bire yakındır.
Python'da Lojistik Regresyon Modeli Oluşturma
Python'da bir Lojistik Regresyon modeli oluşturma sürecini gözden geçirelim. Bunun için, regresyon analizini yapmak için Sosyal Ağ veri setini kullanalım ve bir bireyin belirli bir arabayı satın alıp almayacağını tahmin etmeye çalışalım. Adımların nasıl göründüğü aşağıda açıklanmıştır.
Adım 1: Kitaplıkları ve Veri Kümesini İçe Aktarma
Modeli oluşturmak için gereken kitaplıkları içe aktararak başlar. Buna Pandalar, Numpy ve Matplotlib dahildir. Ayrıca birlikte çalışacağımız veri setini de içe aktarmamız gerekiyor. İşte kod neye benziyor:
numpy'yi np olarak içe aktar
matplotlib.pyplot'u pt olarak içe aktar
pandaları pd olarak içe aktar
veri kümesi = pd.read_csv('Social_Network.csv')
Adım 2: Bağımlı ve Bağımsız Değişkenlere Bölme
Şimdi, beslenen verileri bağımlı ve bağımsız değişkenlere ayırmanın zamanı geldi. Bu örnek için, bireylerin tahmini maaş ve yaşları boyunca bağımlı değişken olarak satın alma değerini bağımsız değişken olarak ele alacağız.
x = veri kümesi.iloc[:, [2,3]].değerler
y = dataset.iloc[:, 4].değerler
3. Adım: Veri Kümesini Eğitim kümesine ve Test kümesine bölme
Veri setini belirli eğitim ve test setlerine bölmek esastır. Eğitim seti Lojistik Regresyon denklemini eğitirken, test verileri modelin eğitimini doğrulamak ve test etmek için kullanılacaktır. Sklearn, verilen veri kümesini iki kümeye bölmek için kullanılır. Eğitim ve test için ayırmak istediğimiz veri miktarını belirterek train_split_function işlevini kullanırız.
sklearn.model_selection'dan train_test_split'i içe aktarın
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.33, random_state = 0)
Gördüğünüz gibi, test boyutunu tüm veri setinin %33'ü olarak tanımladık. Böylece kalan %66 eğitim verisi olarak kullanılacaktır.
4. Adım: Ölçekleme
Lojistik Regresyon modelinizin doğruluğunu artırmak için verileri yeniden ölçeklendirmeniz ve doğası gereği oldukça değişken olabilecek değerler getirmeniz gerekir.
sklearn.preprocessing'den içe aktarma StandardScaler
sc_X = StandardScaler()
X_train = sc_X.fit_transform(X_train)
X_test = sc_X.transform(X_test)
Adım 5: Lojistik Regresyon modelini oluşturma
Bu yapıldıktan sonra, Lojistik Regresyon modelini oluşturmanız ve eğitim setine sığdırmanız gerekir. Sklearn'den Lojistik Regresyon algoritmasını içe aktararak başlayın.
sklearn.linear_model'den LogisticRegression'ı içe aktarın
Ardından, eğitim verilerine uyacak bir örnek sınıflandırıcı oluşturun.
sınıflandırıcı = LogisticRegression(random_state=0)
classifier.fit(x_train, y_train)
Ardından, test veri kümesinde tahminler oluşturun.
y_pred = classifier.predict(x_test)
Son olarak, Karışıklık matrisini kullanarak Lojistik Regresyon modelinizin performansını kontrol edin.
sklearn.metrics'den configuration_matrix'i içe aktarın
cm = karışıklık_matrix(y_test, y_pred)
acc = doğruluk_skoru(y_test, y_pred)
yazdır(acc)

baskı (cm)
Artık eğitim ve test setleri dahil tüm veri setini görselleştirmek için Matplotlib'i kullanabilirsiniz!
Sonuç olarak
Lojistik Regresyon, Makine Öğrenimi modellerinin ve algoritmalarının geliştirilmesine yardımcı olan araçlardan biridir. Benzer şekilde, eldeki kullanım durumuna bağlı olarak kullanılan birden çok başka algoritma da vardır. Ancak hangi algoritmayı kullanacağınızı bilmek için tüm olası seçeneklerin farkında olmalısınız. Ancak o zaman veri kümeniz için en uygun algoritmayı seçebilecek konumda olacaksınız.
Sizi sıfırdan alacak ve becerilerinizi en üst düzeye çıkarmanıza yardımcı olacak şekilde tasarlanmış Makine Öğreniminde Yönetici PG Programımıza göz atın - böylece gerçek dünyadaki herhangi bir Makine Öğrenimi problemini çözebilecek bir konumda olursunuz. Farklı kurslara göz atın ve size uygun olanı seçin. upGrad'a katılın ve bütünsel bir öğrenme ortamı ve yerleştirme desteğini deneyimleyin!
Lojistik Regresyon genel olarak üç tiptedir: Lojistik Regresyon, uygun gelecek tahminleri yapmak için bağımlı ve bağımsız değişkenler arasında en uygun ilişkiyi bulmak ve oluşturmak için kullanılan denetimli öğrenme yöntemlerinden biridir. Makine Öğrenimi için Lojistik Regresyon, en uygun eğriyi bulmak için Sigmoid işlevini kullanır.Makine Öğrenimi için kaç çeşit Lojistik Regresyon mümkündür?
1. İkili
2. Çok terimli
3. Sıradan. Makine Öğreniminde Lojistik Regresyon ne için kullanılır?
Logistic Regression for Machine Learning'in kullandığı işlev nedir?