← Back to list

K-means Kümeleme Analizi

Zeynep · 2022-02-08 15:59 · 120 claps · 3.0 min read
#kümeleme #k-means #k-means-clustering #veri #data-science
Open on Medium ↗
Wiki topics: ML · Machine Learning 🔬 · Science · General

K-means Kümeleme Analizi

Datasetlerimizde her zaman bağımlı değişkenlerimiz olmaz. Bir şekilde verimizi kümelendirmemiz, birbirine benzer ya da yakın öğelerin oluşturduğu topluluklara ayırmamız gerekir. Bu yazımda K-means yöntemini kullanarak müşteri segmentasyonu için kümeleme analizi yapacağız.

Kümeleme Analizinin Aşamaları

  1. Veri matrisinin oluşturulması,
  2. Benzerlik ya da uzaklık matrislerinin elde edilmesi,
  3. kümeleme yönteminin belirlenmesi ve kümelerin oluşturulması,
  4. Sonuçların yorumlanması.

K-Means

Gözlemleri birbirlerine olan benzerliklerine göre kümelere ayırır.

Veri Setimizi Tanıyalım.


# IS PROBLEMI
# Kural tabanlı müşteri segmentasyonu  yöntemi RFM ile
# makine öğrenmesi yöntemi  olan K-Means'in müşteri segmentasyonu için
# karşılaştırılması beklenmektedir.

# VERI SETI
# Online Retail II isimli veri seti İngiltere merkezli online bir satış
# mağazasının 01/12/2009 - 09/12/2011 tarihleri arasındaki satışlarını
# içermektedir

# DEGISKENLER
# InvoiceNO – Fatura Numarası
# Eğer bu kod C ile başlıyorsa işlemin iptal edildiğini ifade eder.
# StockCode – Ürün Kodu
# Her bir ürün için eşsiz numara
# Description – Ürün İsmi
# Quantity – Ürün Adedi
# Faturalardaki ürünlerden kaçar tane satıldığını ifade etmektedir.
# InvoiceDate – Fatura tarihi
# UnitPrice – Fatura fiyatı (Sterlin)
# CustomerID – Eşsiz müşteri numarası
# Country – Ülke ismi

Gerekli kütüphaneleri yükleyelim.

Veri setimizi okutalım.

Veri setimizdeki sayısal değişkenlerimize bir göz atalım.

Python Console çıktı:

Sayısal değişkenler %99 a kadar kabul edilebilir aralıkta dağılırken, max değerlerinde aykırılıklar gözüküyor. Kümeleme yaptığımız için ve bu aykırılıklıklar verinin yüzde 0.8 ine denk geldiği için replace_with_thresholds fonksiyonu ile baskılamayı tercih ediyorum.

Veri Baskılanması

RFM Metriklerinin Hesaplanması (Calculating RFM Metrics)

recency: Müşterinin en son ne zaman alışveriş yaptığını gösteren sayısal veri.

frequency: Müşterinin alışveriş sıklığını gösteren sayısal veri.

monetary: Müşteri alışverişinin parasal karşılığını gösteren sayısal veri.

K-means Standartlaştırma

Uzaklık temelli yöntemlerde standartlaştırma yapılması gerekir. Verilerin [0, 1] arasında standartlaştırılması her değişkenin kümelenirken aynı etkiye sahip olmasını sağlar.

Peki kaç kümeye ayrılmalı?

Bunu otomatik bir fonksiyon aracılığıyla ele alacağız. İstenildiği takdirde manuel olarak ayarlanabilir.

Optimum Küme Sayısının Belirlenmesi

Aşağıdaki çıktıda da görüldüğü üzere optimal küme sayımız 5 olarak bulundu.

Kümelerin Görselleştirilmesi ve Merkezlerinin İşaretlenmesi

Python Console Cıktı:

Yukarıdaki görselde datasetim7izdeki veriler kendi aralarında en optimal şekilde kümelendiler. Her kümenin kendine ait özellikleri bulunmakta. Kümeler incelendiğinde istenildiği şeklinde üzerinde oynanabilir ve küme sayılarında değişikliğe gidilebilir. Tamamen manuel şeklinde parametreleri ile oynanabildiği için oldukça kullanışlıdır.

Not: Kodun tamamına git.hub hesabımdan ulaşabilirsiniz.

KAYNAK

Veri bilimi Okulu (VBO) destekleriyle... ❤

Dataset: https://archive.ics.uci.edu/ml/datasets/Online+Retail+II

❤ Takipleşelim! ❤

Linkedin

Git.hub

[embed]Zeynep Kaya - Data Science & Machine Learning Bootcamp Participant - Veri Bilimi Okulu | LinkedIn View Zeynep Kaya's profile on LinkedIn, the world's largest professional community. Zeynep has 8 jobs listed on their…www.linkedin.com


메타데이터
post_id
ff03526be5bb
slug
k-means-kümeleme-analizi-ff03526be5bb
url
https://medium.com/@zeyland/k-means-k%C3%BCmeleme-analizi-ff03526be5bb
canonical_url
https://medium.com/@zeyland/k-means-k%C3%BCmeleme-analizi-ff03526be5bb
author_url
https://medium.com/@zeyland
status
ok
fetched_at
2026-07-27 13:01:19