AKTÜERYA UYGULAMALARI

K-ORTALAMALAR KÜMELEME ANALİZİ

2024-05-29

ÖDEVİ HAZIRLAYANLAR

  • KARDELEN KAYA 2010713012
  • DAMLA BİNGÜL 2010713033
  • AHMET AKTAŞ 2010713019
  • ŞAMİL DOĞUKAN AKTAŞ 2010713021

K-ORTALAMALAR KÜMELEME ANALİZİ

YAPAY VERİ OLUŞTURMA VE ANALİZ KODLARI

options(repos = c(CRAN = "https://cloud.r-project.org/"))

# Gerekli paketleri yükleyin
install.packages("ggplot2")
## Installing package into 'C:/Users/zeraa/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'ggplot2' successfully unpacked and MD5 sums checked
## 
## The downloaded binary packages are in
##  C:\Users\zeraa\AppData\Local\Temp\Rtmp0iCzHX\downloaded_packages
install.packages("factoextra")
## Installing package into 'C:/Users/zeraa/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'factoextra' successfully unpacked and MD5 sums checked
## 
## The downloaded binary packages are in
##  C:\Users\zeraa\AppData\Local\Temp\Rtmp0iCzHX\downloaded_packages
# Gerekli kütüphaneleri yükleyin
library(ggplot2)
library(factoextra)
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
# Rastgele bir sosyal medya veri seti oluşturun (1000 gözlem)
set.seed(123)
veri <- data.frame(
  Gunluk_Mesaj_Sayisi = rpois(1000, 10),     # Ortalama 10 mesaj
  Takipci_Sayisi = rnorm(1000, 1000, 200),   # Ortalama 1000 takipçi
  Begeni_Orani = runif(1000, 0, 1),          # 0 ile 1 arasında beğeni oranı
  Paylasim_Sikligi = rpois(1000, 5),         # Ortalama 5 paylaşım
  Yorum_Sayisi = rpois(1000, 20),            # Ortalama 20 yorum
  Etiket_Sayisi = rpois(1000, 15),           # Ortalama 15 etiket
  Video_Izlenme_Suresi = rnorm(1000, 300, 50),  # Ortalama 300 saniye video izlenme süresi
  Hikaye_Goruntulenme_Sayisi = rnorm(1000, 150, 30)  # Ortalama 150 hikaye görüntülenme sayısı
)

# Optimal K değerini belirleyin
set.seed(123)
fviz_nbclust(veri, kmeans, method = "wss")

