Поиск подходящих кластерных методов на основе распределения данных - PullRequest
0 голосов
/ 24 марта 2020

Моя запись имеет 821050 строк и 18 столбцов. Строки представляют разных онлайн-пользователей, столбцы - поведение пользователей в онлайн-магазине. Переменные столбца включают отмены корзины покупок, количество товаров в корзине покупок, подробный просмотр товаров, просмотр списка товаров / нескольких товаров, просмотр подробного поиска и т. Д. c ... Половина переменных дискретная, половина непрерывная , 8 из переменных являются фиктивными переменными. Основываясь на наборе данных, я хочу применить различные жесткие и мягкие методы кластеризации и более точно проанализировать окончание своего набора данных. С помощью описательной статистики я проанализировал мой набор данных и получил следующие результаты:

# 1. WKA_ohneJB <- read.csv("WKA_ohneJB_PCA.csv", header=TRUE, sep = ";", stringsAsFactors =   FALSE)

# 2. summary(WKA_ohneJB)

X            BASKETS_NZ         LOGONS            PIS             PIS_AP           PIS_DV       
Min.   :     1   Min.   : 0.000   Min.   :0.0000   Min.   :  1.00   Min.   : 0.000   Min.   :  0.000  
1st Qu.:205263   1st Qu.: 1.000   1st Qu.:1.0000   1st Qu.:  9.00   1st Qu.: 0.000   1st Qu.:  0.000  
Median :410525   Median : 1.000   Median :1.0000   Median : 20.00   Median : 1.000   Median :  1.000  
Mean   :410525   Mean   : 1.023   Mean   :0.9471   Mean   : 31.11   Mean   : 1.783   Mean   :  4.554  
3rd Qu.:615786   3rd Qu.: 1.000   3rd Qu.:1.0000   3rd Qu.: 41.00   3rd Qu.: 2.000   3rd Qu.:  5.000  
Max.   :821048   Max.   :49.000   Max.   :1.0000   Max.   :593.00   Max.   :71.000   Max.   :203.000  
PIS_PL           PIS_SDV         PIS_SHOPS          PIS_SR           QUANTITY           WKA        
Min.   :  0.000   Min.   :  0.00   Min.   :  0.00   Min.   :  0.000   Min.   :  1.00   Min.   :0.0000  
1st Qu.:  0.000   1st Qu.:  0.00   1st Qu.:  0.00   1st Qu.:  0.000   1st Qu.:  1.00   1st Qu.:0.0000  
Median :  0.000   Median :  0.00   Median :  2.00   Median :  0.000   Median :  2.00   Median :1.0000  
Mean   :  5.729   Mean   :  2.03   Mean   : 10.67   Mean   :  3.873   Mean   :  3.14   Mean   :0.6341  
3rd Qu.:  4.000   3rd Qu.:  2.00   3rd Qu.: 11.00   3rd Qu.:  4.000   3rd Qu.:  4.00   3rd Qu.:1.0000  
Max.   :315.000   Max.   :142.00   Max.   :405.00   Max.   :222.000   Max.   :143.00   Max.   :1.0000  
NEW_CUST         EXIST_CUST        WEB_CUST       MOBILE_CUST      TABLET_CUST     LOGON_CUST_STEP2
Min.   :0.00000   Min.   :0.0000   Min.   :0.0000   Min.   :0.0000   Min.   :0.0000   Min.   :0.0000  
1st Qu.:0.00000   1st Qu.:1.0000   1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:0.0000  
Median :0.00000   Median :1.0000   Median :0.0000   Median :0.0000   Median :0.0000   Median :0.0000  
Mean   :0.07822   Mean   :0.9218   Mean   :0.4704   Mean   :0.3935   Mean   :0.1361   Mean   :0.1743  
3rd Qu.:0.00000   3rd Qu.:1.0000   3rd Qu.:1.0000   3rd Qu.:1.0000   3rd Qu.:0.0000   3rd Qu.:0.0000  
Max.   :1.00000   Max.   :1.0000   Max.   :1.0000   Max.   :1.0000   Max.   :1.0000   Max.   :1.0000  

enter image description here

С не фиктивными переменными это заметно, что у них правильное распределение. Для фиктивных переменных 5 имеют наклонное распределение вправо, а 3 - наклонное распределение влево.

Я также перечислил диапазон и квантили для 9 не-макетов

# BASKETS_NZ 
range(WKA_ohneJB$BASKETS_NZ) # 0 49
quantile(WKA_ohneJB$BASKETS_NZ, 0.5) # 1
quantile(WKA_ohneJB$BASKETS_NZ, 0.25) # 1
quantile(WKA_ohneJB$BASKETS_NZ, 0.75) # 1

# PIS
range(WKA_ohneJB$PIS) #   1 593
quantile(WKA_ohneJB$PIS, 0.25) # 9
quantile(WKA_ohneJB$PIS, 0.5) # 20 
quantile(WKA_ohneJB$PIS, 0.75) # 41

# PIS_AP
range(WKA_ohneJB$PIS_AP) #  0 71
quantile(WKA_ohneJB$PIS_AP, 0.25) # 0
quantile(WKA_ohneJB$PIS_AP, 0.5) # 1 
quantile(WKA_ohneJB$PIS_AP, 0.75) # 2

# PIS_DV
range(WKA_ohneJB$PIS_DV) #   0 203
quantile(WKA_ohneJB$PIS_DV, 0.25) # 0
quantile(WKA_ohneJB$PIS_DV, 0.5) # 1 
quantile(WKA_ohneJB$PIS_DV, 0.75) # 5

#PIS_PL
range(WKA_ohneJB$PIS_PL) #    0 315
quantile(WKA_ohneJB$PIS_PL, 0.25) # 0
quantile(WKA_ohneJB$PIS_PL, 0.5) # 0 
quantile(WKA_ohneJB$PIS_PL, 0.75) # 4

#PIS_SDV
range(WKA_ohneJB$PIS_SDV) #   0 142
quantile(WKA_ohneJB$PIS_SDV, 0.25) # 0
quantile(WKA_ohneJB$PIS_SDV, 0.5) # 0 
quantile(WKA_ohneJB$PIS_SDV, 0.75) # 2

# PIS_SHOPS
range(WKA_ohneJB$PIS_SHOPS) #   0 405
quantile(WKA_ohneJB$PIS_SHOPS, 0.25) # 0
quantile(WKA_ohneJB$PIS_SHOPS, 0.5) # 2 
quantile(WKA_ohneJB$PIS_SHOPS, 0.75) # 11

# PIS_SR
range(WKA_ohneJB$PIS_SR) #   0 222
quantile(WKA_ohneJB$PIS_SR, 0.25) # 0
quantile(WKA_ohneJB$PIS_SR, 0.5) # 0 
quantile(WKA_ohneJB$PIS_SR, 0.75) # 4

# QUANTITY
range(WKA_ohneJB$QUANTITY) #   1 143
quantile(WKA_ohneJB$QUANTITY, 0.25) # 1
quantile(WKA_ohneJB$QUANTITY, 0.5) # 2 
quantile(WKA_ohneJB$QUANTITY, 0.75) # 4

Как я могу узнать из распределения моих данных, какие кластерные методы подходят для кликабельного потока смешанного типа данные?

...