Skip to content

This project performs data exploration, segmentation, and modeling of wholesale customer data using clustering algorithms, PCA, and decision trees to analyze purchasing behavior and predict customer channel preferences.

Notifications You must be signed in to change notification settings

deliprofesor/CustomerSeg-Customer-Segmentation-and-Shopping-Analysis

Repository files navigation

CustomerSeg-Customer-Segmentation-and-Shopping-Analysis

image

Kullanılan Kütüphaneler

  • Veri kümelemesi için mclust ve dbscan kullanılır.
  • Veri görselleştirme için ggplot2 ve ggcorrplot kullanılır.
  • Kümeleme ve modelleme için cluster ve rpart kullanılır.

mclust: Gaussian Mixture Models (GMM) kullanarak kümeleme yapmak için kullanılır. Bu paket, verilerdeki doğal kümeleri belirlemek için bir Gauss karışım modelini uygular ve küme sayısını otomatik olarak seçebilir. Kümeleme algoritmasını çalıştırmak ve sonuçları incelemek için kullanılır. Mclust() fonksiyonu, GMM ile veriyi kümelemenin yanı sıra, modelin doğruluğunu değerlendirmek için BIC ve AIC kriterlerini hesaplar.

ggplot2: Veriyi görselleştirmek için kullanılan bir paket. Veri analizi sonuçlarını grafiklerle görselleştirmek için kullanılır. Grafikler, veri setini daha iyi anlamak ve bulguları başkalarına iletmek için önemlidir. ggplot() fonksiyonu ile scatter plot, boxplot, histogram gibi görselleştirmeler yapılabilir. Özellikle, kümelenmiş verilerin görselleştirilmesinde kullanılır.

dbscan: Yoğunluk temelli kümeleme yöntemi olan DBSCAN'i uygulamak için kullanılır. DBSCAN, yoğunluk temelli bir kümeleme algoritmasıdır ve kümelenmemiş noktaları (aykırı değerleri) otomatik olarak algılayabilir. Özellikle, verilerdeki gürültü ve aykırı değerleri tanımlamak için faydalıdır. dbscan() fonksiyonu ile veriyi yoğunluk bazlı kümelemenin yanı sıra, verideki aykırı değerleri (outliers) de tespit edebiliriz.

cluster: Kümeleme algoritmaları ve araçları sağlamak için kullanılan bir paket. Klasik kümeleme yöntemlerinden biri olan k-means ve hiyerarşik kümeleme gibi farklı kümeleme algoritmalarını içerir. Bu paket, k-means algoritmasının yanı sıra hiyerarşik kümeleme için de fonksiyonlar sağlar. Ayrıca, kümeleri değerlendirmek için çeşitli metrikler içerir.

rpart: Karar ağaçları (decision tree) modellemesi yapmak için kullanılır. Karar ağaçları, sınıflandırma ve regresyon problemleri için yaygın olarak kullanılır. Bu paket, veriye dayalı bir karar ağacı modelini oluşturmak için gerekli fonksiyonları sağlar. rpart() fonksiyonu ile karar ağacı oluşturulabilir ve bu ağaç üzerinden verinin nasıl sınıflandırılacağını modelleyebiliriz.

ggcorrplot: Korelasyon ısısı haritası (correlation heatmap) oluşturmak için kullanılır. Bu paket, sürekli değişkenler arasındaki korelasyonu görselleştirmek için oldukça kullanışlıdır. Korelasyon analizi yaparak, hangi değişkenlerin birbirleriyle güçlü ilişkiler içinde olduğunu inceleyebilirsiniz. ggcorrplot() fonksiyonu ile veri setindeki sürekli değişkenlerin korelasyonunu görselleştirebilirsiniz.

Bu proje, toptan müşterilere ait verilerde çeşitli analiz ve kümeleme yöntemlerini kullanarak veri keşfi, segmentasyon, modelleme ve görselleştirme işlemlerini gerçekleştirmeyi amaçlamaktadır.

  • Toptan müşterilere ilişkin veriyi anlamak, temel istatistiklerini incelemek ve veri setindeki kalıpları belirlemek.
  • Müşterileri satın alma davranışlarına göre gruplara ayırmak (segmentasyon) ve farklı kümeleme algoritmalarını (K-Means, DBSCAN, GMM) karşılaştırmak.
  • PCA (Principal Component Analysis) ile veriyi görselleştirmek ve kümelerin ayrılabilirliğini analiz etmek.
  • Karar ağacı kullanarak, müşterilerin belirli özelliklerine göre hangi kanaldan (Channel) olduğu hakkında tahmin yapmak.
  • Farklı değişkenler arasındaki ilişkileri test etmek.
  • Elde edilen sonuçları grafiklerle anlamlandırmak ve aykırı değerleri analiz etmek.