# K-Means kümeleme analizini gerçekleştirin (K=5)
set.seed(123)
km.sonuc <- kmeans(veri, 5, nstart = 25)
print(km.sonuc)
## K-means clustering with 5 clusters of sizes 252, 232, 110, 294, 112
## 
## Cluster means:
##   Gunluk_Mesaj_Sayisi Takipci_Sayisi Begeni_Orani Paylasim_Sikligi Yorum_Sayisi
## 1            9.809524        845.944    0.4830489         4.805556     19.59524
## 2           10.073276       1151.357    0.4991119         5.193966     20.25000
## 3           10.300000        657.817    0.4846522         5.181818     19.80000
## 4            9.959184       1003.717    0.4720756         5.061224     20.07823
## 5            9.937500       1345.320    0.5167988         4.910714     20.53571
##   Etiket_Sayisi Video_Izlenme_Suresi Hikaye_Goruntulenme_Sayisi
## 1      15.00000             297.1327                   148.1044
## 2      14.76293             298.6731                   147.7800
## 3      15.16364             299.9764                   149.2000
## 4      15.12585             302.4136                   150.0510
## 5      15.45536             302.1767                   144.6540
## 
## Clustering vector:
##    [1] 4 2 4 2 2 1 3 2 3 4 1 2 5 1 4 4 1 1 3 3 1 4 4 1 1 1 1 1 4 2 1 5 2 1 1 2 1
##   [38] 4 2 4 1 1 4 4 1 4 1 5 3 5 4 4 3 2 5 1 2 5 5 1 1 4 4 1 1 2 4 2 1 2 4 4 3 3
##   [75] 2 3 1 4 2 4 2 3 2 2 1 4 2 1 1 4 1 4 2 4 5 1 2 4 1 3 2 4 3 4 4 5 1 2 1 3 2
##  [112] 3 4 2 2 1 1 2 4 1 1 1 3 2 4 1 5 2 5 5 1 4 5 2 5 2 4 5 2 4 4 1 5 1 4 3 5 5
##  [149] 1 1 2 4 4 2 2 1 3 2 3 4 1 4 4 5 4 1 4 4 1 4 4 4 2 3 1 2 5 4 3 5 4 4 4 2 2
##  [186] 4 3 4 5 5 4 2 1 5 2 4 2 4 1 4 4 2 4 4 2 4 2 2 1 1 1 3 4 5 2 1 1 2 5 4 3 1
##  [223] 2 1 5 2 4 5 3 2 5 1 4 2 3 4 1 4 4 2 4 1 4 2 2 4 1 3 5 2 1 3 4 4 4 2 3 5 2
##  [260] 4 4 1 2 2 3 1 4 1 3 1 4 3 4 1 3 1 1 5 1 2 1 1 1 3 2 5 4 2 4 2 2 3 3 4 1 2
##  [297] 1 2 5 5 4 1 4 3 5 3 1 2 4 2 1 3 2 2 5 1 3 2 5 4 2 1 2 4 2 3 1 1 4 3 2 1 4
##  [334] 3 1 5 2 4 1 1 1 2 5 5 4 1 5 2 4 5 2 1 1 1 2 1 1 1 5 4 2 1 1 3 2 4 1 2 4 1
##  [371] 3 2 3 3 2 2 1 4 1 2 2 5 2 4 1 4 1 4 4 4 3 4 4 4 3 3 4 2 2 4 1 4 4 4 4 4 5
##  [408] 2 4 2 3 4 1 5 4 1 2 5 1 1 1 1 2 1 4 1 4 4 3 1 1 3 1 3 5 1 4 4 4 4 2 2 1 3
##  [445] 4 4 1 4 2 4 1 4 1 4 4 5 4 2 2 4 3 4 4 2 4 4 2 4 4 2 2 5 5 2 4 1 1 1 1 2 1
##  [482] 4 5 4 4 1 1 1 4 1 4 2 4 1 1 4 4 1 4 2 4 4 1 5 3 2 4 3 4 1 1 1 4 4 1 4 1 5
##  [519] 4 1 4 2 4 4 5 4 4 1 2 2 3 2 2 4 3 4 4 4 3 2 3 4 1 1 1 4 4 4 2 2 2 2 4 1 1
##  [556] 5 4 5 2 2 4 2 2 3 4 4 2 5 5 2 4 5 2 3 1 4 2 1 2 3 4 4 5 5 4 4 4 2 4 1 4 1
##  [593] 1 4 2 2 4 5 1 4 1 2 4 4 2 1 4 5 1 2 1 2 4 2 4 2 5 1 1 2 4 5 4 4 1 5 2 3 5
##  [630] 1 1 1 3 2 3 1 1 2 1 4 1 2 1 5 4 1 5 4 1 1 2 1 5 1 3 3 1 2 3 1 4 3 4 3 3 5
##  [667] 5 2 5 1 5 1 2 3 2 3 3 1 1 4 4 5 5 2 1 4 4 2 4 1 2 3 4 1 4 2 4 2 4 1 1 4 5
##  [704] 3 4 1 1 2 4 5 1 3 1 1 2 4 2 4 2 2 2 1 1 2 2 1 2 1 4 1 1 3 4 1 1 1 4 4 2 2
##  [741] 2 3 4 3 5 4 1 4 4 2 2 3 2 3 2 3 4 4 5 1 5 3 1 1 1 2 2 3 1 3 2 2 2 5 4 4 1
##  [778] 5 4 1 1 5 1 2 4 2 2 1 3 5 5 1 5 2 4 2 4 2 4 2 4 4 5 2 2 4 4 3 1 2 4 1 2 1
##  [815] 4 1 1 2 1 4 4 1 5 2 4 3 2 5 2 2 1 3 4 5 4 1 5 1 2 2 4 4 1 4 2 2 1 5 2 3 4
##  [852] 5 3 1 2 2 1 2 1 1 3 2 4 4 5 1 1 1 4 5 2 1 2 1 1 2 2 4 3 2 4 2 3 2 4 3 4 4
##  [889] 2 3 2 4 4 1 4 4 1 4 4 1 4 5 4 3 1 2 3 1 3 2 4 5 5 4 4 4 2 2 4 5 2 4 3 4 3
##  [926] 2 2 4 4 4 4 1 3 4 4 5 5 2 1 3 2 1 2 4 1 1 4 1 4 1 5 4 4 4 1 5 4 4 4 1 4 5
##  [963] 1 1 5 3 4 2 2 2 1 2 2 3 2 4 4 4 4 2 5 4 3 2 4 5 1 4 2 2 1 1 5 1 4 2 2 5 3
## [1000] 4
## 
## Within cluster sum of squares by cluster:
## [1] 1412351 1274650 1129459 1536635 1196835
##  (between_SS / total_SS =  85.1 %)
## 
## Available components:
## 
## [1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss"
## [6] "betweenss"    "size"         "iter"         "ifault"
# K-means sonuçlarını görselleştirin
fviz_cluster(km.sonuc, data = veri, ellipse.type = "convex", geom = "point", stand = FALSE) +
  theme_minimal()

