Kurs
Makine öğreniminde, nesneleri farklı gruplara ayırma hedefini gerçekleştirmek için iki teknik vardır: sınıflandırma ve kümeleme. Bu durum, özellikle başlangıç seviyesindeki uygulayıcılar arasında sıkça kafa karışıklığına yol açar.
Yüzeyde bakıldığında, sınıflandırma ve kümeleme benzer görünür. Her ikisi de, bir veri kümesinin özelliklerinden yararlanarak kalıpları ortaya çıkarmak ve örnekleri ayrı gruplara ayırmak için algoritmalar kullanır. Ancak pratik açıdan bakıldığında, aralarında belirgin farklar vardır.
Bu yazıda, her bir tekniği, onlarla ilişkili farklı algoritmaları, uygulama alanlarını ve en önemlisi aralarındaki farkları ele alacağız.
Sınıflandırma nedir?
Sınıflandırma görevleri, “denetimli öğrenme” olarak adlandırılan problem kategorisine girer. Bu tür problemler, geçmiş verilerden öğrenerek yeni örnekler üzerinde tahminler yapan modeller geliştirmeyi içerir.
Daha resmi olarak, denetimli öğrenme görevleri, örnek girdi-çıktı çiftlerine dayanarak girdiden çıktıya eşleyen bir fonksiyonun öğrenildiği problemlerdir. Dolayısıyla amaç, girdilerden (X) çıktıya (y) eşlemeyi sağlayan fonksiyonu (f) yaklaşıklamak — matematik geçmişiniz varsa bunu fonksiyon yaklaşımı problemi olarak biliyor olabilirsiniz.
Denetimli öğrenmenin iki farklı biçimi olduğunu not etmek önemlidir: regresyon ve sınıflandırma.
Sınıflandırma problemlerinde, öğrenme algoritmasının amacı, bir özellikler kümesinden ayrık bir çıktıyı tahmin etmek için eşleme fonksiyonunu yaklaşıklamaktır (ör. bir görselin kedi mi köpek mi olduğunu tahmin etmek) — uygulamalı bir gösterim için Python ile metin sınıflandırmayı anlama eğitimimize bakın.
Sınıflandırma algoritmalarının uygulandığı çeşitli problemler vardır, örneğin:
- Spam filtreleme. Bir e-postanın istenmeyen, gereksiz veya virüs bulaşmış olup olmadığını sınıflandırarak kullanıcının gelen kutusuna ulaşmasını engellemek.
- Yüz tanıma. Bir kişinin kimliğini, fotoğraf, video veya gerçek zamanlı olarak yakalanan yüz özelliklerine göre tanımlamak veya doğrulamak.
- Müşteri kaybı tahmini. Hangi müşterilerin aboneliği iptal etmeye veya hizmetinizden ayrılmaya eğilimli olduğunu sınıflandırmayla tahmin edebilir, ardından onları elde tutma amaçlı kampanyalarla hedefleyebilirsiniz.
- Kredi onayı. Bir başvuru sahibinin krediye uygun olup olmadığını belirleme süreci oldukça tekrarlayıcıdır; sınıflandırma algoritmaları, finansal geçmişleriyle ilgili çeşitli özelliklere dayanarak kredi verilip verilmeyeceğini tahmin etmek için kullanılabilir.
Bazı sınıflandırma algoritmalarına göz atalım.
Sınıflandırma Algoritması Türleri
Lojistik Regresyon
Çoğu zaman lojistik regresyonun bir regresyon algoritması olduğu düşünülür; bu anlaşılabilir bir yanılgıdır. Teknik olarak haksız da değillerdir. Lojistik regresyon istatistiksel sınıflandırma yapmaz; yalnızca bir lojistik modelin parametrelerini tahmin eder.
Lojistik regresyonu sınıflandırma için kullanabilmemizin nedeni, sınıfları ayırmak üzere eklenen bir karar sınırıdır. Dolayısıyla en basit hâliyle lojistik regresyon, ikili bağımlı değişkenleri modellemek için bir lojistik fonksiyon kullanır.

Kaynak: Scikit-Learn ile Lojistik Fonksiyon
K-En Yakın Komşu (KNN)
KNN, en basit makine öğrenimi algoritmalarından biridir ve lojistik regresyondan farklı olarak hem sınıflandırma hem de regresyon görevleri için kullanılabilir.
Kısacası, parametrik olmayan, tembel bir öğrenme algoritmasıdır. Bu, KNN’nin örneklerin özellikleri veya verinin nicel mi nitel mi olduğu hakkında varsayımda bulunmadığı (parametrik olmayan) ve tüm hesaplamayı fonksiyon değerlendirmesine kadar ertelediği (tembel öğrenici) anlamına gelir.

Kaynak: Scikit-learn ile En Yakın Komşular
Karar Ağaçları
Karar ağacı algoritması, regresyon ve sınıflandırma yapabilen popüler bir parametrik olmayan algoritmadır. Popülerliğinin büyük kısmı, görselleştirmenin ve yorumlamanın görece kolay olması sayesinde anlaşılabilirlik ve sadeliğinden gelir.
Kavramsal olarak, bir karar ağacını kökten yapraklara akan bir yapı gibi düşünebilirsiniz. Kökten bir yaprağa giden yol, özellikler üzerinde verilen bir karar kuralını tanımlar.

Kaynak: Python'da Karar Ağacı Sınıflandırması Eğitimi
Rastgele Orman
Rastgele orman, iki veya daha fazla karar ağacından oluşan bir ansambl modelidir. Bu teknik, bireysel ağaçları büyütmek için önyükleme toplamayı ve rastgele alt uzay yöntemini kullanarak, hem sınıflandırma hem de regresyon yapabilen güçlü bir birleştirilmiş kestirici elde eder.
Önyükleme toplama veya bagging, birleştirilmiş bir kestirici oluşturmak için yararlanılabilecek birden çok kestirici sürümü üretmekte kullanılan bir tekniktir. Amaç, daha iyi genelleşen birleştirilmiş model için kestiriciler arasındaki korelasyonu azaltmaktır.
Her kestiriciye rastgelelik, eğitim kümesinden yerine koymalı örnekleme yapılarak ve önyüklenen veriler eğitimde kullanılarak katılır.

Kaynak: Bagging: Görsellerle Makine Öğrenimi. #1: “Bagging” ansambl öğrenmesi nedir?
Ansambl içindeki kestiriciler arasındaki korelasyonu azaltmak için rastgele alt uzay yöntemi de kullanılır. Sıklıkla “özellik bagging’i” olarak anılır; çünkü özelliklerde bagging ile aynı yaklaşımı uygular. Yani, rastgele alt uzay yöntemi, ansambl içindeki her kestiriciyi, yerine koymalı rastgele seçilmiş bir özellik örneği üzerinde inşa ederek korelasyonu azaltır.
Naïve Bayes
Naive Bayes sınıflandırıcısı, yeni verilere göre olasılıkları güncellemek için kullanılan matematiksel bir kural olan Bayes teoremine dayalı olasılıksal bir algoritmadır.
Naive Bayes bağlamında “naif” varsayım, sonucun tahmininde veri kümesindeki tüm özelliklerin (veya değişkenlerin) birbirinden bağımsız olduğudur. Bu bir basitleştirmedir; çünkü gerçekte özellikler bağımlı olabilir. Ancak bu naif varsayıma rağmen, algoritma birçok sınıflandırma görevinde şaşırtıcı derecede iyi performans gösterebilir.
Dolayısıyla Bayes teoreminin kendisi değişkenlerin bağımsızlığına dair bir varsayımda bulunmaz. Basitlik ve hesaplama verimliliği adına bu varsayımı yapan, Naive Bayes sınıflandırıcısıdır.