Veriyi Yükleme ve Ön İşleme

Veri setini analiz etmek, normalize etmek ve kümeleme için uygun hale getirildi. Veri seti bir CSV dosyasından yüklendi. head(), str(), ve summary() fonksiyonları ile veri incelendi. Verinin sadece sayısal sütunları seçilerek, bu sütunlar normalize edildi (scale()).

Kümeleme Algoritmaları

K-Means Kümelemesi

Müşteri segmentlerini tanımlamak ve her grubun özelliklerini analiz etmek için K-Means kullanıldı. Küme sayısını belirlemek için Elbow Yöntemi ve Silhouette Skoru kullanıldı. Veriler, 3 küme olacak şekilde K-Means algoritmasıyla segmentlere ayrıldı. Her bir küme için temel istatistikler hesaplandı.

elbow

silhouette silhouette-score

DBSCAN Kümelemesi

K-Means ile kıyaslanabilir alternatif bir kümeleme yöntemi denemek için DSBCAN kümelemesi kullanıldı. DBSCAN algoritması, yoğunluk temelli kümeleme için kullanıldı. eps (komşuluk yarıçapı) ve minPts (minimum komşu sayısı) parametreleri belirlendi. DBSCAN kümeleri PCA ile görselleştirildi.

DSBCAN_PCA

GMM (Gaussian Mixture Model) Kümelemesi

K-Means ve DBSCAN’e ek olarak, verilerdeki olası karmaşık yapıları yakalamak için GMM kümelemesi kullanıldı. Veriler, GMM kullanılarak kümelendi. BIC (Bayesian Information Criterion) ve AIC (Akaike Information Criterion) değerleri hesaplandı. Farklı küme sayıları denenerek en iyi model seçildi.

GMM_PCA

Boyut İndirgeme ve Görselleştirme

Kümelerin görsel olarak ayrılabilirliğini analiz etmek ve boyut indirgeme tekniklerini uygulandı. PCA (Principal Component Analysis) ile veri boyutu 2’ye indirildi. PCA sonuçları kullanılarak K-Means, DBSCAN ve GMM kümeleri görselleştirildi.

PCA

PCA_boyut_indirgeme

Aykırı Değer Analizi

Veri setindeki olası aykırı değerleri analiz etmek ve veri kalitesini değerlendirildi. Aykırı değerler IQR (Interquartile Range) yöntemiyle tespit edildi. Boxplot kullanılarak aykırı değerlerin görselleştirilmesi sağlandı.

Fresh_aykırı_değerler

İlişki Analizi

Kategorik değişkenler arasındaki anlamlı ilişkileri incelendi. Channel (müşteri tipi) ve Region (bölge) değişkenleri arasındaki ilişki, Ki-Kare Testi ile analiz edildi. Barplot grafikleri ile bu ilişki görselleştirildi.

channel_region

Karar Ağacı (Decision Tree) Modeli

Müşterilerin özelliklerine dayanarak kanal tahmini yapıldı ve sınıflandırma performansını ölçüldü. Channel (müşteri tipi) tahmini için karar ağacı modeli oluşturuldu. Veri seti eğitim (%70) ve test (%30) olarak bölündü. Test verisinde tahmin yapılarak modelin doğruluk oranı ve karmaşıklık matrisi hesaplandı. Karar ağacı grafiği çizilerek modelin yapısı görselleştirildi.

karar_ağacı

Korelasyon Analizi

Sayısal değişkenler arasındaki ilişkileri analiz edildi. Tüm sayısal sütunlar arasındaki korelasyonlar hesaplandı. Korelasyon matrisinin görselleştirilmesi için ısı haritası (ggcorrplot) oluşturuldu.

korelasyon

About

This project performs data exploration, segmentation, and modeling of wholesale customer data using clustering algorithms, PCA, and decision trees to analyze purchasing behavior and predict customer channel preferences.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages