Kurs
Giriş
Denetimli makine öğrenimi, girdi ile çıktı arasındaki ilişkiyi öğrenen bir tür makine öğrenimidir. Girdiler özellikler ya da ‘X değişkenleri’ olarak, çıktı ise genellikle hedef ya da ‘y değişkeni’ olarak adlandırılır. Hem özellikleri hem de hedefi içeren veri türüne etiketli veri denir. Bu, makine öğreniminin iki önde gelen türü olan denetimli ve denetimsiz makine öğrenimi arasındaki temel farktır. Bu eğitimde şunları öğreneceksiniz:
- Denetimli Makine Öğrenimi Nedir
- Denetimli vs. Denetimsiz Makine Öğrenimi
- Yarı-Denetimli Makine Öğrenimi
- Denetimli Makine Öğrenimi Algoritmaları:
- Doğrusal Regresyon
- Karar Ağacı
- En Yakın K Komşu
- Rastgele Orman
- Naive Bayes
- Denetimli Makine Öğrenimi Python Kod Örneği
Denetimli Makine Öğrenimi Nedir?
Denetimli makine öğrenimi, girdi ve çıktı verileri arasındaki örüntüleri ve ilişkileri öğrenir. Etiketli veri kullanımıyla tanımlanır. Etiketli veri, çok sayıda Özellik ve Hedef örneği içeren bir veri kümesidir. Denetimli öğrenme, veri kümesinden Özellikler ile Hedef arasındaki ilişkiyi öğrenen algoritmalar kullanır. Bu sürece Eğitim ya da Sığdırma denir.
İki tür denetimli öğrenme algoritması vardır:
- Sınıflandırma
- Regresyon

