#package
library(haven)
library(nnet)
library(caret)
## Loading required package: ggplot2
## Loading required package: lattice
#input data
library(readxl)
data_pelanggan <- read_excel("DATA MULTINOM.xlsx", sheet = "Segmentasi Pelanggan")
head(data_pelanggan)
## # A tibble: 6 × 10
## Gender Ever_Married Age Graduated Profession Work_Experience Spending_Score
## <chr> <chr> <dbl> <chr> <chr> <dbl> <chr>
## 1 Male No 22 No Healthcare 1 Low
## 2 Female Yes 67 Yes Engineer 1 Low
## 3 Male Yes 67 Yes Lawyer 0 High
## 4 Male Yes 56 No Artist 0 Average
## 5 Male No 32 Yes Healthcare 1 Low
## 6 Female No 33 Yes Healthcare 1 Low
## # ℹ 3 more variables: Family_Size <dbl>, Var_1 <chr>, Segmentation <chr>
str(data_pelanggan)
## tibble [6,665 × 10] (S3: tbl_df/tbl/data.frame)
## $ Gender : chr [1:6665] "Male" "Female" "Male" "Male" ...
## $ Ever_Married : chr [1:6665] "No" "Yes" "Yes" "Yes" ...
## $ Age : num [1:6665] 22 67 67 56 32 33 61 55 26 19 ...
## $ Graduated : chr [1:6665] "No" "Yes" "Yes" "No" ...
## $ Profession : chr [1:6665] "Healthcare" "Engineer" "Lawyer" "Artist" ...
## $ Work_Experience: num [1:6665] 1 1 0 0 1 1 0 1 1 4 ...
## $ Spending_Score : chr [1:6665] "Low" "Low" "High" "Average" ...
## $ Family_Size : num [1:6665] 4 1 2 2 3 3 3 4 3 4 ...
## $ Var_1 : chr [1:6665] "Cat_4" "Cat_6" "Cat_6" "Cat_6" ...
## $ Segmentation : chr [1:6665] "D" "B" "B" "C" ...
#merubah variabel ke faktor
data_pelanggan$Gender<-as.factor(data_pelanggan$Gender)
data_pelanggan$Ever_Married<-as.factor(data_pelanggan$Ever_Married)
data_pelanggan$Graduated<-as.factor(data_pelanggan$Graduated)
data_pelanggan$Profession<-as.factor(data_pelanggan$Profession)
data_pelanggan$Work_Experience<-as.factor(data_pelanggan$Work_Experience)
data_pelanggan$Spending_Score<-as.factor(data_pelanggan$Spending_Score)
data_pelanggan$Family_Size<-as.factor(data_pelanggan$Family_Size)
data_pelanggan$Var_1<-as.factor(data_pelanggan$Var_1)
data_pelanggan$Segmentation<-as.factor(data_pelanggan$Segmentation)
str(data_pelanggan)
## tibble [6,665 × 10] (S3: tbl_df/tbl/data.frame)
## $ Gender : Factor w/ 2 levels "Female","Male": 2 1 2 2 2 1 1 1 1 2 ...
## $ Ever_Married : Factor w/ 2 levels "No","Yes": 1 2 2 2 1 1 2 2 1 1 ...
## $ Age : num [1:6665] 22 67 67 56 32 33 61 55 26 19 ...
## $ Graduated : Factor w/ 2 levels "No","Yes": 1 2 2 1 2 2 2 2 2 1 ...
## $ Profession : Factor w/ 9 levels "Artist","Doctor",..: 6 3 8 1 6 6 3 1 3 6 ...
## $ Work_Experience: Factor w/ 15 levels "0","1","2","3",..: 2 2 1 1 2 2 1 2 2 5 ...
## $ Spending_Score : Factor w/ 3 levels "Average","High",..: 3 3 2 1 3 3 3 1 3 3 ...
## $ Family_Size : Factor w/ 9 levels "1","2","3","4",..: 4 1 2 2 3 3 3 4 3 4 ...
## $ Var_1 : Factor w/ 7 levels "Cat_1","Cat_2",..: 4 6 6 6 6 6 7 6 6 4 ...
## $ Segmentation : Factor w/ 4 levels "A","B","C","D": 4 2 2 3 3 4 4 3 1 4 ...
##plot
###boxplot
boxplot(Age~Segmentation, data=data_pelanggan,
main="Boxplot umur dan segmentasi",
col=c("lightgreen","lightblue","brown", "orange"))
###bar plot
barplot(table(data_pelanggan$Segmentation, data_pelanggan$Gender),
main = "Barplot segmentation dan Gender",
xlab = "Gender",
ylab = "Jumlah",
col = c("lightgreen","lightblue","brown", "orange"),
beside =TRUE
)
##summary
library(arsenal)
tab<-tableby(Segmentation~ .,data=data_pelanggan)
summary(tab,text=TRUE)
##
##
## | | A (N=1616) | B (N=1572) | C (N=1720) | D (N=1757) | Total (N=6665) | p value|
## |:----------------|:---------------:|:---------------:|:---------------:|:---------------:|:---------------:|-------:|
## |Gender | | | | | | 0.003|
## |- Female | 740 (45.8%) | 732 (46.6%) | 795 (46.2%) | 721 (41.0%) | 2988 (44.8%) | |
## |- Male | 876 (54.2%) | 840 (53.4%) | 925 (53.8%) | 1036 (59.0%) | 3677 (55.2%) | |
## |Ever_Married | | | | | | < 0.001|
## |- No | 676 (41.8%) | 419 (26.7%) | 338 (19.7%) | 1288 (73.3%) | 2721 (40.8%) | |
## |- Yes | 940 (58.2%) | 1153 (73.3%) | 1382 (80.3%) | 469 (26.7%) | 3944 (59.2%) | |
## |Age | | | | | | < 0.001|
## |- Mean (SD) | 44.421 (16.173) | 48.113 (14.694) | 49.328 (14.479) | 32.957 (15.262) | 43.536 (16.524) | |
## |- Range | 18.000 - 89.000 | 18.000 - 89.000 | 18.000 - 89.000 | 18.000 - 89.000 | 18.000 - 89.000 | |
## |Graduated | | | | | | < 0.001|
## |- No | 591 (36.6%) | 421 (26.8%) | 286 (16.6%) | 1118 (63.6%) | 2416 (36.2%) | |
## |- Yes | 1025 (63.4%) | 1151 (73.2%) | 1434 (83.4%) | 639 (36.4%) | 4249 (63.8%) | |
## |Profession | | | | | | < 0.001|
## |- Artist | 470 (29.1%) | 660 (42.0%) | 948 (55.1%) | 114 (6.5%) | 2192 (32.9%) | |
## |- Doctor | 168 (10.4%) | 127 (8.1%) | 123 (7.2%) | 174 (9.9%) | 592 (8.9%) | |
## |- Engineer | 221 (13.7%) | 159 (10.1%) | 64 (3.7%) | 138 (7.9%) | 582 (8.7%) | |
## |- Entertainment | 320 (19.8%) | 191 (12.2%) | 125 (7.3%) | 173 (9.8%) | 809 (12.1%) | |
## |- Executive | 98 (6.1%) | 149 (9.5%) | 164 (9.5%) | 94 (5.4%) | 505 (7.6%) | |
## |- Healthcare | 88 (5.4%) | 85 (5.4%) | 124 (7.2%) | 780 (44.4%) | 1077 (16.2%) | |
## |- Homemaker | 48 (3.0%) | 44 (2.8%) | 19 (1.1%) | 64 (3.6%) | 175 (2.6%) | |
## |- Lawyer | 157 (9.7%) | 133 (8.5%) | 124 (7.2%) | 86 (4.9%) | 500 (7.5%) | |
## |- Marketing | 46 (2.8%) | 24 (1.5%) | 29 (1.7%) | 134 (7.6%) | 233 (3.5%) | |
## |Work_Experience | | | | | | < 0.001|
## |- 0 | 491 (30.4%) | 527 (33.5%) | 587 (34.1%) | 528 (30.1%) | 2133 (32.0%) | |
## |- 1 | 527 (32.6%) | 536 (34.1%) | 600 (34.9%) | 524 (29.8%) | 2187 (32.8%) | |
## |- 2 | 54 (3.3%) | 58 (3.7%) | 73 (4.2%) | 74 (4.2%) | 259 (3.9%) | |
## |- 3 | 56 (3.5%) | 56 (3.6%) | 58 (3.4%) | 65 (3.7%) | 235 (3.5%) | |
## |- 4 | 48 (3.0%) | 63 (4.0%) | 64 (3.7%) | 58 (3.3%) | 233 (3.5%) | |
## |- 5 | 47 (2.9%) | 39 (2.5%) | 39 (2.3%) | 54 (3.1%) | 179 (2.7%) | |
## |- 6 | 41 (2.5%) | 43 (2.7%) | 44 (2.6%) | 59 (3.4%) | 187 (2.8%) | |
## |- 7 | 49 (3.0%) | 38 (2.4%) | 51 (3.0%) | 47 (2.7%) | 185 (2.8%) | |
## |- 8 | 100 (6.2%) | 76 (4.8%) | 88 (5.1%) | 133 (7.6%) | 397 (6.0%) | |
## |- 9 | 132 (8.2%) | 89 (5.7%) | 84 (4.9%) | 138 (7.9%) | 443 (6.6%) | |
## |- 10 | 11 (0.7%) | 10 (0.6%) | 7 (0.4%) | 23 (1.3%) | 51 (0.8%) | |
## |- 11 | 13 (0.8%) | 7 (0.4%) | 11 (0.6%) | 14 (0.8%) | 45 (0.7%) | |
## |- 12 | 19 (1.2%) | 11 (0.7%) | 3 (0.2%) | 12 (0.7%) | 45 (0.7%) | |
## |- 13 | 12 (0.7%) | 12 (0.8%) | 7 (0.4%) | 12 (0.7%) | 43 (0.6%) | |
## |- 14 | 16 (1.0%) | 7 (0.4%) | 4 (0.2%) | 16 (0.9%) | 43 (0.6%) | |
## |Spending_Score | | | | | | < 0.001|
## |- Average | 270 (16.7%) | 499 (31.7%) | 795 (46.2%) | 98 (5.6%) | 1662 (24.9%) | |
## |- High | 214 (13.2%) | 315 (20.0%) | 370 (21.5%) | 105 (6.0%) | 1004 (15.1%) | |
## |- Low | 1132 (70.0%) | 758 (48.2%) | 555 (32.3%) | 1554 (88.4%) | 3999 (60.0%) | |
## |Family_Size | | | | | | < 0.001|
## |- 1 | 484 (30.0%) | 323 (20.5%) | 119 (6.9%) | 317 (18.0%) | 1243 (18.6%) | |
## |- 2 | 537 (33.2%) | 538 (34.2%) | 711 (41.3%) | 307 (17.5%) | 2093 (31.4%) | |
## |- 3 | 277 (17.1%) | 281 (17.9%) | 348 (20.2%) | 386 (22.0%) | 1292 (19.4%) | |
## |- 4 | 182 (11.3%) | 260 (16.5%) | 339 (19.7%) | 393 (22.4%) | 1174 (17.6%) | |
## |- 5 | 66 (4.1%) | 117 (7.4%) | 132 (7.7%) | 207 (11.8%) | 522 (7.8%) | |
## |- 6 | 32 (2.0%) | 32 (2.0%) | 37 (2.2%) | 79 (4.5%) | 180 (2.7%) | |
## |- 7 | 22 (1.4%) | 13 (0.8%) | 12 (0.7%) | 34 (1.9%) | 81 (1.2%) | |
## |- 8 | 7 (0.4%) | 5 (0.3%) | 11 (0.6%) | 19 (1.1%) | 42 (0.6%) | |
## |- 9 | 9 (0.6%) | 3 (0.2%) | 11 (0.6%) | 15 (0.9%) | 38 (0.6%) | |
## |Var_1 | | | | | | < 0.001|
## |- Cat_1 | 24 (1.5%) | 21 (1.3%) | 23 (1.3%) | 36 (2.0%) | 104 (1.6%) | |
## |- Cat_2 | 71 (4.4%) | 89 (5.7%) | 86 (5.0%) | 116 (6.6%) | 362 (5.4%) | |
## |- Cat_3 | 175 (10.8%) | 150 (9.5%) | 118 (6.9%) | 191 (10.9%) | 634 (9.5%) | |
## |- Cat_4 | 258 (16.0%) | 188 (12.0%) | 92 (5.3%) | 311 (17.7%) | 849 (12.7%) | |
## |- Cat_5 | 16 (1.0%) | 20 (1.3%) | 17 (1.0%) | 21 (1.2%) | 74 (1.1%) | |
## |- Cat_6 | 1030 (63.7%) | 1067 (67.9%) | 1344 (78.1%) | 1035 (58.9%) | 4476 (67.2%) | |
## |- Cat_7 | 42 (2.6%) | 37 (2.4%) | 40 (2.3%) | 47 (2.7%) | 166 (2.5%) | |
#partisi data
set.seed(1234)
acak<-createDataPartition(data_pelanggan$Segmentation,p=0.8, list=FALSE)
data_train<-data_pelanggan[acak, ]
data_test<-data_pelanggan[-acak,]
summary(data_train)
## Gender Ever_Married Age Graduated Profession
## Female:2405 No :2179 Min. :18.00 No :1931 Artist :1742
## Male :2928 Yes:3154 1st Qu.:31.00 Yes:3402 Healthcare : 861
## Median :41.00 Entertainment: 656
## Mean :43.51 Doctor : 479
## 3rd Qu.:53.00 Engineer : 463
## Max. :89.00 Executive : 408
## (Other) : 724
## Work_Experience Spending_Score Family_Size Var_1 Segmentation
## 1 :1727 Average:1326 2 :1680 Cat_1: 81 A:1293
## 0 :1723 High : 813 3 :1033 Cat_2: 292 B:1258
## 9 : 351 Low :3194 1 :1001 Cat_3: 489 C:1376
## 8 : 313 4 : 922 Cat_4: 701 D:1406
## 2 : 216 5 : 432 Cat_5: 64
## 3 : 189 6 : 139 Cat_6:3565
## (Other): 814 (Other): 126 Cat_7: 141
summary(data_test)
## Gender Ever_Married Age Graduated Profession
## Female:583 No :542 Min. :18.00 No :485 Artist :450
## Male :749 Yes:790 1st Qu.:31.00 Yes:847 Healthcare :216
## Median :41.00 Entertainment:153
## Mean :43.65 Engineer :119
## 3rd Qu.:53.00 Doctor :113
## Max. :89.00 Lawyer :102
## (Other) :179
## Work_Experience Spending_Score Family_Size Var_1 Segmentation
## 1 :460 Average:336 2 :413 Cat_1: 23 A:323
## 0 :410 High :191 3 :259 Cat_2: 70 B:314
## 9 : 92 Low :805 4 :252 Cat_3:145 C:344
## 8 : 84 1 :242 Cat_4:148 D:351
## 4 : 51 5 : 90 Cat_5: 10
## 3 : 46 6 : 41 Cat_6:911
## (Other):189 (Other): 35 Cat_7: 25
#create model
model.pelanggan <- multinom(Segmentation~., data = data_train)
## # weights: 176 (129 variable)
## initial value 7393.107828
## iter 10 value 6214.291157
## iter 20 value 5892.019760
## iter 30 value 5785.833575
## iter 40 value 5754.987679
## iter 50 value 5743.399411
## iter 60 value 5741.915826
## iter 70 value 5741.777790
## iter 80 value 5741.758232
## final value 5741.757377
## converged
summary(model.pelanggan)
## Call:
## multinom(formula = Segmentation ~ ., data = data_train)
##
## Coefficients:
## (Intercept) GenderMale Ever_MarriedYes Age GraduatedYes
## B -0.3308016 -0.2608484 -0.002879726 0.02203551 0.3915222
## C -1.5173373 -0.3805169 -0.262424199 0.03166455 0.8256809
## D -0.7247106 0.3671490 -0.332396450 -0.02092005 -0.5314846
## ProfessionDoctor ProfessionEngineer ProfessionEntertainment
## B -0.4952564 -0.6891027 -0.7813488
## C -0.8819762 -1.8326290 -1.6305750
## D 0.9986760 0.7783583 0.5422408
## ProfessionExecutive ProfessionHealthcare ProfessionHomemaker ProfessionLawyer
## B -0.2739202 -0.05725505 -0.3071754 -1.126061
## C -0.4158058 0.17468763 -1.3167495 -1.657302
## D 1.5004319 2.74441061 1.5430181 1.764725
## ProfessionMarketing Work_Experience1 Work_Experience2 Work_Experience3
## B -0.7997398 -0.08131834 0.019451917 -0.26367715
## C -0.6259979 -0.15351104 0.008078449 -0.33020929
## D 2.0910310 -0.07834593 0.512828729 0.04108072
## Work_Experience4 Work_Experience5 Work_Experience6 Work_Experience7
## B 0.03660689 -0.1769364 0.2634021 -0.46602485
## C -0.14456502 -0.3264391 0.2545487 -0.35324310
## D -0.14719638 0.3139028 0.6866808 0.07943873
## Work_Experience8 Work_Experience9 Work_Experience10 Work_Experience11
## B -0.2393547 -0.4980480 0.3744410 -0.3106612
## C -0.2338167 -0.5882774 -0.2986733 -0.1698408
## D 0.2664892 0.1666809 0.8765640 0.2891822
## Work_Experience12 Work_Experience13 Work_Experience14 Spending_ScoreHigh
## B -0.6884391 0.17886551 -0.7332575 -0.2738913
## C -1.7852075 0.06543966 -1.6385279 -0.7869279
## D -0.4974071 0.05066851 0.3782846 -0.1623764
## Spending_ScoreLow Family_Size2 Family_Size3 Family_Size4 Family_Size5
## B -0.8576621 0.18159027 0.4426229 0.7545654 1.1374366
## C -1.4111922 1.40066276 1.5758421 2.0358399 2.3413878
## D 0.6173531 -0.06903979 0.1130672 0.2609753 0.5796339
## Family_Size6 Family_Size7 Family_Size8 Family_Size9 Var_1Cat_2 Var_1Cat_3
## B 0.6478666 -0.30453510 0.6244929 -0.1898105 0.0685295 -0.10469835
## C 2.0380476 0.47704109 3.4732274 2.4011385 0.1546357 -0.01265127
## D 0.2424980 0.06714705 0.3067720 -0.2742767 -0.3170106 -0.33563630
## Var_1Cat_4 Var_1Cat_5 Var_1Cat_6 Var_1Cat_7
## B -0.39198512 0.3779810 -0.0590146384 -0.15629561
## C -0.92378076 0.2699057 0.3696901441 0.06812246
## D -0.07434217 -0.3171781 0.0001999611 -0.25968470
##
## Std. Errors:
## (Intercept) GenderMale Ever_MarriedYes Age GraduatedYes
## B 0.4333329 0.09185867 0.1249278 0.003962891 0.09652044
## C 0.4806138 0.09639624 0.1429325 0.004218812 0.10823256
## D 0.4727107 0.09960221 0.1317875 0.004734805 0.09750179
## ProfessionDoctor ProfessionEngineer ProfessionEntertainment
## B 0.1563931 0.1506528 0.1309435
## C 0.1657282 0.1919005 0.1498151
## D 0.1776424 0.1851021 0.1657858
## ProfessionExecutive ProfessionHealthcare ProfessionHomemaker ProfessionLawyer
## B 0.1932829 0.1996016 0.2653223 0.1962304
## C 0.1977779 0.1927033 0.3429779 0.2106866
## D 0.2335412 0.1866159 0.2651131 0.2466198
## ProfessionMarketing Work_Experience1 Work_Experience2 Work_Experience3
## B 0.2980761 0.1024662 0.2292250 0.2351022
## C 0.2933355 0.1083121 0.2392784 0.2432335
## D 0.2350590 0.1140916 0.2446679 0.2515822
## Work_Experience4 Work_Experience5 Work_Experience6 Work_Experience7
## B 0.2288719 0.2615015 0.2690640 0.2571008
## C 0.2486522 0.2782556 0.2858487 0.2598892
## D 0.2731133 0.2649202 0.2749541 0.2774291
## Work_Experience8 Work_Experience9 Work_Experience10 Work_Experience11
## B 0.1935737 0.1802147 0.5234036 0.5051114
## C 0.2027412 0.1945777 0.6620820 0.5029690
## D 0.1912490 0.1778137 0.5167811 0.4757535
## Work_Experience12 Work_Experience13 Work_Experience14 Spending_ScoreHigh
## B 0.4520077 0.4678912 0.5662502 0.1552828
## C 0.6721071 0.5362890 0.7179523 0.1608334
## D 0.4769755 0.5247463 0.4713780 0.2174043
## Spending_ScoreLow Family_Size2 Family_Size3 Family_Size4 Family_Size5
## B 0.1318179 0.1277090 0.1451195 0.1620443 0.2097538
## C 0.1399112 0.1548004 0.1717198 0.1864264 0.2348486
## D 0.1746606 0.1378962 0.1495589 0.1647892 0.2116152
## Family_Size6 Family_Size7 Family_Size8 Family_Size9 Var_1Cat_2 Var_1Cat_3
## B 0.3089082 0.4330966 0.7600600 0.7060151 0.3874355 0.3659527
## C 0.3370861 0.5614072 0.6473267 0.5898793 0.4261945 0.4071027
## D 0.2899252 0.3546896 0.5824946 0.5543134 0.3968540 0.3757696
## Var_1Cat_4 Var_1Cat_5 Var_1Cat_6 Var_1Cat_7
## B 0.3593922 0.5146620 0.3456312 0.4245905
## C 0.4073475 0.5717360 0.3826031 0.4632442
## D 0.3647094 0.5487819 0.3522228 0.4380023
##
## Residual Deviance: 11483.51
## AIC: 11741.51
##uji multicol
library(car)
## Loading required package: carData
vif(model.pelanggan)
## Warning in vif.default(model.pelanggan): No intercept: vifs may not be
## sensible.
## GVIF Df GVIF^(1/(2*Df))
## Gender 3.984095 1 1.996020
## Ever_Married 9.846192 1 3.137864
## Age 34.852568 1 5.903606
## Graduated 6.011431 1 2.451822
## Profession 182.617388 8 1.384670
## Work_Experience 561.692423 14 1.253708
## Spending_Score 26.180775 2 2.262016
## Family_Size 217.168955 8 1.399748
## Var_1 959.230401 6 1.772122
##uji simultan
library(lmtest)
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
lrtest(model.pelanggan)
## # weights: 8 (3 variable)
## initial value 7393.107828
## final value 7387.701489
## converged
## Likelihood ratio test
##
## Model 1: Segmentation ~ Gender + Ever_Married + Age + Graduated + Profession +
## Work_Experience + Spending_Score + Family_Size + Var_1
## Model 2: Segmentation ~ 1
## #Df LogLik Df Chisq Pr(>Chisq)
## 1 129 -5741.8
## 2 3 -7387.7 -126 3291.9 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##uji partical
z <- summary(model.pelanggan)$coefficients/summary(model.pelanggan)$standard.errors
p <- (1-pnorm(abs(z),0, 1))*2
data.frame(p)
## X.Intercept. GenderMale Ever_MarriedYes Age GraduatedYes
## B 0.445231470 4.516007e-03 0.98160949 2.690597e-08 4.984223e-05
## C 0.001593563 7.899648e-05 0.06635757 6.106227e-14 2.375877e-14
## D 0.125252402 2.276696e-04 0.01166185 9.945451e-06 5.008072e-08
## ProfessionDoctor ProfessionEngineer ProfessionEntertainment
## B 1.541578e-03 4.782473e-06 2.415566e-09
## C 1.027324e-07 0.000000e+00 0.000000e+00
## D 1.889404e-08 2.610581e-05 1.072694e-03
## ProfessionExecutive ProfessionHealthcare ProfessionHomemaker ProfessionLawyer
## B 1.564250e-01 0.7742298 2.469684e-01 9.553835e-09
## C 3.551930e-02 0.3646657 1.234522e-04 3.552714e-15
## D 1.321303e-10 0.0000000 5.876838e-09 8.326673e-13
## ProfessionMarketing Work_Experience1 Work_Experience2 Work_Experience3
## B 0.007296391 0.4274218 0.93237309 0.2620570
## C 0.032837223 0.1563945 0.97306717 0.1745966
## D 0.000000000 0.4922761 0.03608044 0.8702906
## Work_Experience4 Work_Experience5 Work_Experience6 Work_Experience7
## B 0.8729245 0.4986487 0.32760111 0.0698912
## C 0.5609746 0.2407306 0.37319660 0.1740812
## D 0.5899163 0.2360587 0.01250943 0.7746186
## Work_Experience8 Work_Experience9 Work_Experience10 Work_Experience11
## B 0.2162710 0.005716106 0.47436418 0.5385316
## C 0.2487968 0.002499888 0.65190870 0.7356070
## D 0.1634944 0.348557729 0.08984803 0.5432934
## Work_Experience12 Work_Experience13 Work_Experience14 Spending_ScoreHigh
## B 0.127741321 0.7022536 0.19534247 7.776194e-02
## C 0.007904186 0.9028807 0.02247612 9.940357e-07
## D 0.297024364 0.9230773 0.42225915 4.551318e-01
## Spending_ScoreLow Family_Size2 Family_Size3 Family_Size4 Family_Size5
## B 7.696510e-11 0.1550532 0.002287964 3.215704e-06 5.869832e-08
## C 0.000000e+00 0.0000000 0.000000000 0.000000e+00 0.000000e+00
## D 4.084137e-04 0.6166070 0.449646385 1.132638e-01 6.160873e-03
## Family_Size6 Family_Size7 Family_Size8 Family_Size9 Var_1Cat_2 Var_1Cat_3
## B 3.596891e-02 0.4819576 4.112839e-01 7.880469e-01 0.8596028 0.7748031
## C 1.484171e-09 0.3954787 8.072823e-08 4.690047e-05 0.7167326 0.9752086
## D 4.029210e-01 0.8498482 5.984353e-01 6.207382e-01 0.4244011 0.3717517
## Var_1Cat_4 Var_1Cat_5 Var_1Cat_6 Var_1Cat_7
## B 0.27540975 0.4626893 0.8644246 0.7127919
## C 0.02334167 0.6368689 0.3339192 0.8830885
## D 0.83847894 0.5632860 0.9995470 0.5532586
model.pelanggan$AIC
## [1] 11741.51
#prediksi pada data test
predict_prob = predict(model.pelanggan, data_test, type = "prob")
head(predict_prob, 10)
## A B C D
## 1 0.03502371 0.23045403 0.731804899 0.002717358
## 2 0.39982757 0.21706620 0.106789040 0.276317191
## 3 0.57095158 0.19365182 0.007678847 0.227717752
## 4 0.06440217 0.04243364 0.057776851 0.835387342
## 5 0.34502123 0.31921519 0.269400092 0.066363490
## 6 0.49509616 0.17276465 0.044040257 0.288098930
## 7 0.40701992 0.23444714 0.158850074 0.199682864
## 8 0.04961306 0.03351229 0.043687056 0.873187596
## 9 0.08843835 0.32647409 0.579873307 0.005214257
## 10 0.35842994 0.25827341 0.242975992 0.140320666
head(data.frame(predict_prob, data_test$Segmentation), 10)
## A B C D data_test.Segmentation
## 1 0.03502371 0.23045403 0.731804899 0.002717358 C
## 2 0.39982757 0.21706620 0.106789040 0.276317191 A
## 3 0.57095158 0.19365182 0.007678847 0.227717752 A
## 4 0.06440217 0.04243364 0.057776851 0.835387342 D
## 5 0.34502123 0.31921519 0.269400092 0.066363490 A
## 6 0.49509616 0.17276465 0.044040257 0.288098930 A
## 7 0.40701992 0.23444714 0.158850074 0.199682864 A
## 8 0.04961306 0.03351229 0.043687056 0.873187596 D
## 9 0.08843835 0.32647409 0.579873307 0.005214257 C
## 10 0.35842994 0.25827341 0.242975992 0.140320666 A
table(data_pelanggan$Segmentation)
##
## A B C D
## 1616 1572 1720 1757
data_test
## # A tibble: 1,332 × 10
## Gender Ever_Married Age Graduated Profession Work_Experience Spending_Score
## <fct> <fct> <dbl> <fct> <fct> <fct> <fct>
## 1 Female Yes 55 Yes Artist 1 Average
## 2 Female No 26 Yes Engineer 1 Low
## 3 Male Yes 49 Yes Homemaker 12 Low
## 4 Female No 18 No Healthcare 3 Low
## 5 Male Yes 33 Yes Artist 13 Low
## 6 Female Yes 42 No Doctor 1 Low
## 7 Female No 27 Yes Artist 14 Low
## 8 Male No 19 No Healthcare 0 Low
## 9 Female Yes 45 Yes Artist 1 Average
## 10 Male Yes 56 Yes Lawyer 1 High
## # ℹ 1,322 more rows
## # ℹ 3 more variables: Family_Size <fct>, Var_1 <fct>, Segmentation <fct>
#interpretasi (oods ratio)
data.frame((summary(model.pelanggan)$coefficients))
## X.Intercept. GenderMale Ever_MarriedYes Age GraduatedYes
## B -0.3308016 -0.2608484 -0.002879726 0.02203551 0.3915222
## C -1.5173373 -0.3805169 -0.262424199 0.03166455 0.8256809
## D -0.7247106 0.3671490 -0.332396450 -0.02092005 -0.5314846
## ProfessionDoctor ProfessionEngineer ProfessionEntertainment
## B -0.4952564 -0.6891027 -0.7813488
## C -0.8819762 -1.8326290 -1.6305750
## D 0.9986760 0.7783583 0.5422408
## ProfessionExecutive ProfessionHealthcare ProfessionHomemaker ProfessionLawyer
## B -0.2739202 -0.05725505 -0.3071754 -1.126061
## C -0.4158058 0.17468763 -1.3167495 -1.657302
## D 1.5004319 2.74441061 1.5430181 1.764725
## ProfessionMarketing Work_Experience1 Work_Experience2 Work_Experience3
## B -0.7997398 -0.08131834 0.019451917 -0.26367715
## C -0.6259979 -0.15351104 0.008078449 -0.33020929
## D 2.0910310 -0.07834593 0.512828729 0.04108072
## Work_Experience4 Work_Experience5 Work_Experience6 Work_Experience7
## B 0.03660689 -0.1769364 0.2634021 -0.46602485
## C -0.14456502 -0.3264391 0.2545487 -0.35324310
## D -0.14719638 0.3139028 0.6866808 0.07943873
## Work_Experience8 Work_Experience9 Work_Experience10 Work_Experience11
## B -0.2393547 -0.4980480 0.3744410 -0.3106612
## C -0.2338167 -0.5882774 -0.2986733 -0.1698408
## D 0.2664892 0.1666809 0.8765640 0.2891822
## Work_Experience12 Work_Experience13 Work_Experience14 Spending_ScoreHigh
## B -0.6884391 0.17886551 -0.7332575 -0.2738913
## C -1.7852075 0.06543966 -1.6385279 -0.7869279
## D -0.4974071 0.05066851 0.3782846 -0.1623764
## Spending_ScoreLow Family_Size2 Family_Size3 Family_Size4 Family_Size5
## B -0.8576621 0.18159027 0.4426229 0.7545654 1.1374366
## C -1.4111922 1.40066276 1.5758421 2.0358399 2.3413878
## D 0.6173531 -0.06903979 0.1130672 0.2609753 0.5796339
## Family_Size6 Family_Size7 Family_Size8 Family_Size9 Var_1Cat_2 Var_1Cat_3
## B 0.6478666 -0.30453510 0.6244929 -0.1898105 0.0685295 -0.10469835
## C 2.0380476 0.47704109 3.4732274 2.4011385 0.1546357 -0.01265127
## D 0.2424980 0.06714705 0.3067720 -0.2742767 -0.3170106 -0.33563630
## Var_1Cat_4 Var_1Cat_5 Var_1Cat_6 Var_1Cat_7
## B -0.39198512 0.3779810 -0.0590146384 -0.15629561
## C -0.92378076 0.2699057 0.3696901441 0.06812246
## D -0.07434217 -0.3171781 0.0001999611 -0.25968470
#oods ratio
data.frame(exp(summary(model.pelanggan)$coefficients))
## X.Intercept. GenderMale Ever_MarriedYes Age GraduatedYes
## B 0.7183477 0.7703977 0.9971244 1.0222801 1.4792308
## C 0.2192950 0.6835080 0.7691847 1.0321712 2.2834351
## D 0.4844648 1.4436130 0.7172029 0.9792973 0.5877318
## ProfessionDoctor ProfessionEngineer ProfessionEntertainment
## B 0.6094146 0.5020264 0.4577881
## C 0.4139640 0.1599924 0.1958169
## D 2.7146853 2.1778938 1.7198565
## ProfessionExecutive ProfessionHealthcare ProfessionHomemaker ProfessionLawyer
## B 0.7603928 0.9443532 0.7355216 0.3243081
## C 0.6598084 1.1908742 0.2680050 0.1906527
## D 4.4836252 15.5554430 4.6786899 5.8399655
## ProfessionMarketing Work_Experience1 Work_Experience2 Work_Experience3
## B 0.4494459 0.9219002 1.019642 0.7682215
## C 0.5347276 0.8576913 1.008111 0.7187733
## D 8.0932546 0.9246445 1.670009 1.0419362
## Work_Experience4 Work_Experience5 Work_Experience6 Work_Experience7
## B 1.0372852 0.8378330 1.301350 0.6274917
## C 0.8653986 0.7214883 1.289879 0.7024064
## D 0.8631245 1.3687566 1.987109 1.0826792
## Work_Experience8 Work_Experience9 Work_Experience10 Work_Experience11
## B 0.7871356 0.6077157 1.4541783 0.7329622
## C 0.7915068 0.5552830 0.7418017 0.8437992
## D 1.3053735 1.1813772 2.4026302 1.3353349
## Work_Experience12 Work_Experience13 Work_Experience14 Spending_ScoreHigh
## B 0.5023596 1.195860 0.4803417 0.7604147
## C 0.1677623 1.067628 0.1942658 0.4552412
## D 0.6081054 1.051974 1.4597784 0.8501211
## Spending_ScoreLow Family_Size2 Family_Size3 Family_Size4 Family_Size5
## B 0.4241525 1.1991228 1.556785 2.126687 3.118763
## C 0.2438524 4.0578885 4.834811 7.658682 10.395654
## D 1.8540141 0.9332895 1.119707 1.298196 1.785385
## Family_Size6 Family_Size7 Family_Size8 Family_Size9 Var_1Cat_2 Var_1Cat_3
## B 1.911459 0.7374661 1.867299 0.8271158 1.070932 0.9005961
## C 7.675609 1.6112997 32.240627 11.0357329 1.167233 0.9874284
## D 1.274429 1.0694527 1.359031 0.7601217 0.728323 0.7148831
## Var_1Cat_4 Var_1Cat_5 Var_1Cat_6 Var_1Cat_7
## B 0.6757142 1.459335 0.942693 0.8553063
## C 0.3970152 1.309841 1.447286 1.0704964
## D 0.9283540 0.728201 1.000200 0.7712947
Segmentasi B terhadap C dan D
intercept 0.7183477 responden dengan gender laki-laki, pernah menikah, dan sudah menamatkan pendidikan odds memilih segmengtasi B sebesar 0.7183477 dibanding memeilih segmentasi c dan d.
gender laki-laki 0.7703977
responden dengan gender laki-laki oods memilih segmentasi B dibanding
segmentasi C dan D adalah 0.7703977.
pernah menikah 0.9971244
responden yang pernah menikah oods memilih segmentasi B dibanding
segmentasi C dan D adalah 0.9971244.
umur 1.0222801
setiap pemanambahan umur 1 tahun oods responden memilih segmentasi B
adalah 1.0222801 dibanding segmentasi C dan D
dst……
Segmentasi c terhadap B dan D
intercept 0.2192950 responden dengan gender laki-laki, pernah menikah, dan sudah menamatkan pendidikan odds memilih segmengtasi C sebesar 0.2192950 dibanding memeilih segmentasi b dan d.
gender laki-laki 0.6835080
responden dengan gender laki-laki oods memilih segmentasi c dibanding
segmentasi b dan d adalah 0.6835080.
pernah menikah 0.7691847
responden yang pernah menikah oods memilih segmentasi C dibanding
segmentasi B dan D adalah 0.7691847 .
umur 1.0321712
setiap pemanambahan umur 1 tahun oods responden memilih segmentasi B
adalah 1.0321712 dibanding segmentasi C dan D
dst……
Segmentasi D terhadap B dan C 0.4844648 1.4436130 0.7172029
0.9792973
intercept 0.4844648 responden dengan gender laki-laki, pernah menikah,
dan sudah menamatkan pendidikan odds memilih segmengtasi D sebesar
0.4844648 dibanding memeilih segmentasi C dan B.
gender laki-laki 1.4436130
responden dengan gender laki-laki oods memilih segmentasi D dibanding
segmentasi B dan C adalah 1.4436130.
pernah menikah 0.7172029
responden yang pernah menikah oods memilih segmentasi D dibanding
segmentasi B dan C adalah 0.7172029 .
umur 0.9792973
setiap pemanambahan umur 1 tahun oods responden memilih segmentasi D
adalah 0.9792973 dibanding segmentasi B dan C
dst……