Unsupervised Machine Learning - Mall Customer Clustering
Intro
Our project aims to conduct an analysis of the Mall Customers data, which is sourced from Kaggle, using unsupervised machine learning techniques such as K-means clustering and principal component analysis. Specifically, we will assess how Gender, Age, and Income relate to a customer’s spending habits, with the Spending Score serving as an indicator of the amount a customer spends in the mall. This analysis will enable us to identify patterns and group customers based on similarities in their spending habits.
Load Libraries
library(tidyverse)
library(dplyr)
library(GGally)
library(ggplot2)
library(NbClust)
library(factoextra)
library(FactoMineR)
library(rmarkdown)
library(plotly)Data preprocessing
# Load dataset
mall_data <- read.csv("Mall_Customers.csv")
paged_table(mall_data)Let’s check our dataset structure.
# Check data structure
glimpse(mall_data)## Rows: 200
## Columns: 5
## $ CustomerID <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, …
## $ Genre <chr> "Male", "Male", "Female", "Female", "Female", "…
## $ Age <int> 19, 21, 20, 23, 31, 22, 35, 23, 64, 30, 67, 35,…
## $ Annual.Income..k.. <int> 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 19, 19,…
## $ Spending.Score..1.100. <int> 39, 81, 6, 77, 40, 76, 6, 94, 3, 72, 14, 99, 15…
To improve the quality and usability of the data, we will do the following actions:
- Firstly, we can remove the
CustomerIDvariable as it is not relevant to the analysis. - Secondly, we will update the variable name
GenretoGenderand converting it to a numeric type (Female = 1, Male = 2). - Lastly, we suggest improving the variable names
Annual.Income..k..andSpending.Score..1.100.to make them more descriptive and interpretable.
# Data wrangling
mall_clean <- mall_data %>%
rename(Gender = Genre,
Annual_Income_K = Annual.Income..k..,
Spending_Score = Spending.Score..1.100.) %>%
mutate_if(is.character, as.factor) %>%
mutate_if(is.factor, as.numeric) %>%
select(-CustomerID) %>%
glimpse()## Rows: 200
## Columns: 4
## $ Gender <dbl> 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 2, 1, 2, …
## $ Age <int> 19, 21, 20, 23, 31, 22, 35, 23, 64, 30, 67, 35, 58, 24…
## $ Annual_Income_K <int> 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 19, 19, 20, 20…
## $ Spending_Score <int> 39, 81, 6, 77, 40, 76, 6, 94, 3, 72, 14, 99, 15, 77, 1…
Upon updating our dataset, we will verify whether there is any missing or incomplete information that needs to be addressed.
mall_clean %>% is.na() %>% colSums()## Gender Age Annual_Income_K Spending_Score
## 0 0 0 0
paged_table(mall_clean)Exploratory Data and Analysis
Exploratory Data Analysis (EDA) is a process of analyzing and summarizing data to gain insights and understanding of the dataset. It is typically the first step in any data analysis project and involves visualizing and summarizing the main characteristics of the data.
In this analysis, we will use a density plot to visualize the
distribution of the data, and a scatter plot to examine the correlations
between variables. Specifically, we will utilize the
ggpairs function to create these plots.
# Create plot using ggpairs
ggpairs(mall_clean, showStrips = F) +
theme(axis.text = element_text(color = "black", size = 11),
strip.background = element_rect(fill = "black"),
strip.text = element_text(color = "white", size = 12))Above analysis reveals that the majority of the variables in the dataset are not strongly correlated with each other.
This is a positive sign, as it suggests that there is low risk of
multicollinearity, which is an important assumption for classification
models. To further illustrate this finding, we will create a
ggcorr plot to visually display the lack of correlation
among variables.
# Create plot using ggcorr
ggcorr(mall_clean, label = T)
From above plit, we can observe that there is no strong correlation
among the variables in our dataset. This is a positive finding, as it
indicates that there is a low risk of multicollinearity in our
analysis.
K-Means Clustering
K-Means Clustering is a machine learning algorithm used for grouping similar data points into a given number of clusters. K-Means Clustering is commonly used in a variety of fields, such as customer segmentation, image segmentation, and anomaly detection.
Prior to conducting clustering analysis, it is important to scale the data to ensure equal weighting of all variables. Once the data has been scaled, we can generate an elbow plot to help determine the optimal number of clusters for our analysis.
# Scale our dataset
mall_scaled <- scale(mall_clean)set.seed(123)
wss <- function(mall_scaled, maxCluster = 20) {
SSw <- vector()
for (i in 2:maxCluster) {
SSw[i] <- sum(kmeans(mall_scaled,
centers = i)$withinss)
}
plot(1:maxCluster,
SSw, type = "o",
xlab = "Cluster Numbers",
ylab = "Sum of Squares", pch=20)
}
# Use wss fucnction for whiskies
wss(mall_scaled)K-means clustering is a partitioning method where the number of clusters is pre-specified. After initial cluster centers are randomly chosen, observations are assigned to the closest centroid and the centroids are recalculated using the mean of the observations in each cluster.
This process is repeated to minimize the total within-cluster variation. To determine the optimal number of clusters, we will use the elbow method. The elbow plot above shows that the optimal number of clusters for this dataset is 7, which we will use to create our K-means model.
The elbow method involves trying different numbers of clusters and observing the within-cluster variation associated with each number. The optimal number of clusters is the point on the plot where adding an additional cluster does not result in a significant reduction of within-cluster variation, resembling an elbow shape.
# Create k-means clustering
set.seed(123)
kmc_model<-kmeans(mall_scaled,
centers=7)
kmc_model## K-means clustering with 7 clusters of sizes 19, 33, 23, 16, 31, 57, 21
##
## Cluster means:
## Gender Age Annual_Income_K Spending_Score
## 1 1.12532823 -0.02693934 0.9645919 -1.3936702
## 2 0.82085631 1.41861667 -0.5001293 -0.3902949
## 3 -0.01048442 -0.99148062 -1.3439751 1.0613849
## 4 -0.88418647 0.49395063 1.1446914 -1.0557236
## 5 1.12532823 -0.64278241 0.5031157 0.7754870
## 6 -0.88418647 -0.02568342 -0.4421380 -0.3121050
## 7 -0.88418647 -0.47673565 0.9704127 1.2185273
##
## Clustering vector:
## [1] 3 3 6 3 6 3 6 3 2 3 2 3 6 3 2 3 6 3 2 3 2 3 6 3 6 3 6 3 6 3 2 3 2 3 6 3 6
## [38] 3 6 3 2 3 2 6 6 3 6 6 6 6 6 5 6 2 6 2 6 2 6 2 2 5 2 6 2 5 6 2 5 6 2 6 6 6
## [75] 2 5 6 5 6 6 2 5 2 6 6 2 6 6 6 6 2 5 2 6 6 5 6 6 2 5 6 6 2 5 2 6 2 2 2 2 2
## [112] 6 6 5 6 6 4 6 6 6 5 6 6 5 6 7 1 5 2 5 1 5 6 7 1 7 4 5 1 7 4 5 6 7 1 5 1 7
## [149] 4 5 1 5 4 7 4 7 1 7 1 7 4 7 1 7 1 7 1 7 4 5 1 5 1 5 4 7 1 5 1 5 4 7 1 7 4
## [186] 5 4 5 4 7 4 7 1 7 4 7 4 5 1 5
##
## Within cluster sum of squares by cluster:
## [1] 22.652343 56.454253 33.705505 14.956446 42.383725 79.367822 8.620733
## (between_SS / total_SS = 67.6 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
We can now add the results of our clustering analysis to our mall_clean dataset.
mall_clean$Cluster <- as.factor(kmc_model$cluster)
mall_clean %>% paged_table()Displayed below is the cluster plot obtained from the k-means clustering model we built earlier.
set.seed(123)
fviz_cluster(kmc_model, mall_scaled)
Based on our previous clustering results, we can create a cluster
profiling.
# Create customer profiling
mall_customer_profile <- mall_clean %>%
group_by(Cluster) %>%
summarise_all(.funs = "mean")
mall_customer_profile## # A tibble: 7 × 5
## Cluster Gender Age Annual_Income_K Spending_Score
## <fct> <dbl> <dbl> <dbl> <dbl>
## 1 1 2 38.5 85.9 14.2
## 2 2 1.85 58.7 47.4 40.1
## 3 3 1.43 25 25.3 77.6
## 4 4 1 45.8 90.6 22.9
## 5 5 2 29.9 73.8 70.2
## 6 6 1 38.5 48.9 42.1
## 7 7 1 32.2 86.0 81.7
Based on the above data, we can observe that there are 7 distinct clusters with major differences in terms of spending score.
These clusters can be described as follows:
- A group of women around 53 years old with a midle spending score.
- A group of men around 30 years old with a relatively high spending score.
- A group of women around 32 years old with a relatively high spending score.
- A group of men around 55 years old with a relatively middle spending score.
- A group of women around 28 years old with a relatively middle spending score.
- There are two groups with gender values other than 1 or 2.
Principle Component Analysis (PCA)
Principle Component Analysis (PCA) is a statistical technique that is used to transform a dataset with many variables into a smaller set of variables, while still retaining as much of the original information as possible.
PCA is often used in data analysis and machine learning to reduce the dimensionality of a dataset, making it easier to work with and visualize. It can also be used to identify patterns and relationships in the data, and to identify any outliers or unusual observations. PCA can be a powerful tool for exploratory data analysis, and can help to identify the most important variables in a dataset.
# Create PCA
pca_result <- PCA(mall_scaled[,1:4],
graph = F)
# Analysing cumulative variance of each PC
pca_result$eig## eigenvalue percentage of variance cumulative percentage of variance
## comp 1 1.3476018 33.69005 33.69005
## comp 2 1.0492258 26.23064 59.92069
## comp 3 0.9304255 23.26064 83.18133
## comp 4 0.6727468 16.81867 100.00000
Through PCA, informative principal components with high cumulative variance are retained to perform dimensionality reduction while retaining as much information as possible.
In this study, the goal is to retain at least 80% of the information
from the data. From the PCA summary (seed_pca$eig),
PC1 - PC3 were selected from a total of 4 PCs, reducing the
dimensions by ~25% from the original data while retaining 83.18% of the
information.
The values of PC1 - PC3 from all observations can be
extracted and put into a new data frame for further analysis using
supervised learning classification techniques or other purposes.
# Make a new data frame from PCA result
mall_retaining <- PCA(mall_scaled[,1:3],
graph = F,
ncp = 3)$ind$coord
mall_retaining_final <- cbind(mall_retaining,
Spending = mall_clean$Spending_Score)
head(mall_retaining_final)## Dim.1 Dim.2 Dim.3 Spending
## 1 -0.6852667 -0.2976662 -2.4016757 39
## 2 -0.6126785 -0.3950385 -2.3251810 81
## 3 -2.1079335 -0.3422180 -0.9737109 6
## 4 -1.9990512 -0.4882764 -0.8589690 77
## 5 -1.6913239 -0.8497260 -0.5337854 40
## 6 -2.0179709 -0.4115509 -0.8780113 76
tail(mall_retaining_final)## Dim.1 Dim.2 Dim.3 Spending
## 195 0.6789422 1.259348 2.0562858 16
## 196 0.2434129 1.843582 1.5973180 79
## 197 0.7106002 1.524957 2.0950212 28
## 198 1.7151121 2.181781 0.2272936 74
## 199 1.9062302 2.490214 0.4385485 18
## 200 1.8336420 2.587586 0.3620538 83
Next we will create a plot to analyse our clustering result
length(mall_clean$Spending_Score)## [1] 200
pca_result$ind## $coord
## Dim.1 Dim.2 Dim.3 Dim.4
## 1 -0.406382715 -0.520713635 2.0725266304 -1.335529032
## 2 -1.427672870 -0.367310199 2.2776436916 -0.082328739
## 3 0.050760571 -1.894067743 0.3673752317 -2.174381119
## 4 -1.694513100 -1.631908046 0.7174666910 -0.075228496
## 5 -0.313108383 -1.810482723 0.4264599237 -0.683070448
## 6 -1.717446272 -1.599264180 0.6963794226 -0.153191637
## 7 0.790821124 -1.947271123 0.1864915934 -1.411858004
## 8 -2.148321588 -1.505373688 0.7584635962 0.391407991
## 9 2.774286226 -0.882987672 1.3881411249 -0.035557608
## 10 -1.216294767 -1.616404641 0.5557697022 0.144050713
## 11 2.629050845 -0.861237043 1.4201135777 0.418453647
## 12 -1.689470378 -1.545427839 0.6550076467 1.138367667
## 13 1.685822527 -2.023944789 -0.0169391673 0.003841659
## 14 -1.646073388 -1.522512590 0.6104099427 -0.023401630
## 15 1.174436277 -0.612790961 1.6537368377 -1.132728859
## 16 -1.326130702 -0.236719149 2.1354145698 -0.085083370
## 17 0.016772825 -1.743445723 0.2665438932 -0.615936694
## 18 -1.078424540 -0.244715641 2.0594866218 -0.542875452
## 19 1.487587800 -0.572676028 1.5331165278 0.068755170
## 20 -1.663731685 -1.432597745 0.5514320367 1.111974842
## 21 0.488090311 -0.392921145 1.6896730902 -0.630085495
## 22 -1.018950513 -0.166247511 1.9789796776 -0.096169306
## 23 1.358914922 -1.828669357 -0.0874035749 -0.878673835
## 24 -0.722972722 -0.181687017 1.9017125410 0.208891250
## 25 1.513159311 -1.764511959 -0.1836559172 -0.224727640
## 26 -1.062411573 -0.043115061 1.8932914154 0.354830768
## 27 0.588832908 -1.625416137 -0.0091721202 -0.188391239
## 28 -0.206188227 -0.171906970 1.7292510331 0.083835296
## 29 0.368426440 -1.563006448 0.0048730980 -0.469557051
## 30 -1.964204138 -1.212119903 0.4510972391 0.202296875
## 31 2.547591942 -0.527913522 1.1583231220 -0.208519212
## 32 -1.689830672 -1.224123213 0.3698673076 -0.282914231
## 33 2.201317215 -0.388195647 1.1460997538 -0.563354238
## 34 -1.873296950 0.224855270 1.9200835550 0.071496398
## 35 1.265156926 -1.581258540 -0.2625823420 -0.477448232
## 36 -1.903865569 -1.104440986 0.3385779552 -0.062792400
## 37 0.839344590 -1.487938668 -0.2097629466 -0.750539288
## 38 -1.246444368 -1.174259402 0.1925455861 0.175317976
## 39 0.302432444 -1.319600889 -0.1830515856 -0.807802441
## 40 -1.794158677 -1.004203525 0.2172755497 -0.277081007
## 41 1.493875943 -1.470132517 -0.4146126697 0.912444678
## 42 -1.578247771 0.326252676 1.7445427918 0.377583151
## 43 1.099728922 -0.047514830 1.2122683924 0.061590449
## 44 -0.878229151 -1.083736531 -0.0027033701 -0.101626883
## 45 0.890421740 -1.349907722 -0.3357650137 -0.092042616
## 46 -1.330476638 -1.015619070 0.0799864154 -0.347555466
## 47 0.219540681 -1.219955869 -0.2259629891 0.699328217
## 48 -0.702592333 -1.080856929 -0.0663670582 -0.688439324
## 49 -0.470519161 -1.115773930 -0.1104432187 -0.723933102
## 50 -0.371782513 -1.130656841 -0.1280094621 -0.622331767
## 51 0.249709965 -1.166116410 -0.2822226310 0.566783580
## 52 -0.281507713 0.247898317 1.3975576001 -0.041593371
## 53 -0.692486630 -0.994947343 -0.1380908807 -0.292533845
## 54 1.001836558 0.083629696 1.1446280300 1.279480540
## 55 0.485517270 -1.172396363 -0.3526880434 0.425907637
## 56 0.916095461 0.096797627 1.1492878047 0.148911093
## 57 0.401316916 -1.130594501 -0.3595296545 0.614059968
## 58 1.868629912 -0.017671083 0.9580006385 1.403877447
## 59 -0.810654470 -0.889574289 -0.1925695643 -0.577223936
## 60 1.078272422 0.159810666 1.0493937720 0.591579862
## 61 1.650860882 0.073374096 0.9531005380 1.729381442
## 62 -0.840256337 0.448881521 1.3957377597 -0.888871636
## 63 1.137179032 -1.154016473 -0.5631608543 1.482478346
## 64 0.308719686 -1.029229824 -0.4118663885 1.014002825
## 65 1.438154832 0.163848653 0.9389356592 1.237194752
## 66 -0.996758186 0.530768704 1.3765920019 -0.829483114
## 67 0.005441712 -0.954225943 -0.3875383077 0.208680824
## 68 1.292984422 -1.148275972 -0.6177203163 1.423859472
## 69 -0.947389862 0.523327249 1.3678088802 -0.778682446
## 70 -0.457607937 -0.884390383 -0.3068299196 -0.432383590
## 71 1.676831727 0.156994962 0.8740933347 1.702732067
## 72 0.416021294 -0.986837080 -0.4896550685 0.192787862
## 73 0.870906219 -1.026319052 -0.5912901728 1.045386252
## 74 0.684235085 -0.998271327 -0.5541762887 1.237319411
## 75 1.345957837 0.352842574 0.8054497723 0.925855286
## 76 -0.469867989 0.626458338 1.1324066715 -0.558633590
## 77 0.022783528 -0.781833032 -0.5366090405 0.394078524
## 78 0.381292376 0.498237051 0.9776310675 -0.011938378
## 79 -1.036652295 -0.622127824 -0.3486823472 -0.750955189
## 80 0.513597177 -0.855673851 -0.6300633451 0.295671944
## 81 1.140551970 0.383752756 0.8442239494 0.933930042
## 82 0.095884594 0.541167687 1.0323111949 0.078393446
## 83 1.900908258 0.269270021 0.7033728983 1.167746491
## 84 0.312157595 -0.825335848 -0.5931100132 0.198107987
## 85 -1.268725468 -0.587210823 -0.3046061867 -0.715461410
## 86 0.829573578 0.430691769 0.8967621272 0.339628918
## 87 0.382433784 -0.748585816 -0.6716355599 1.039949964
## 88 -1.166718993 -0.515038230 -0.3976984951 -0.718729140
## 89 -0.707867782 -0.555092382 -0.5011544446 0.028230536
## 90 0.455367669 -0.730251123 -0.7159121595 0.457174901
## 91 1.103759604 -0.798926738 -0.8508589052 1.618614675
## 92 -0.519300383 0.779947493 1.0109038270 -1.320203481
## 93 0.748178745 0.617967591 0.7652576378 0.423425283
## 94 0.121223952 -0.621459016 -0.7090296567 -0.214832815
## 95 -0.327057250 -0.553913735 -0.6281607165 -0.566400111
## 96 -0.516662945 0.808582982 0.9919585082 -0.713533674
## 97 0.280131086 -0.645501482 -0.7333976243 0.332705019
## 98 -0.787237308 -0.484651914 -0.5418292406 -0.601051267
## 99 0.934617726 0.619129095 0.7035753470 0.231748673
## 100 -0.634366480 0.855537580 0.9866166379 -0.998736864
## 101 -0.745169167 -0.432528995 -0.6035514182 -1.050512045
## 102 0.351736123 -0.597959120 -0.7947986975 0.462238476
## 103 1.419039546 0.575066566 0.6022613472 1.663341297
## 104 -0.498392518 0.864138980 0.9411614019 -0.529162172
## 105 0.610411629 0.696992316 0.7444515869 0.666672209
## 106 -0.870573120 -0.413639266 -0.5806831914 -1.124694357
## 107 1.137430868 -0.687241003 -0.9580762056 1.380944423
## 108 1.123694144 0.648926087 0.6229477375 0.646741869
## 109 1.894852595 0.532725254 0.4840780838 1.275694149
## 110 1.662779422 0.567642254 0.5281542443 1.311187928
## 111 1.506741879 0.591110981 0.5581452998 1.370063351
## 112 -1.289549579 -0.321465312 -0.5240615534 -0.897010870
## 113 -0.031775918 -0.481725557 -0.7791330730 -0.260569907
## 114 -0.604429349 0.938586267 0.9057885893 -1.131024952
## 115 -1.179378380 -0.279646307 -0.5962271456 -1.111812576
## 116 -1.183344665 -0.279074127 -0.5944063004 -1.006173862
## 117 1.175532724 -0.634545905 -1.0179775380 1.037122359
## 118 0.057699311 -0.466256439 -0.8101820996 0.764617375
## 119 0.582648530 -0.486829980 -0.9617168912 0.428027445
## 120 0.159937938 -0.423293075 -0.8787060014 0.761093096
## 121 -0.476852264 1.006750483 0.8148382305 -0.449659734
## 122 0.020862233 -0.402111508 -0.8634422598 -0.314638304
## 123 -0.360876912 -0.286453243 -0.8347096145 0.281018541
## 124 -0.818252351 1.116110093 0.8458733776 1.120127176
## 125 -0.427018733 -0.246936984 -0.8637224725 -1.377487923
## 126 -1.312102773 -0.114141375 -0.6794922408 0.345030514
## 127 0.872125709 0.920380930 0.4646930049 -0.211622332
## 128 -0.876017553 1.183114365 0.8091613764 1.281117034
## 129 2.302034209 0.705154010 0.1969154557 -0.056868195
## 130 -0.441408104 1.117860920 0.7206879509 0.631135242
## 131 1.762948930 0.786437844 0.2917089488 -0.721314254
## 132 -0.392039780 1.110419465 0.7119048292 0.681935910
## 133 -0.462082916 -0.183367350 -0.9039156119 -1.138278375
## 134 -1.152563250 -0.079763826 -0.7604409547 0.181029476
## 135 0.536209096 1.029748334 0.4585084869 -2.202095275
## 136 -1.704876233 0.032444217 -0.6773093995 0.545808077
## 137 1.195700318 -0.403729862 -1.2385168832 -0.913122754
## 138 -0.684747745 1.212914476 0.7136459008 0.272006289
## 139 0.353272095 1.086433107 0.4692331191 -2.115544280
## 140 -0.982221565 -0.047104375 -0.8394082712 0.412164268
## 141 1.890358833 -0.450063966 -1.4124382451 -0.307039020
## 142 -1.218558147 1.351469288 0.7705487563 0.820899844
## 143 -0.474910385 -0.064813898 -0.9967267029 -0.820336037
## 144 -1.530800416 0.093740716 -0.7826659678 0.671560706
## 145 0.595450970 1.137425692 0.3534331361 -1.755132579
## 146 -1.523164969 1.455680838 0.7777523635 0.727886363
## 147 1.090907106 1.062435837 0.2786689402 0.071339326
## 148 -1.184357606 0.070861312 -0.8761601592 0.315369959
## 149 0.300846740 -0.123166897 -1.1939979481 -1.008561343
## 150 -1.040516044 1.412193607 0.6633713427 0.841013759
## 151 1.350512125 1.052722806 0.1972784566 -0.703368896
## 152 -0.740339814 1.366972693 0.6088517675 1.040179052
## 153 0.847864590 -0.205595090 -1.2924331317 -0.555392711
## 154 -0.941714425 0.063435442 -0.9428233290 0.675268560
## 155 1.102638781 -0.243946728 -1.3399904304 -0.512666799
## 156 -1.831440951 0.197380086 -0.7772832059 0.472908512
## 157 1.480979058 1.033262455 0.1651454515 -1.446877268
## 158 -1.389995626 0.130980723 -0.8619543887 0.323701264
## 159 1.332874086 1.055586823 0.1914948165 -1.599279271
## 160 -1.256659102 0.110946634 -0.8884643059 0.186606150
## 161 1.040042752 -0.205581064 -1.3428692467 0.465757194
## 162 -1.572932628 0.187665496 -0.8512297565 0.410252260
## 163 0.484983547 1.270863614 0.2707443554 -2.250843548
## 164 -1.741333334 0.271269219 -0.8649129787 0.786556922
## 165 1.454459578 1.241158573 0.0115356094 -0.099197171
## 166 -1.015408839 0.278776132 -1.1025379155 0.548044048
## 167 1.219284662 1.305858540 0.0254202755 -0.669860101
## 168 -1.697092061 0.410446083 -0.9947172884 0.944279050
## 169 0.264157486 0.144867334 -1.4061699339 -0.767555949
## 170 -0.421324839 1.581775491 0.3166683735 0.001407752
## 171 1.306986994 1.321902955 -0.0186957719 -0.963138046
## 172 -0.938805793 1.659623127 0.4154246614 0.127233355
## 173 1.189515613 1.339648324 0.0005307644 -1.248597786
## 174 -0.997203383 1.668207384 0.4352934065 0.999762085
## 175 1.427160785 -0.001082179 -1.6454960555 -0.338355035
## 176 -1.605655596 0.455127547 -1.0652225876 0.545618940
## 177 2.142050064 1.225179615 -0.1907564017 0.006368568
## 178 -0.828402441 1.672232904 0.3678274758 -0.087824900
## 179 2.216924927 1.359777482 -0.3276835400 0.031032960
## 180 -0.994630016 1.842890573 0.2860621215 0.895662668
## 181 0.177867756 0.449552248 -1.6341272048 -0.577094673
## 182 -1.509008325 0.703127688 -1.3039044906 0.649529220
## 183 1.547308645 1.606569365 -0.3310430081 -0.600673951
## 184 -1.710680060 0.762674919 -1.2915195654 0.552221812
## 185 0.188205612 0.506252606 -1.6812826206 -0.181445743
## 186 -1.429535688 2.083400945 0.2196811741 0.835131785
## 187 1.229539090 0.407829870 -1.9241297672 0.068190694
## 188 -0.755384802 2.040504596 0.0343530844 -0.061108113
## 189 0.773957706 0.534939526 -1.8961998829 -0.783638048
## 190 -1.286260643 0.844610416 -1.4917494006 0.826852165
## 191 0.268375609 0.611070624 -1.8029061305 -0.974728585
## 192 -1.057057061 0.810267154 -1.5414486489 0.184945129
## 193 1.088709271 2.113398986 -0.6225024100 -1.449167550
## 194 -1.349849354 1.145860692 -1.7231878096 1.095533131
## 195 1.092888353 0.982840852 -2.3718635092 -0.501891724
## 196 -1.179571739 1.324567842 -1.9324410924 0.615898700
## 197 0.672751128 1.221060946 -2.4380839043 -0.272925490
## 198 -0.723719161 2.765010382 -0.5831776675 0.313022430
## 199 0.767096226 2.861930095 -1.1503412132 -1.219620804
## 200 -1.065015236 3.137256163 -0.7881460462 0.461014343
##
## $cos2
## Dim.1 Dim.2 Dim.3 Dim.4
## 1 2.534758e-02 4.161634e-02 6.592744e-01 2.737617e-01
## 2 2.766502e-01 1.831216e-02 7.041176e-01 9.199761e-04
## 3 3.048202e-04 4.244063e-01 1.596653e-02 5.593223e-01
## 4 4.742220e-01 4.398284e-01 8.501496e-02 9.346664e-04
## 5 2.436099e-02 8.145061e-01 4.519205e-02 1.159409e-01
## 6 4.903223e-01 4.251633e-01 8.061339e-02 3.901085e-03
## 7 9.703036e-02 5.883070e-01 5.395972e-03 3.092667e-01
## 8 6.064842e-01 2.977896e-01 7.559453e-02 2.013169e-02
## 9 7.397415e-01 7.493535e-02 1.852016e-01 1.215185e-04
## 10 3.345660e-01 5.908868e-01 6.985441e-02 4.692831e-03
## 11 7.020399e-01 7.533716e-02 2.048377e-01 1.778519e-02
## 12 4.096563e-01 3.427803e-01 6.157596e-02 1.859874e-01
## 13 4.095893e-01 5.903672e-01 4.135319e-05 2.126975e-06
## 14 5.017002e-01 4.292079e-01 6.899047e-02 1.014000e-04
## 15 2.389337e-01 6.504938e-02 4.737523e-01 2.222647e-01
## 16 2.755644e-01 8.780460e-03 7.145208e-01 1.134331e-03
## 17 8.060253e-05 8.708696e-01 2.035512e-02 1.086947e-01
## 18 2.019417e-01 1.039848e-02 7.364861e-01 5.117372e-02
## 19 4.519803e-01 6.698418e-02 4.800700e-01 9.655282e-04
## 20 4.351587e-01 3.226485e-01 4.780409e-02 1.943887e-01
## 21 6.536539e-02 4.236023e-02 7.833446e-01 1.089297e-01
## 22 2.080053e-01 5.537052e-03 7.846048e-01 1.852854e-03
## 23 3.093014e-01 5.601029e-01 1.279546e-03 1.293162e-01
## 24 1.239821e-01 7.830024e-03 8.578375e-01 1.035037e-02
## 25 4.172572e-01 5.673927e-01 6.146733e-03 9.203383e-03
## 26 2.331564e-01 3.839899e-04 7.404517e-01 2.600784e-02
## 27 1.146470e-01 8.735898e-01 2.781749e-05 1.173545e-02
## 28 1.385077e-02 9.627933e-03 9.742315e-01 2.289812e-03
## 29 4.849112e-02 8.727346e-01 8.483420e-06 7.876575e-02
## 30 6.924397e-01 2.636938e-01 3.652154e-02 7.344920e-03
## 31 7.959452e-01 3.417819e-02 1.645443e-01 5.332312e-03
## 32 6.247261e-01 3.278336e-01 2.992920e-02 1.751108e-02
## 33 7.311756e-01 2.273829e-02 1.981989e-01 4.788721e-02
## 34 4.839242e-01 6.972207e-03 5.083986e-01 7.049080e-04
## 35 3.639509e-01 5.685383e-01 1.567780e-02 5.183302e-02
## 36 7.303348e-01 2.457732e-01 2.309760e-02 7.944446e-04
## 37 1.998143e-01 6.279369e-01 1.247968e-02 1.597691e-01
## 38 5.178195e-01 4.595795e-01 1.235662e-02 1.024438e-02
## 39 3.631215e-02 6.913220e-01 1.330277e-02 2.590631e-01
## 40 7.397610e-01 2.317465e-01 1.084904e-02 1.764344e-02
## 41 4.134694e-01 4.004306e-01 3.184926e-02 1.542508e-01
## 42 4.306994e-01 1.840484e-02 5.262440e-01 2.465183e-02
## 43 4.504214e-01 8.408259e-04 5.473250e-01 1.412780e-03
## 44 3.942967e-01 6.004197e-01 3.736100e-06 5.279888e-03
## 45 2.897517e-01 6.659515e-01 4.120077e-02 3.096081e-03
## 46 6.043916e-01 3.521808e-01 2.184421e-03 4.124318e-02
## 47 2.321000e-02 7.166933e-01 2.458780e-02 2.355089e-01
## 48 2.306450e-01 5.458505e-01 2.057986e-03 2.214464e-01
## 49 1.105495e-01 6.216624e-01 6.090884e-03 2.616972e-01
## 50 7.593417e-02 7.022972e-01 9.002093e-03 2.127665e-01
## 51 3.420322e-02 7.458974e-01 4.368969e-02 1.762097e-01
## 52 3.781575e-02 2.932509e-02 9.320336e-01 8.255443e-04
## 53 3.046419e-01 6.288789e-01 1.211426e-02 5.436496e-02
## 54 2.535872e-01 1.767074e-03 3.310262e-01 4.136195e-01
## 55 1.230291e-01 7.173770e-01 6.492022e-02 9.467370e-02
## 56 3.829241e-01 4.275242e-03 6.026829e-01 1.011778e-02
## 57 8.277793e-02 6.569819e-01 6.643686e-02 1.938033e-01
## 58 5.472382e-01 4.893912e-05 1.438340e-01 3.088789e-01
## 59 3.613208e-01 4.350967e-01 2.038903e-02 1.831935e-01
## 60 4.405051e-01 9.676215e-03 4.172256e-01 1.325930e-01
## 61 4.110691e-01 8.120438e-04 1.370160e-01 4.511028e-01
## 62 1.936611e-01 5.526909e-02 5.343508e-01 2.167190e-01
## 63 2.515994e-01 2.591051e-01 6.170450e-02 4.275911e-01
## 64 4.051416e-02 4.503010e-01 7.210924e-02 4.370756e-01
## 65 4.588666e-01 5.956086e-03 1.955901e-01 3.395872e-01
## 66 2.575045e-01 7.301561e-02 4.911517e-01 1.783283e-01
## 67 2.681514e-05 8.245392e-01 1.359998e-01 3.943428e-02
## 68 3.096343e-01 2.442053e-01 7.067182e-02 3.754886e-01
## 69 2.459933e-01 7.506069e-02 5.127630e-01 1.661830e-01
## 70 1.645423e-01 6.145801e-01 7.397516e-02 1.469024e-01
## 71 4.325960e-01 3.792058e-03 1.175490e-01 4.460629e-01
## 72 1.215533e-01 6.839535e-01 1.683899e-01 2.610328e-02
## 73 2.330719e-01 3.236770e-01 1.074357e-01 3.358154e-01
## 74 1.417520e-01 3.017281e-01 9.298532e-02 4.635346e-01
## 75 5.263138e-01 3.616961e-02 1.884772e-01 2.490394e-01
## 76 1.000053e-01 1.777689e-01 5.808662e-01 1.413596e-01
## 77 4.920140e-04 5.793801e-01 2.729302e-01 1.471977e-01
## 78 1.077293e-01 1.839458e-01 7.082193e-01 1.056108e-04
## 79 5.004871e-01 1.802544e-01 5.662218e-02 2.626363e-01
## 80 1.781876e-01 4.945939e-01 2.681641e-01 5.905443e-02
## 81 4.288926e-01 4.855359e-02 2.349815e-01 2.875723e-01
## 82 6.691948e-03 2.131663e-01 7.756686e-01 4.473160e-03
## 83 6.517390e-01 1.307758e-02 8.923242e-02 2.459510e-01
## 84 8.330914e-02 5.823798e-01 3.007567e-01 3.355435e-02
## 85 6.289838e-01 1.347387e-01 3.625614e-02 2.000214e-01
## 86 3.837751e-01 1.034428e-01 4.484577e-01 6.432448e-02
## 87 6.531523e-02 2.502564e-01 2.014510e-01 4.829774e-01
## 88 5.915234e-01 1.152705e-01 6.873014e-02 2.244760e-01
## 89 4.721985e-01 2.903694e-01 2.366811e-01 7.510322e-04
## 90 1.418169e-01 3.647102e-01 3.505282e-01 1.429448e-01
## 91 2.342656e-01 1.227364e-01 1.392114e-01 5.037865e-01
## 92 7.402790e-02 1.669894e-01 2.805290e-01 4.784537e-01
## 93 3.280109e-01 2.237736e-01 3.431570e-01 1.050585e-01
## 94 1.547222e-02 4.066312e-01 5.293032e-01 4.859336e-02
## 95 9.472916e-02 2.717192e-01 3.494441e-01 2.841075e-01
## 96 1.105867e-01 2.708553e-01 4.076384e-01 2.109197e-01
## 97 6.861303e-02 3.643162e-01 4.702870e-01 9.678380e-02
## 98 4.105692e-01 1.556091e-01 1.944912e-01 2.393305e-01
## 99 4.837900e-01 2.123006e-01 2.741638e-01 2.974564e-02
## 100 1.295936e-01 2.357117e-01 3.134728e-01 3.212219e-01
## 101 2.512329e-01 8.464421e-02 1.648145e-01 4.993084e-01
## 102 9.325668e-02 2.695188e-01 4.761681e-01 1.610565e-01
## 103 3.678750e-01 6.041538e-02 6.626455e-02 5.054451e-01
## 104 1.149483e-01 3.455626e-01 4.099093e-01 1.295798e-01
## 105 2.006409e-01 2.615953e-01 2.984330e-01 2.393308e-01
## 106 2.994311e-01 6.759738e-02 1.332186e-01 4.997530e-01
## 107 2.818032e-01 1.028760e-01 1.999383e-01 4.153826e-01
## 108 5.070768e-01 1.691095e-01 1.558407e-01 1.679730e-01
## 109 6.259541e-01 4.947641e-02 4.085286e-02 2.837166e-01
## 110 5.437009e-01 6.336365e-02 5.485451e-02 3.380809e-01
## 111 4.721584e-01 7.266881e-02 6.478948e-02 3.903833e-01
## 112 5.844001e-01 3.631637e-02 9.651589e-02 2.827676e-01
## 113 1.111997e-03 2.555681e-01 6.685450e-01 7.477490e-02
## 114 1.091872e-01 2.632868e-01 2.452078e-01 3.823182e-01
## 115 4.544421e-01 2.554997e-02 1.161437e-01 4.038642e-01
## 116 4.923903e-01 2.738584e-02 1.242378e-01 3.559861e-01
## 117 3.546524e-01 1.033379e-01 2.659561e-01 2.760536e-01
## 118 2.277537e-03 1.487215e-01 4.490446e-01 3.999563e-01
## 119 2.015205e-01 1.406891e-01 5.490354e-01 1.087550e-01
## 120 1.643816e-02 1.151417e-01 4.961778e-01 3.722423e-01
## 121 1.079157e-01 4.810172e-01 3.151082e-01 9.595883e-02
## 122 4.323538e-04 1.606241e-01 7.406011e-01 9.834243e-02
## 123 1.318140e-01 8.305216e-02 7.052032e-01 7.993065e-02
## 124 1.723201e-01 3.206088e-01 1.841502e-01 3.229209e-01
## 125 6.316483e-02 2.112291e-02 2.584222e-01 6.572900e-01
## 126 7.435499e-01 5.626789e-03 1.994084e-01 5.141495e-02
## 127 4.070819e-01 4.533764e-01 1.155729e-01 2.396882e-02
## 128 1.719421e-01 3.136246e-01 1.466989e-01 3.677344e-01
## 129 9.076404e-01 8.516443e-02 6.641251e-03 5.538972e-04
## 130 8.248371e-02 5.290091e-01 2.198782e-01 1.686291e-01
## 131 7.174719e-01 1.427757e-01 1.964377e-02 1.201087e-01
## 132 6.516452e-02 5.227873e-01 2.148794e-01 1.971687e-01
## 133 9.047924e-02 1.424797e-02 3.462301e-01 5.490426e-01
## 134 6.827000e-01 3.269733e-03 2.971881e-01 1.684221e-02
## 135 4.487346e-02 1.654944e-01 3.281073e-02 7.568214e-01
## 136 7.932197e-01 2.872648e-04 1.251936e-01 8.129947e-02
## 137 3.609974e-01 4.115676e-02 3.873140e-01 2.105318e-01
## 138 1.858186e-01 5.830264e-01 2.018336e-01 2.932147e-02
## 139 2.079727e-02 1.966951e-01 3.669145e-02 7.458162e-01
## 140 5.239089e-01 1.204923e-03 3.826338e-01 9.225237e-02
## 141 6.092571e-01 3.453509e-02 3.401348e-01 1.607308e-02
## 142 3.242830e-01 3.988817e-01 1.296677e-01 1.471676e-01
## 143 1.189458e-01 2.215451e-03 5.239358e-01 3.549029e-01
## 144 6.860532e-01 2.572629e-03 1.793385e-01 1.320357e-01
## 145 7.304974e-02 2.665464e-01 2.573601e-02 6.346679e-01
## 146 4.162421e-01 3.801758e-01 1.085262e-01 9.505594e-02
## 147 4.955369e-01 4.700087e-01 3.233535e-02 2.119134e-03
## 148 6.166163e-01 2.207332e-03 3.374553e-01 4.372099e-02
## 149 3.551444e-02 5.952540e-03 5.593988e-01 3.991342e-01
## 150 2.562948e-01 4.720963e-01 1.041731e-01 1.674358e-01
## 151 5.262585e-01 3.197645e-01 1.122953e-02 1.427475e-01
## 152 1.416510e-01 4.829222e-01 9.580333e-02 2.796235e-01
## 153 2.623640e-01 1.542683e-02 6.096316e-01 1.125775e-01
## 154 3.966564e-01 1.799865e-03 3.975911e-01 2.039525e-01
## 155 3.647010e-01 1.785091e-02 5.386092e-01 7.883894e-02
## 156 7.946502e-01 9.229896e-03 1.431359e-01 5.298396e-02
## 157 4.075509e-01 1.983834e-01 5.067774e-03 3.889980e-01
## 158 6.907735e-01 6.133715e-03 2.656302e-01 3.746257e-02
## 159 3.238823e-01 2.031407e-01 6.685333e-03 4.662916e-01
## 160 6.537225e-01 5.095499e-03 3.267672e-01 1.441486e-02
## 161 3.440289e-01 1.344184e-02 5.735352e-01 6.899406e-02
## 162 7.272036e-01 1.035153e-02 2.129754e-01 4.946952e-02
## 163 3.364983e-02 2.310611e-01 1.048691e-02 7.248022e-01
## 164 6.779633e-01 1.645294e-02 1.672581e-01 1.383256e-01
## 165 5.770622e-01 4.202173e-01 3.629948e-05 2.684219e-03
## 166 3.928258e-01 2.960938e-02 4.631324e-01 1.144324e-01
## 167 4.082781e-01 4.683151e-01 1.774624e-04 1.232293e-01
## 168 5.842372e-01 3.417359e-02 2.007140e-01 1.808752e-01
## 169 2.626020e-02 7.897927e-03 7.441283e-01 2.217136e-01
## 170 6.385856e-02 9.000667e-01 3.607401e-02 7.129146e-07
## 171 3.896808e-01 3.986260e-01 7.973578e-05 2.116136e-01
## 172 2.304518e-01 7.201908e-01 4.512458e-02 4.232827e-03
## 173 2.967217e-01 3.763488e-01 5.907620e-08 3.269295e-01
## 174 2.002311e-01 5.603560e-01 3.815295e-02 2.012599e-01
## 175 4.191844e-01 2.410226e-07 5.572538e-01 2.356159e-02
## 176 6.112687e-01 4.911268e-02 2.690346e-01 7.058400e-02
## 177 7.490164e-01 2.450370e-01 5.940053e-03 6.620879e-06
## 178 1.892779e-01 7.712777e-01 3.731690e-02 2.127417e-03
## 179 7.151763e-01 2.690586e-01 1.562501e-02 1.401385e-04
## 180 1.877359e-01 6.445005e-01 1.552905e-02 1.522345e-01
## 181 9.773102e-03 6.243072e-02 8.249159e-01 1.028803e-01
## 182 4.653281e-01 1.010286e-01 3.474302e-01 8.621312e-02
## 183 4.396489e-01 4.739702e-01 2.012430e-02 6.625668e-02
## 184 5.339150e-01 1.061240e-01 3.043242e-01 5.563674e-02
## 185 1.124007e-02 8.132767e-02 8.969851e-01 1.044714e-02
## 186 2.866226e-01 6.087881e-01 6.768713e-03 9.782063e-02
## 187 2.807357e-01 3.088666e-02 6.875142e-01 8.635016e-04
## 188 1.204019e-01 8.785611e-01 2.490166e-04 7.879426e-04
## 189 1.175722e-01 5.616676e-02 7.057295e-01 1.205316e-01
## 190 3.135339e-01 1.351884e-01 4.217143e-01 1.295634e-01
## 191 1.550269e-02 8.037180e-02 6.996279e-01 2.044976e-01
## 192 2.670468e-01 1.569087e-01 5.678697e-01 8.174785e-03
## 193 1.456246e-01 5.487491e-01 4.760943e-02 2.580168e-01
## 194 2.494426e-01 1.797478e-01 4.065044e-01 1.643051e-01
## 195 1.485946e-01 1.201760e-01 6.998915e-01 3.133801e-02
## 196 1.916639e-01 2.416796e-01 5.144037e-01 5.225287e-02
## 197 5.684195e-02 1.872556e-01 7.465474e-01 9.355097e-03
## 198 6.085296e-02 8.882498e-01 3.951330e-02 1.138394e-02
## 199 5.077176e-02 7.067089e-01 1.141763e-01 1.283430e-01
## 200 9.603934e-02 8.333693e-01 5.259578e-02 1.799560e-02
##
## $contrib
## Dim.1 Dim.2 Dim.3 Dim.4
## 1 6.127437e-02 1.292108e-01 2.308281e+00 1.325638e+00
## 2 7.562508e-01 6.429349e-02 2.787789e+00 5.037572e-03
## 3 9.560077e-04 1.709590e+00 7.252840e-02 3.513902e+00
## 4 1.065365e+00 1.269090e+00 2.766253e-01 4.206134e-03
## 5 3.637456e-02 1.562032e+00 9.773381e-02 3.467762e-01
## 6 1.094397e+00 1.218825e+00 2.606035e-01 1.744169e-02
## 7 2.320411e-01 1.806982e+00 1.868990e-02 1.481496e+00
## 8 1.712407e+00 1.079915e+00 3.091419e-01 1.138617e-01
## 9 2.855689e+00 3.715441e-01 1.035513e+00 9.396874e-04
## 10 5.488910e-01 1.245091e+00 1.659885e-01 1.542230e-02
## 11 2.564522e+00 3.534650e-01 1.083764e+00 1.301407e-01
## 12 1.059033e+00 1.138147e+00 2.305585e-01 9.631267e-01
## 13 1.054465e+00 1.952083e+00 1.541958e-04 1.096872e-05
## 14 1.005326e+00 1.104645e+00 2.002311e-01 4.070151e-04
## 15 5.117612e-01 1.789475e-01 1.469675e+00 9.536088e-01
## 16 6.525008e-01 2.670348e-02 2.450489e+00 5.380315e-03
## 17 1.043809e-04 1.448498e+00 3.817911e-02 2.819619e-01
## 18 4.315071e-01 2.853806e-02 2.279325e+00 2.190376e-01
## 19 8.210576e-01 1.562856e-01 1.263103e+00 3.513412e-03
## 20 1.027011e+00 9.780241e-01 1.634076e-01 9.189846e-01
## 21 8.839115e-02 7.357188e-02 1.534242e+00 2.950647e-01
## 22 3.852251e-01 1.317078e-02 2.104607e+00 6.873711e-03
## 23 6.851615e-01 1.593571e+00 4.105318e-03 5.738174e-01
## 24 1.939332e-01 1.573073e-02 1.943471e+00 3.243089e-02
## 25 8.495281e-01 1.483714e+00 1.812584e-02 3.753456e-02
## 26 4.187878e-01 8.858477e-04 1.926297e+00 9.357522e-02
## 27 1.286449e-01 1.259013e+00 4.520931e-05 2.637787e-02
## 28 1.577379e-02 1.408277e-02 1.606958e+00 5.223627e-03
## 29 5.036281e-02 1.164187e+00 1.276141e-05 1.638683e-01
## 30 1.431468e+00 7.001518e-01 1.093525e-01 3.041562e-02
## 31 2.408065e+00 1.328087e-01 7.210209e-01 3.231547e-02
## 32 1.059485e+00 7.140873e-01 7.351573e-02 5.948780e-02
## 33 1.797934e+00 7.181288e-02 7.058838e-01 2.358748e-01
## 34 1.302032e+00 2.409390e-02 1.981201e+00 3.799152e-03
## 35 5.938780e-01 1.191535e+00 3.705266e-02 1.694224e-01
## 36 1.344872e+00 5.812809e-01 6.160355e-02 2.930438e-03
## 37 2.613900e-01 1.055045e+00 2.364536e-02 4.186636e-01
## 38 5.764401e-01 6.570965e-01 1.992304e-02 2.284395e-02
## 39 3.393635e-02 8.298245e-01 1.800675e-02 4.849854e-01
## 40 1.194346e+00 4.805566e-01 2.536939e-02 5.706001e-02
## 41 8.280136e-01 1.029945e+00 9.237906e-02 6.187731e-01
## 42 9.241847e-01 5.072350e-02 1.635504e+00 1.059604e-01
## 43 4.487244e-01 1.075869e-03 7.897433e-01 2.819325e-03
## 44 2.861700e-01 5.596912e-01 3.927348e-06 7.676010e-03
## 45 2.941710e-01 8.683788e-01 6.058418e-02 6.296457e-03
## 46 6.567845e-01 4.915444e-01 3.438119e-03 8.977731e-02
## 47 1.788292e-02 7.092336e-01 2.743867e-02 3.634799e-01
## 48 1.831535e-01 5.567208e-01 2.366974e-03 3.522489e-01
## 49 8.214158e-02 5.932715e-01 6.554906e-03 3.895069e-01
## 50 5.128452e-02 6.092039e-01 8.805875e-03 2.878474e-01
## 51 2.313557e-02 6.480147e-01 4.280279e-02 2.387552e-01
## 52 2.940282e-02 2.928520e-02 1.049610e+00 1.285780e-03
## 53 1.779226e-01 4.717384e-01 1.024751e-02 6.360197e-02
## 54 3.723936e-01 3.332898e-03 7.040721e-01 1.216706e+00
## 55 8.746167e-02 6.550131e-01 6.684514e-02 1.348184e-01
## 56 3.113794e-01 4.465093e-03 7.098163e-01 1.648058e-02
## 57 5.975625e-02 6.091367e-01 6.946368e-02 2.802463e-01
## 58 1.295552e+00 1.488084e-04 4.931965e-01 1.464795e+00
## 59 2.438260e-01 3.771078e-01 1.992800e-02 2.476321e-01
## 60 4.313854e-01 1.217062e-02 5.917869e-01 2.601028e-01
## 61 1.011182e+00 2.565586e-03 4.881641e-01 2.222798e+00
## 62 2.619582e-01 9.602062e-02 1.046878e+00 5.872140e-01
## 63 4.798065e-01 6.346365e-01 1.704328e-01 1.633409e+00
## 64 3.536202e-02 5.048075e-01 9.115932e-02 7.641818e-01
## 65 7.673963e-01 1.279342e-02 4.737618e-01 1.137613e+00
## 66 3.686278e-01 1.342492e-01 1.018354e+00 5.113679e-01
## 67 1.098701e-05 4.339138e-01 8.070820e-02 3.236558e-02
## 68 6.202903e-01 6.283384e-01 2.050558e-01 1.506790e+00
## 69 3.330166e-01 1.305112e-01 1.005401e+00 4.506497e-01
## 70 7.769544e-02 3.727255e-01 5.059223e-02 1.389494e-01
## 71 1.043248e+00 1.174553e-02 4.105859e-01 2.154820e+00
## 72 6.421545e-02 4.640791e-01 1.288454e-01 2.762344e-02
## 73 2.814176e-01 5.019562e-01 1.878840e-01 8.122167e-01
## 74 1.737077e-01 4.748957e-01 1.650381e-01 1.137842e+00
## 75 6.721579e-01 5.932845e-02 3.486304e-01 6.370955e-01
## 76 8.191438e-02 1.870189e-01 6.891174e-01 2.319383e-01
## 77 1.925974e-04 2.912924e-01 1.547406e-01 1.154207e-01
## 78 5.394170e-02 1.182968e-01 5.136158e-01 1.059276e-04
## 79 3.987261e-01 1.844422e-01 6.533536e-02 4.191277e-01
## 80 9.787092e-02 3.489133e-01 2.133324e-01 6.497384e-02
## 81 4.826570e-01 7.017850e-02 3.830044e-01 6.482567e-01
## 82 3.411191e-03 1.395612e-01 5.726769e-01 4.567493e-03
## 83 1.340697e+00 3.455231e-02 2.658641e-01 1.013481e+00
## 84 3.615399e-02 3.246104e-01 1.890423e-01 2.916905e-02
## 85 5.972329e-01 1.643195e-01 4.986156e-02 3.804440e-01
## 86 2.553396e-01 8.839632e-02 4.321583e-01 8.572898e-02
## 87 5.426514e-02 2.670449e-01 2.424129e-01 8.037912e-01
## 88 5.050576e-01 1.264096e-01 8.499557e-02 3.839272e-01
## 89 1.859143e-01 1.468357e-01 1.349682e-01 5.923203e-04
## 90 7.693657e-02 2.541239e-01 2.754279e-01 1.553399e-01
## 91 4.520197e-01 3.041690e-01 3.890483e-01 1.947176e+00
## 92 1.000566e-01 2.898890e-01 5.491716e-01 1.295389e+00
## 93 2.076917e-01 1.819837e-01 3.147051e-01 1.332514e-01
## 94 5.452370e-03 1.840459e-01 2.701576e-01 3.430201e-02
## 95 3.968770e-02 1.462128e-01 2.120459e-01 2.384322e-01
## 96 9.904283e-02 3.115661e-01 5.287805e-01 3.783966e-01
## 97 2.911595e-02 1.985617e-01 2.890463e-01 8.226916e-02
## 98 2.299428e-01 1.119337e-01 1.577659e-01 2.684982e-01
## 99 3.240981e-01 1.826684e-01 2.660171e-01 3.991654e-02
## 100 1.493100e-01 3.488022e-01 5.231006e-01 7.413452e-01
## 101 2.060242e-01 8.915208e-02 1.957568e-01 8.202012e-01
## 102 4.590314e-02 1.703900e-01 3.394710e-01 1.588000e-01
## 103 7.471321e-01 1.575931e-01 1.949209e-01 2.056274e+00
## 104 9.216190e-02 3.558510e-01 4.760106e-01 2.081114e-01
## 105 1.382465e-01 2.315032e-01 2.978251e-01 3.303262e-01
## 106 2.812023e-01 8.153509e-02 1.812036e-01 9.401288e-01
## 107 4.800190e-01 2.250708e-01 4.932743e-01 1.417329e+00
## 108 4.684947e-01 2.006742e-01 2.085411e-01 3.108711e-01
## 109 1.332169e+00 1.352408e-01 1.259271e-01 1.209516e+00
## 110 1.025835e+00 1.535502e-01 1.499029e-01 1.277757e+00
## 111 8.423375e-01 1.665095e-01 1.674106e-01 1.395082e+00
## 112 6.169991e-01 4.924581e-02 1.475887e-01 5.980173e-01
## 113 3.746318e-04 1.105861e-01 3.262208e-01 5.046228e-02
## 114 1.355500e-01 4.198068e-01 4.409020e-01 9.507421e-01
## 115 5.160773e-01 3.726655e-02 1.910345e-01 9.187165e-01
## 116 5.195543e-01 3.711421e-02 1.898695e-01 7.524270e-01
## 117 5.127172e-01 1.918789e-01 5.568840e-01 7.994261e-01
## 118 1.235235e-03 1.035978e-01 3.527392e-01 4.345169e-01
## 119 1.259568e-01 1.129421e-01 4.970303e-01 1.361638e-01
## 120 9.490988e-03 8.538535e-02 4.149307e-01 4.305206e-01
## 121 8.436768e-02 4.829973e-01 3.568052e-01 1.502749e-01
## 122 1.614842e-04 7.705380e-02 4.006406e-01 7.357691e-02
## 123 4.831997e-02 3.910286e-02 3.744201e-01 5.869327e-02
## 124 2.484179e-01 5.936290e-01 3.845024e-01 9.325089e-01
## 125 6.765537e-02 2.905851e-02 4.009007e-01 1.410243e+00
## 126 6.387694e-01 6.208508e-03 2.481175e-01 8.847760e-02
## 127 2.822062e-01 4.036791e-01 1.160435e-01 3.328445e-02
## 128 2.847305e-01 6.670440e-01 3.518509e-01 1.219821e+00
## 129 1.966219e+00 2.369567e-01 2.083761e-02 2.403572e-03
## 130 7.229180e-02 5.954929e-01 2.791148e-01 2.960487e-01
## 131 1.153156e+00 2.947337e-01 4.572860e-02 3.866939e-01
## 132 5.702545e-02 5.875911e-01 2.723531e-01 3.456252e-01
## 133 7.922244e-02 1.602305e-02 4.390805e-01 9.629756e-01
## 134 4.928763e-01 3.031887e-03 3.107559e-01 2.435661e-02
## 135 1.066785e-01 5.053162e-01 1.129752e-01 3.604048e+00
## 136 1.078435e+00 5.016209e-04 2.465259e-01 2.214105e-01
## 137 5.304606e-01 7.767527e-02 8.243132e-01 6.196931e-01
## 138 1.739681e-01 7.010700e-01 2.736868e-01 5.498905e-02
## 139 4.630491e-02 5.624799e-01 1.183221e-01 3.326309e+00
## 140 3.579541e-01 1.057362e-03 3.786473e-01 1.262580e-01
## 141 1.325858e+00 9.652716e-02 1.072080e+00 7.006570e-02
## 142 5.509357e-01 8.703890e-01 3.190720e-01 5.008396e-01
## 143 8.368194e-02 2.001877e-03 5.338762e-01 5.001519e-01
## 144 8.694519e-01 4.187527e-03 3.291859e-01 3.351883e-01
## 145 1.315529e-01 6.165199e-01 6.712788e-02 2.289487e+00
## 146 8.608001e-01 1.009795e+00 3.250656e-01 3.937726e-01
## 147 4.415541e-01 5.379061e-01 4.173165e-02 3.782477e-03
## 148 5.204441e-01 2.392872e-03 4.125299e-01 7.391949e-02
## 149 3.358142e-02 7.229180e-03 7.661178e-01 7.560020e-01
## 150 4.017038e-01 9.503630e-01 2.364840e-01 5.256837e-01
## 151 6.767144e-01 5.281157e-01 2.091451e-02 3.676924e-01
## 152 2.033624e-01 8.904729e-01 1.992102e-01 8.041453e-01
## 153 2.667236e-01 2.014311e-02 8.976449e-01 2.292549e-01
## 154 3.290386e-01 1.917631e-03 4.776932e-01 3.388999e-01
## 155 4.511022e-01 2.835901e-02 9.649210e-01 1.953389e-01
## 156 1.244498e+00 1.856555e-02 3.246736e-01 1.662159e-01
## 157 8.137786e-01 5.087710e-01 1.465621e-02 1.555900e+00
## 158 7.168615e-01 8.175528e-03 3.992611e-01 7.787663e-02
## 159 6.591537e-01 5.309932e-01 1.970618e-02 1.900934e+00
## 160 5.859268e-01 5.865828e-03 4.241977e-01 2.588036e-02
## 161 4.013385e-01 2.014036e-02 9.690715e-01 1.612269e-01
## 162 9.179704e-01 1.678301e-02 3.893875e-01 1.250893e-01
## 163 8.726949e-02 7.696600e-01 3.939192e-02 3.765381e+00
## 164 1.125051e+00 3.506728e-02 4.020066e-01 4.598102e-01
## 165 7.848953e-01 7.341006e-01 7.151044e-05 7.313359e-03
## 166 3.825518e-01 3.703499e-02 6.532440e-01 2.232283e-01
## 167 5.515929e-01 8.126309e-01 3.472553e-04 3.334929e-01
## 168 1.068610e+00 8.028109e-02 5.317258e-01 6.627032e-01
## 169 2.589013e-02 1.000097e-02 1.062586e+00 4.378632e-01
## 170 6.586316e-02 1.192314e+00 5.388871e-02 1.472892e-06
## 171 6.337981e-01 8.327223e-01 1.878344e-04 6.894383e-01
## 172 3.270092e-01 1.312563e+00 9.274125e-02 1.203151e-02
## 173 5.249872e-01 8.552295e-01 1.513882e-07 1.158680e+00
## 174 3.689571e-01 1.326176e+00 1.018246e-01 7.428680e-01
## 175 7.557084e-01 5.580840e-07 1.455064e+00 8.508708e-02
## 176 9.565622e-01 9.871140e-02 6.097743e-01 2.212571e-01
## 177 1.702424e+00 7.153203e-01 1.955450e-02 3.014407e-05
## 178 2.546192e-01 1.332584e+00 7.270708e-02 5.732627e-03
## 179 1.823519e+00 8.811234e-01 5.770290e-02 7.157556e-04
## 180 3.670553e-01 1.618453e+00 4.397533e-02 5.962210e-01
## 181 1.173824e-02 9.630779e-02 1.435027e+00 2.475212e-01
## 182 8.448735e-01 2.355968e-01 9.136502e-01 3.135564e-01
## 183 8.883054e-01 1.229986e+00 5.889212e-02 2.681612e-01
## 184 1.085790e+00 2.771915e-01 8.963763e-01 2.266446e-01
## 185 1.314237e-02 1.221337e-01 1.519042e+00 2.446876e-02
## 186 7.582256e-01 2.068458e+00 2.593427e-02 5.183563e-01
## 187 5.609099e-01 7.926092e-02 1.989560e+00 3.455959e-03
## 188 2.117117e-01 1.984158e+00 6.341907e-04 2.775339e-03
## 189 2.222506e-01 1.363674e-01 1.932220e+00 4.564039e-01
## 190 6.138558e-01 3.399491e-01 1.195859e+00 5.081291e-01
## 191 2.672357e-02 1.779442e-01 1.746766e+00 7.061317e-01
## 192 4.145771e-01 3.128654e-01 1.276869e+00 2.542167e-02
## 193 4.397767e-01 2.128453e+00 2.082430e-01 1.560830e+00
## 194 6.760503e-01 6.256979e-01 1.595709e+00 8.920093e-01
## 195 4.431594e-01 4.603281e-01 3.023206e+00 1.872140e-01
## 196 5.162465e-01 8.360831e-01 2.006785e+00 2.819272e-01
## 197 1.679257e-01 7.105191e-01 3.194373e+00 5.536133e-02
## 198 1.943339e-01 3.643297e+00 1.827638e-01 7.282311e-02
## 199 2.183273e-01 3.903185e+00 7.111181e-01 1.105524e+00
## 200 4.208430e-01 4.690304e+00 3.338119e-01 1.579600e-01
##
## $dist
## 1 2 3 4 5 6 7 8
## 2.5525074 2.7143333 2.9073987 2.4606740 2.0060752 2.4526882 2.5387763 2.7586052
## 9 10 11 12 13 14 15 16
## 3.2256056 2.1027999 3.1377482 2.6396161 2.6341321 2.3239514 2.4026514 2.5262409
## 17 18 19 20 21 22 23 24
## 1.8682366 2.3998092 2.2127017 2.5220834 1.9090893 2.2341682 2.4434378 2.0532525
## 25 26 27 28 29 30 31 32
## 2.3425169 2.2002351 1.7390449 1.7519712 1.6730914 2.3604545 2.8555402 2.1379541
## 33 34 35 36 37 38 39 40
## 2.5743749 2.6928858 2.0971187 2.2277953 1.8777035 1.7321429 1.5870931 2.0860040
## 41 42 43 44 45 46 47 48
## 2.3232335 2.4048504 1.6386120 1.3986088 1.6541801 1.7113862 1.4410446 1.4629562
## 49 50 51 52 53 54 55 56
## 1.4151384 1.3491814 1.3502132 1.4476178 1.2546327 1.9894507 1.3842061 1.4804181
## 57 58 59 60 61 62 63 64
## 1.3948586 2.5260101 1.3486191 1.6246245 2.5748565 1.9093722 2.2671176 1.5337723
## 65 66 67 68 69 70 71 72
## 2.1230607 1.9642531 1.0508617 2.3236395 1.9101483 1.1281186 2.5494603 1.1932520
## 73 74 75 76 77 78 79 80
## 1.8039581 1.8173591 1.8552783 1.4858137 1.0271461 1.1616923 1.4653341 1.2167011
## 81 82 83 84 85 86 87 88
## 1.7415695 1.1721213 2.3546388 1.0815026 1.5997346 1.3391108 1.4964045 1.5169816
## 89 90 91 92 93 94 95 96
## 1.0301248 1.2092004 2.2804481 1.9086264 1.3063551 0.9745680 1.0626297 1.5536599
## 97 98 99 100 101 102 103 104
## 1.0694439 1.2286056 1.3437101 1.7621728 1.4866769 1.1517998 2.3396149 1.4700098
## 105 106 107 108 109 110 111 112
## 1.3627401 1.5909511 2.1426541 1.5780154 2.3949926 2.2550419 2.1927798 1.6868749
## 113 114 115 116 117 118 119 120
## 0.9528978 1.8291937 1.7494998 1.6863842 1.9739369 1.2090323 1.2979174 1.2474551
## 121 122 123 124 125 126 127 128
## 1.4515818 1.0033238 0.9939815 1.9711482 1.6990622 1.5216431 1.3669045 2.1126214
## 129 130 131 132 133 134 135 136
## 2.4163223 1.5369375 2.0813125 1.5357642 1.5361918 1.3949217 2.5312755 1.9142388
## 137 138 139 140 141 142 143 144
## 1.9900790 1.5884958 2.4496623 1.3570054 2.4218317 2.1398540 1.3770098 1.8481604
## 145 146 147 148 149 150 151 152
## 2.2031124 2.3608802 1.5497077 1.5082570 1.5964041 2.0553175 1.8616538 1.9670766
## 153 154 155 156 157 158 159 160
## 1.6552910 1.4952436 1.8258488 2.0544942 2.3198399 1.6724209 2.3420464 1.5542496
## 161 162 163 164 165 166 167 168
## 1.7731836 1.8445147 2.6438424 2.1148463 1.9146541 1.6200967 1.9082139 2.2202957
## 169 170 171 172 173 174 175 176
## 1.6300987 1.6672760 2.0937113 1.9556255 2.1837128 2.2285275 2.2042982 2.0536967
## 177 178 179 180 181 182 183 184
## 2.4750499 1.9041071 2.6214672 2.2955561 1.7992065 2.2121369 2.3335869 2.3411687
## 185 186 187 188 189 190 191 192
## 1.7752033 2.6701754 2.3205639 2.1769657 2.2571738 2.2971360 2.1554580 2.0455247
## 193 194 195 196 197 198 199 200
## 2.8529527 2.7027133 2.8351390 2.6943514 2.8217593 2.9337912 3.4043855 3.4366178
# Analysis of clustering result
par(mfcol=c(1,2))
plot.PCA(x = pca_result,
choix = "ind",
label = "quali",
col.ind = "blue",
title = "Spending Score")plot.PCA(x = pca_result,
choix = "ind",
label = "quali",
col.ind = "red",
title = "Cluster")
The above plots illustrate individual factor maps of a biplot, where the
points represent observations colored by their Spending Score (form
Kaggle) and Cluster (after clustering).
Dim1 and Dim2 represent PC1 and PC2, respectively, and each has a percentage share of information from the total dataset.
3D Plot
mall_3d <- as.data.frame(cbind(mall_retaining,
cluster = mall_clean$Cluster))
plot_ly(mall_3d, x = ~Dim.1,
y = ~Dim.2,
z = ~Dim.3,
color = ~cluster, #
colors = c('#A6D0DD', '#FF6969', '#FFD3B0')) %>%
add_markers() %>%
layout(scene = list(xaxis = list(title = 'Dim.1'),
yaxis = list(title = 'Dim.2'),
zaxis = list(title = 'Dim.3')))Summary
Our data demonstrates non-multicollinearity, indicating that each predictor or variable is independent of the others. This is evident in our ggpair and ggcorr plots.
To perform K-means clustering, we first identify the optimal k-value using the elbow plot. We then use this value in the “kmodel” to generate a clustering plot.
Cluster profiling is subsequently conducted, allowing us to identify four distinct groups :
- A group of women around 53 years old with a midle spending score.
- A group of men around 30 years old with a relatively high spending score.
- A group of women around 32 years old with a relatively high spending score.
- A group of men around 55 years old with a relatively middle spending score.
- A group of women around 28 years old with a relatively middle spending score.
We need to explore more to know why we have 5th and 6th group
We can use the eigenvalues obtained from the clustering to perform dimensionality reduction, selecting three principal components (PCs) from a total of four to retain at least 80% of the information from the original data. By doing so, we were able to reduce the dimensions by approximately 25% while retaining 83% of the information.
The improved dataset resulting from unsupervised learning, such as PCA, can be used for various purposes, such as supervised learning (classification) or better visualization of high-dimensional data with insights.