Görsel Kaynağı: https://www.mathworks.com/help/stats/machine-learning-in-matlab.html
Sınıflandırma
Sınıflandırma, algoritmaların veriden öğrenerek gelecekte bir sonucu ya da olayı tahmin ettiği bir denetimli makine öğrenimi türüdür. Örneğin:
Bir bankanın kredi geçmişi, krediler, yatırım detayları vb. içeren bir müşteri veri kümesi olabilir ve hangi müşterinin temerrüde düşeceğini bilmek isteyebilir. Geçmiş verilerde, Özellikler ve Hedef bulunur.
- Özellikler, bir müşterinin kredi geçmişi, kredileri, yatırımları vb. gibi öznitelikleridir.
- Hedef, belirli bir müşterinin geçmişte temerrüde düşüp düşmediğini temsil eder (genellikle 1 veya 0 / Doğru veya Yanlış / Evet veya Hayır ile gösterilir).
Sınıflandırma algoritmaları ayrık sonuçları tahmin etmek için kullanılır; sonuç iki olası değer alabiliyorsa, örneğin Doğru veya Yanlış, Temerrüt veya Temerrüt Yok, Evet veya Hayır, buna İkili Sınıflandırma denir. Sonuç iki değerinden fazlasını içerdiğinde, Çok Sınıflı Sınıflandırma olarak adlandırılır. Sınıflandırma görevleri için kullanılabilecek birçok makine öğrenimi algoritması vardır. Bunlardan bazıları şunlardır:
- Lojistik Regresyon
- Karar Ağacı Sınıflandırıcı
- En Yakın K Komşu Sınıflandırıcı
- Rastgele Orman Sınıflandırıcı
- Sinir Ağları
Regresyon
Regresyon, algoritmaların veriden öğrenerek satış, maaş, ağırlık veya sıcaklık gibi sürekli değerleri tahmin ettiği bir denetimli makine öğrenimi türüdür. Örneğin:
Arsa büyüklüğü, yatak odası sayısı, banyo sayısı, mahalle vb. gibi evin özelliklerini ve evin fiyatını içeren bir veri kümesi varsa, bir Regresyon algoritması özellikler ile evin fiyatı arasındaki ilişkiyi öğrenmek üzere eğitilebilir.
Regresyon görevleri için kullanılabilecek birçok makine öğrenimi algoritması vardır. Bunlardan bazıları şunlardır:
- Doğrusal Regresyon
- Karar Ağacı Regresörü
- En Yakın K Komşu Regresörü
- Rastgele Orman Regresörü
- Sinir Ağları
Görsel Kaynağı: https://static.javatpoint.com/tutorial/machine-learning/images/regression-vs-classification-in-machine-learning.png
Denetimli ve Denetimsiz Öğrenme
Veri Türü
Denetimli ve denetimsiz makine öğrenimi arasındaki temel fark, denetimli öğrenmenin etiketli veri kullanmasıdır. Etiketli Veri, hem Özellikleri (X değişkenleri) hem de Hedefi (y değişkeni) içeren veridir.
Denetimli öğrenme kullanıldığında, algoritma, özellikler verildiğinde hedef değişkeni tahmin etmeyi yinelemeli olarak öğrenir ve eğitim veri setinden "öğrenmek" için uygun tepkiyi verecek şekilde kendini ayarlar. Bu sürece Eğitim ya da Sığdırma denir. Denetimli öğrenme modelleri genellikle denetimsiz öğrenmeden daha doğru sonuçlar üretir, ancak verilerin doğru biçimde tanımlanması için başta insan müdahalesi gerektirir. Veri kümesindeki etiketler doğru tanımlanmadıysa, denetimli algoritmalar yanlış detayları öğrenir.
Öte yandan denetimsiz öğrenme modelleri, etiketlenmemiş verinin içsel yapısını tanımlamak için otonom biçimde çalışır. Yine de çıktı değişkenlerini doğrulamanın belirli düzeyde insan katılımı gerektirdiğini unutmamak önemlidir. Örneğin, denetimsiz bir öğrenme modeli, çevrim içi alışveriş yapan müşterilerin aynı kategoriden birden fazla ürünü aynı anda alma eğiliminde olduğunu belirleyebilir. Ancak, bir öneri motorunun X Ürünü ile Y Ürünü'nü eşleştirmesinin mantıklı olup olmadığını bir insan analistin kontrol etmesi gerekir.
Kullanım alanları
Denetimli öğrenmede iki öne çıkan kullanım alanı vardır: Sınıflandırma ve Regresyon. Her iki görevde de denetimli bir algoritma eğitim verisinden bir şeyi tahmin etmeyi öğrenir. Tahmin edilen değişken ayrık ise, örneğin “Evet” veya “Hayır”, 1 veya 0, “Dolandırıcılık” veya “Dolandırıcılık Yok” gibi, bir sınıflandırma algoritması gerekir. Tahmin edilen değişken satış, maliyet, maaş, sıcaklık vb. gibi sürekli ise, o zaman Regresyon algoritması gerekir.
Kümeleme ve Anomali Tespiti, denetimsiz öğrenmede iki öne çıkan kullanım alanıdır. Kümeleme hakkında daha fazla bilgi için bu makaleye göz atın. Denetimsiz Makine Öğrenimine daha derinlemesine dalmak isterseniz, DataCamp'in bu ilginç kursuna göz atın. scikit-learn ve scipy kullanarak etiketlenmemiş veri kümelerini nasıl kümeleneceğini, dönüştürüleceğini, görselleştirileceğini ve içgörülerin çıkarılacağını öğreneceksiniz.
Hedefler
Denetimli öğrenmenin amacı, etiketli eğitim veri setinden öğrenmiş bir modele dayanarak yeni veriler için sonuçları tahmin etmektir. Bekleyebileceğiniz sonuç türleri, etiketli veriler şeklinde en baştan bilinir. Denetimsiz bir öğrenme algoritmasının amacı ise açık etiketler olmadan büyük miktarda veriden içgörüler çıkarmaktır. Denetimsiz algoritmalar da eğitim veri setinden öğrenir ancak eğitim verisi herhangi bir etiket içermez.
Karmaşıklık
Denetimli makine öğrenimi, denetimsiz öğrenmeye kıyasla daha yalındır. Denetimsiz öğrenme modelleri genellikle istenen sonuçları vermek için büyük bir eğitim seti gerektirir ve bu da onları hesaplama açısından karmaşık hale getirir.