ANALİZ SONUÇLARI

Küme Sayısı ve Boyutları:

  • Veri setinizdeki gözlemler, benzer özelliklere sahip olan ve birlikte gruplandırılan kümeleri oluşturur. Bu analizde, veri setinizin beş farklı kümeye bölündüğünü görüyoruz. Bu beş kümenin her biri farklı özelliklere sahip olabilir. Örneğin, bir küme genellikle yüksek takipçi sayısına ve etkileşime sahip kullanıcıları temsil edebilirken, diğer bir küme daha az aktif kullanıcıları temsil edebilir. Küme boyutları, her bir kümeye ait gözlem sayısını gösterir. Örneğin, 1. küme 252 gözlem içerir.

Küme Merkezleri (Ortalamalar):

  • Her bir kümenin ortalaması, o kümedeki gözlemlerin değişken değerlerinin ortalamasıdır. Örneğin, 1. kümenin “Gunluk_Mesaj_Sayisi” değişkeninin ortalaması 9.809524’tür. Bu, 1. kümenin ortalama günlük mesaj sayısının yaklaşık olarak 9.81 olduğunu gösterir.

Kümelere Atama:

  • “Clustering vector” bölümü, her bir gözlemi hangi kümenin içinde olduğunu gösterir. Bu, hangi kullanıcıların hangi segmente ait olduğunu anlamanıza yardımcı olur. Örneğin, 1. gözlem 4. kümede olduğunu gösteren bir değere sahipse, bu o kullanıcının 4. segmente ait olduğunu belirtir.

Küme İçi Değişkenlik:

  • “Within cluster sum of squares by cluster” bölümü, her bir kümenin içindeki gözlemlerin küme merkezine olan uzaklıklarının karelerinin toplamını verir. Bu değerler, her bir kümenin içindeki değişkenliği ölçer. Küme içi değişkenlik, bir kümeye ait gözlemlerin birbirlerine ne kadar benzediğini gösterir. Daha düşük değerler, bir kümeye ait gözlemlerin birbirine daha yakın olduğunu ve bu kümenin daha homojen olduğunu gösterir.

between_SS / total_SS (Kümeler Arası Karelerin Toplamı / Toplam Karelerin Toplamı): Bu oran, kümeleme analizinin ne kadar başarılı olduğunu değerlendirmek için kullanılır. Yüksek bir oran, kümeleme modelinin veri setindeki toplam değişkenliğin büyük bir kısmını açıkladığını gösterir. Bu durumda, küme merkezlerinin birbirinden belirgin şekilde farklı olduğu ve kümeleme işleminin etkili olduğu anlamına gelir.Bununla birlikte, kümeleme işleminin toplam veri setindeki varyansın %85.1’ini açıkladığını görüyoruz. Bu, k-means modelinizin veri setinin büyük bir kısmını başarılı bir şekilde açıkladığını gösterir.