Kümeleme nedir?
Kümeyi anlamak için denetimsiz öğrenme tanımından başlamalıyız. Denetimsiz öğrenme, verinin altında yatan yapıyı keşfetmek için kullanılan bir yaklaşımdır; ancak denetimsiz öğrenme algoritmaları bunu başarmak için girdi-çıktı eşlemelerine ihtiyaç duymaz.
Denetimsiz öğrenme, genellikle verideki mevcut kalıpları ortaya çıkarmak ve örnekleri etiketlere ihtiyaç duymadan gruplamak için kullanılır. Aynı gruba düşen örneklerin benzer özelliklere sahip olduğu varsayılır. Bu nedenle, kümeleme, etiketlenmemiş verileri benzerlik veya farklılıklarına göre gruplamak için kullanılan bir denetimsiz öğrenme tekniğidir.
Kümeleme kullanım alanlarına örnekler:
- Pazar bölümlendirme. Bir pazarlama ekibi, potansiyel alıcıların ortak ihtiyaçlara sahip segmentlerde toplanmasını isteyebilir; bu, işletmelerin ortak özellikleri ve satın alma alışkanlıklarını anlamalarına yardımcı olur ve ürünlerini ve pazarlama çabalarını buna göre hizalamalarını sağlar.
- Sosyal ağ analizi. Sosyal medya verileri üzerinde kümeleme teknikleri kullanılarak anlam bulunabilir ve iş kararlarına destek sağlanabilir.
- Görüntü bölütleme. Dijital görüntüleri birden fazla segmente ayırmanın amacı, temsillerini basitleştirerek daha kolay analiz edilebilir ve daha anlamlı hâle getirmektir.
- Öneri motorları. Kullanıcıların geçmiş satın alma davranışları, etkili çapraz satış stratejileri geliştirmekte kullanılabilecek veri eğilimlerini keşfetmek için kümeleme teknikleriyle birleştirilebilir.
İşte birkaç farklı kümeleme algoritması türü:
Kümeleme Algoritması Türleri
K-Ortalamalar Kümeleme
En popüler ve en yaygın kullanılan kümeleme algoritmalarından biri k-means’tir. Merkezî noktaya dayalı, yinelemeli bir algoritmadır ve örtüşmeyen kümeler oluşturur.

Hiyerarşik Kümeleme
Kümeleri oluşturmanın bir başka yolu da kümelerin bir hiyerarşisini inşa etmektir; bu nedenle adına “hiyerarşik kümeleme” denir. Kümelerin bir hiyerarşisini inşa etmenin iki yolu vardır: .
Birleştirici (Agglomerative)
Bu, her bir gözlemin başlangıçta kendi başına bir küme olarak kabul edildiği alttan üste bir yaklaşımdır. Hiyerarşi tabandan yukarı doğru inşa edilirken, her gözlem önce ikili olarak birleştirilir, ardından bu ikililer kümelere birleştirilir.

Kaynak: Python'da Hiyerarşik Kümelemede giriş
Bölücü (Divisive)
Bölücü kümeleme, tüm gözlemlerin tek bir kümede başladığı ve bölünmelerin tekrarlı olarak uygulanarak hiyerarşinin yukarıdan aşağıya kurulduğu üstten alta bir yaklaşımdır.

Kaynak: Python'da Hiyerarşik Kümelemede giriş
DBSCAN
Gürültü ile Uygulamaların Yoğunluk Tabanlı Uzamsal Kümelemesi (DBSCAN) yönteminin en büyük çekiciliklerinden biri aykırı değerlere karşı sağlam olmasıdır — ayrıca en bilinen yoğunluk tabanlı kümeleme algoritmasıdır.
DBSCAN, kümelerin, daha düşük yoğunluklu bölgelerle ayrılan uzaydaki yoğun bölgeler olduğunu varsayar. K-Ortalamalar’ın aksine, DBSCAN küme sayısını veriye göre çıkarır ve rastgele şekilli kümeleri keşfedebilir; bu nedenle küme sayısının bir parametre olarak verilmesine gerek yoktur.