Görsel Kaynağı: https://www.sharpsightlabs.com/blog/supervised-vs-unsupervised-learning/
Yarı-Denetimli Makine Öğrenimi
Yarı-denetimli öğrenme, eğitim sırasında az miktarda etiketli veriyi çok miktarda etiketlenmemiş veriyle harmanlayan, nispeten yeni ve daha az popüler bir makine öğrenimi türüdür. Yarı-denetimli öğrenme, denetimli öğrenme (etiketli eğitim verisi) ile denetimsiz öğrenme (etiketsiz eğitim verisi) arasında yer alır.
Yarı-denetimli öğrenmenin pek çok gerçek dünya uygulaması vardır. Birçok alanda etiketli veri kıtlığı bulunur. Etiketler (hedef değişken), insan anotatörler, özel ekipman ya da pahalı ve zaman alıcı çalışmalar gerektirdiğinden elde edilmesi zor olabilir.
Yarı-denetimli öğrenmenin iki türü vardır:

Görsel Kaynağı: https://www.enjoyalgorithms.com/blogs/supervised-unsupervised-and-semisupervised-learning
Denetimli Makine Öğrenimi Algoritmaları
Bu bölümde denetimli makine öğrenimi için bazı yaygın algoritmaları ele alacağız:
Doğrusal Regresyon
Doğrusal regresyon, mevcut en basit makine öğrenimi algoritmalarından biridir; eğitim veri setindeki özelliklere (bağımsız değişken) dayanarak sürekli bir değeri (bağımlı değişken) tahmin etmeyi öğrenmek için kullanılır. Etkiyi temsil eden bağımlı değişkenin değeri, bağımsız değişkenin değerindeki değişimlerden etkilenir.
Okul günlerinden hatırladığınız “en iyi uyum doğrusu” tam olarak doğrusal regresyondur. Bir kişinin boyuna göre kilosunu tahmin etmek bu kavramın basit bir örneğidir.

Görsel Kaynağı: http://primo.ai/index.php?title=Linear_Regression
|
ARTILAR |
EKSİLER |
|
Basit, anlaşılması ve yorumlanması kolay |
Aşırı öğrenmeye yatkın |
|
Doğrusal olarak ayrılabilir veride son derece iyi performans gösterir |
Özellikler ile hedef değişken arasında doğrusallık varsayar. |
Lojistik Regresyon
Lojistik Regresyon, hedef değişkenin (y) 1 veya 0, Doğru veya Yanlış, Evet veya Hayır, Temerrüt veya Temerrüt Yok gibi ayrık/kategorik olduğu Doğrusal Regresyonun özel bir durumudur. Bağımlı değişken olarak olasılık oranlarının logu kullanılır. Bir logit fonksiyonu kullanarak, lojistik regresyon ikili bir olayın gerçekleşme olasılığına dair tahminler yapar.

Bu konu hakkında daha fazla bilgi edinmek için DataCamp'teki bu mükemmel Python'da Lojistik Regresyonu Anlama makalesine göz atın.
|
ARTILAR |
EKSİLER |
|
Basit, anlaşılması ve yorumlanması kolay |
Aşırı öğrenme |
|
Çıkış olasılıkları için iyi kalibre edilmiştir |
Karmaşık ilişkileri yakalamakta zorlanabilir |
Karar Ağacı
Karar Ağacı algoritmaları, veriyi sürekli olarak bölerek önceki soru setlerinin sonuçlarına bağlı olarak kategorize etmek veya tahmin yapmak için kullanılan, olasılıksal ağaç benzeri yapısal modellerdir. Model veriyi analiz eder ve daha bilinçli seçimler yapmanıza yardımcı olmak için sorulara yanıtlar üretir.
Örneğin, kuşun tüyleri, uçma ya da yüzme yeteneği, gagasının türü vb. gibi veri unsurlarına dayanarak belirli bir kuş türünü seçmek için, Yanıtların Evet veya Hayır olduğu bir karar ağacı kullanabilirsiniz.

Görsel Kaynağı: https://aigraduate.com/decision-tree-visualisation---quick-ml-tutorial-for-beginners/
|
ARTILAR |
EKSİLER |
|
Çok sezgisel ve açıklaması kolay |
Kararsız - eğitim verisindeki küçük bir değişiklik tahminlerde büyük farklara yol açabilir. |
|
Bazı doğrusal modellerin gerektirdiği kadar çok veri hazırlığı gerektirmez. |
Aşırı öğrenmeye eğilimli |
Python'da Ağaç Tabanlı Modellerle Makine Öğrenimi hakkında daha fazla bilgi edinmek için DataCamp'in bu ilginç kursuna göz atın. Bu kursta, scikit-learn kullanarak regresyon ve sınıflandırma için ağaç tabanlı modelleri ve topluluk yöntemlerini nasıl kullanacağınızı öğreneceksiniz.
En Yakın K Komşu
En Yakın K Komşu, iki veri noktasının birbirine olan yakınlığını değerlendirerek bu iki veri noktasının birlikte gruplandırılıp gruplandırılamayacağına karar veren istatistiksel bir yöntemdir. Veri noktalarının yakınlığı, birbirlerine ne ölçüde benzediklerini temsil eder.
Örneğin, birbirine yakın konumlanmış iki farklı veri noktası grubu olan ve sırasıyla A Grubu ve B Grubu olarak adlandırılan bir grafiğimiz olduğunu varsayalım. Bu veri noktası gruplarının her biri grafikte bir nokta ile temsil edilir. Yeni bir veri noktası eklediğimizde, bu örneğin hangi gruba ait olacağı, yeni noktanın hangi gruba daha yakın olduğuna bağlı olacaktır.

Kaynak: https://towardsdatascience.com/getting-acquainted-with-k-nearest-neighbors-ba0a9ecf354f
|
ARTILAR |
EKSİLER |
|
Veri hakkında bir varsayımda bulunmaz |
Eğitim için uzun zaman alır |
|
Sezgisel ve basit |
KNN az sayıda özellikle iyi çalışır ancak özellik sayısı arttıkça isabetli tahmin yapmakta zorlanır. |
Rastgele Orman
Rastgele Orman, tıpkı Karar Ağaçları gibi ağaçlara dayalı olarak oluşturulan bir başka algoritma örneğidir. Yalnızca tek bir ağaçtan oluşan Karar Ağacının aksine, Rastgele Orman karar vermek için birden fazla Karar Ağacı kullanır ve özünde bir ağaç ormanı oluşturur.
Birden fazla modeli birleştirerek tahminler üretir ve hem sınıflandırma hem de regresyon için kullanılabilir.

Kaynak: https://blog.tensorflow.org/2021/05/introducing-tensorflow-decision-forests.html
|
ARTILAR |
EKSİLER |
|
Rastgele Ormanlar, verideki doğrusal olmayan ilişkileri kolayca işleyebilir. |
Birden fazla ağaç olduğu için yorumlaması zordur. |
|
Rastgele Ormanlar örtük olarak özellik seçimi yapar |
Rastgele Ormanlar büyük veri kümeleri için hesaplama açısından maliyetlidir. |
Naive Bayes
Bayes Teoremi, koşullu olasılıkları hesaplamak için kullanılan matematiksel bir formüldür ve Naive Bayes bu formülün bir uygulamasıdır. Başka bir olayın gerçekleşmiş olması durumunda bir sonucun meydana gelme olasılığına koşullu olasılık denir.
Her bir sınıf için olasılıkların belirli bir sınıfa ait olduğunu ve en yüksek olasılığa sahip sınıfın, gerçekleşmesi en muhtemel sınıf olarak kabul edildiğini öngörür.

Görsel Kaynağı: https://www.kdnuggets.com/2019/10/introduction-artificial-neural-networks.html
|
ARTILAR |
EKSİLER |
|
Algoritma çok hızlıdır. |
Tüm özelliklerin birbirinden bağımsız olduğunu varsayar. |
|
Basit ve uygulaması kolaydır |
Algoritma, eğitim veri setinde kategorisi bulunmayan bir kategorik değişkene sıfır olasılık verdiği "sıfır-frekans problemi" ile karşılaşır. |
Denetimli Makine Öğrenimi Python Kod Örneği
Bu bölümde Python'da scikit-learn kullanarak sahte bir veri kümesi üzerinde bir Lojistik Regresyon (Sınıflandırma) modeli eğiteceğiz. Tam Deftere buradan göz atın.
```
# create fake binary classification dataset with 1000 rows and 10 features
from sklearn.datasets import make_classification
X, y = make_classification(n_samples = 1000, n_features = 10, n_classes = 2)
# check shape of X and y
X.shape, y.shape
# train test split
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42)
# import and initialize logistic regression model
from sklearn.linear_model import LogisticRegression
lr = LogisticRegression()
# fit logistic regression model
lr.fit(X_train, y_train)
# generate hard predictions on test set
y_pred = lr.predict(X_test)
y_pred
# evaluate accuracy score of the model
from sklearn.metrics import accuracy_score
accuracy_score(y_test, y_pred)
```
Denetimli makine öğrenimini R ile öğrenmek isterseniz, DataCamp'in bu R ile Denetimli Öğrenme kursuna göz atın. Bu kursta R programlama dilinde sınıflandırma için makine öğreniminin temellerini öğreneceksiniz.
Sonuç
Makine öğrenimi, son yıllarda işleri yürütme biçimimizi tamamen değiştirdi. Makine öğrenimini diğer otomasyon stratejilerinden ayıran köklü bir yenilik, kural tabanlı programlamadan uzaklaşmasıdır. Denetimli makine öğrenimi teknikleri sayesinde mühendisler, makineleri bir problemi belirli bir şekilde çözmek üzere açıkça eğitmeden veriden yararlanabilir.
Denetimli makine öğreniminde, bir problemin beklenen çözümü gelecekteki veriler için biliniyor olmayabilir, ancak geçmiş bir veri kümesinde biliniyor ve kaydediliyor olabilir; denetimli öğrenme algoritmalarının görevi, gelecekte bir sonucu, olayı veya bir değeri tahmin etmek için bu ilişkiyi geçmiş veriden öğrenmektir.
Bu yazıda, denetimli öğrenmenin ne olduğuna ve denetimsiz öğrenmeden nasıl farklılaştığına dair temel bir anlayış edindik. Ayrıca Denetimli öğrenmede yaygın birkaç algoritmayı da gözden geçirdik. Ancak, Model Değerlendirme, Çapraz Doğrulama veya Hiperparametre Ayarı gibi birçok konudan bahsetmedik. Bu konulardan herhangi birine daha derinlemesine dalmak ve becerilerinizi daha da geliştirmek isterseniz, şu ilginç kurslara göz atın:
Sıkça Sorulan Sorular
Denetimli makine öğreniminin iki yaygın türü nedir?
Sınıflandırma ve Regresyon, denetimli öğrenmenin iki yaygın türüdür. Sınıflandırma, “Geçti” veya “Kaldı”, “Doğru” veya “Yanlış”, “Temerrüt” veya “Temerrüt Yok” gibi ayrık sonuçları tahmin etmek için kullanılır. Regresyon ise satış, maaş, maliyet vb. gibi miktar veya sürekli değerleri tahmin etmek için kullanılır.
Denetimli ve denetimsiz öğrenme arasındaki birincil fark nedir?
Denetimli ve denetimsiz öğrenme arasındaki birincil fark veridir. Denetimli öğrenme için etiketli veriye sahip olmanız gerekir; denetimsiz öğrenmede ise etiketli veriye ihtiyaç yoktur.
Zaman serisi tahmini denetimli öğrenme midir?
Evet, zaman serisi tahmini, bir sayı dizisi verildiğinde bir sonraki değeri tahmin ettiğimiz denetimli bir öğrenmedir. Bu bir denetimli öğrenme görevidir.
Doğal Dil İşleme (NLP) denetimli mi yoksa denetimsiz öğrenme midir?
Her ikisi de olabilir. Problemin nasıl çerçevelendiğine bağlıdır. Örneğin, bir metin belgesinin türünü tahmin etmek büyük olasılıkla denetimli bir görevdir; öte yandan kullanım alanı, belgedeki metne göre benzer belgeleri bir araya getirmekse, bu özel kullanım alanı Konu Modellemesi olarak bilinir ve tamamen denetimsizdir.
Kümeleme denetimli mi yoksa denetimsiz öğrenme midir?
Kümeleme görevleri için etiketli veriye ihtiyaç yoktur; dolayısıyla denetimsiz bir öğrenmedir.
Denetimli ve denetimsiz öğrenme için farklı algoritmalar var mı?
Evet, algoritmalar tamamen farklıdır.
Denetimli öğrenme için bazı yaygın algoritmalar nelerdir?
Doğrusal Regresyon, Karar Ağacı, Sinir Ağları, Destek Vektör Makineleri denetimli öğrenme için yaygın algoritmalardandır.