OPTICS
OPTICS kısaltması, Kümeleme Yapısını Belirlemek için Noktaların Sıralanması (Ordering Points to Identify the Clustering Structure) ifadesinin baş harflerinden oluşur. DBSCAN gibi, aynı araştırma grubu tarafından geliştirilen yoğunluk tabanlı bir algoritmadır. Ancak OPTICS, veri yoğunluğunun tutarlı olduğu varsayımını göz ardı ederek, DBSCAN’in önemli bir açmazını — değişen yoğunluktaki verilerde kümeleri belirleme — aşmayı amaçlar.

Kaynak: OPTICS kümeleme algoritmasının Scikit-learn demosu
Sınıflandırma ve Kümeleme: Temel Farklar
Denetimli ve Denetimsiz Öğrenme
Sınıflandırma, bir denetimli öğrenme biçimidir. Denetimli öğrenme problemleri, girdi-çıktı çiftlerine dayanarak girdiyi çıktıya eşleyen bir fonksiyon öğrenmeyi içerir. Buna karşılık, denetimsiz öğrenme görevleri, etiketlenmemiş verilerdeki gizli kalıpları keşfetmek için kümeleme gibi yöntemleri kullanır.
Eğitim ve Test Verisine İhtiyaç
Hem sınıflandırma hem de kümeleme görevlerinin kalıpları öğrenmek için eğitim verisine ihtiyacı vardır. Ancak sınıflandırma görevlerinde, makine öğrenimi modelinin tahmin performansını değerlendirmek için test verisine sahip olmak iyi bir uygulamadır.
Algoritmik Farklılıklar
Kümeleme algoritmaları, içgörüler keşfetmek için verinin altında yatan yapıyı modellemek üzere girdi verisine dayanır. Başka bir deyişle, algoritmaya doğru cevapları bildiren bir öğretmen yoktur — algoritmanın öğrendiği kadardır. Buna karşılık, sınıflandırma algoritmaları eşleme fonksiyonunu öğrenmek için girdi ve çıktı verilerine ihtiyaç duyar; böylece yeni girdi verilerinin çıktısını tahmin etmekte kullanılabilir.
|
Sınıflandırma |
Kümeleme |
|
|
Denetimli |
Evet |
Hayır |
|
Etiketli |
Evet |
Hayır |
|
Amaç |
Yeni girdilerin çıktısını tahmin etmekte kullanılabilmesi için, bir girdi kümesinden (X) ayrık bir çıktıya (y) eşleyen eşleme fonksiyonunu (f) yaklaşıklamak. |
Girdiler (X) içindeki temel kalıpları öğrenerek örneklerin ayrılabileceği grupları önermek. |
|
Algoritmalar |
Lojistik regresyon, K-en yakın komşu, Karar Ağacı, Rastgele Orman, Naive Bayes |
K-ortalamalar, birleştirici kümeleme, bölücü kümeleme, DBSCAN, OPTICS |
|
Kullanım alanları |
Müşteri kaybı, kredi onayı, spam filtreleme, yüz tanıma |
Pazar bölümlendirme, görüntü bölütleme, sosyal ağ analizi, öneri motorları. |
Son Düşünceler
Sınıflandırma da kümeleme de örnekleri ayrık gruplara ayırmayı hedeflese de yaklaşımları temelde farklıdır. Sınıflandırma, önceden tanımlanmış etiketlere ve öğrenme sürecini yönlendiren bir denetleyiciye dayanır; bu da onu müşteri kaybı tahmini veya spam filtreleme gibi görevler için ideal kılar. Öte yandan, kümeleme bir denetleyici olmadan çalışır ve daha keşif odaklıdır; pazar bölümlendirme veya öneri sistemleri gibi alanlarda kullanılır. Bu nüansları anlamak, makine öğrenimi projenizin etkinliğini önemli ölçüde etkileyebilir.
Daha derine inmek ister misiniz? Anlayışınızı ve becerilerinizi geliştirmek için şu DataCamp kurslarına göz atın:

