Контрольная работа по "Программированию"
Автор: xcoder777 • Май 1, 2023 • Контрольная работа • 4,810 Слов (20 Страниц) • 153 Просмотры
1. Анализ главных компонент :
a. Проведите PCA для различных количественных переменных в базе данных отеля.
Постройте график собственных значений. Сколько факторов вы оставите для анализа? Обоснуйте свой выбор.
ОТВЕТ:
> str(hotels)
tibble [39 x 11] (S3: tbl_df/tbl/data.frame)
$ NOM : chr [1:39] "La Residence" "M'Diq" "Penelope" "Sultan" ...
$ PAYS : Factor w/ 5 levels "Grèce","Maroc",..: 2 2 4 5 1 1 1 5 1 4 ...
$ ETOILE : Factor w/ 5 levels "1","2","3","4",..: 4 3 4 3 1 1 1 1 2 2 ...
$ CONFORT: num [1:39] 5 3 5 3 4 3 4 2 7 3 ...
$ CHAMBRE: num [1:39] 366 300 200 110 56 56 286 50 93 550 ...
$ CUISINE: num [1:39] 7 5 5 7 2 1 3 1 3 6 ...
$ SPORT : num [1:39] 4 7 10 6 0 0 4 5 0 9 ...
$ PLAGE : num [1:39] 10 10 7 8 8 8 7 10 5 8 ...
$ PRIX : num [1:39] 419 421 473 534 390 369 499 489 427 399 ...
$ PISCINE: num [1:39] 0 0 0 0 0 0 0 0 0 0 ...
$ SUP : num [1:39] 0 0 1 0 0 0 0 0 0 0 ...
> summary(hotels)
NOM PAYS ETOILE CONFORT CHAMBRE CUISINE SPORT
Length:39 Grece : 8 1: 4 Min. :2.000 Min. : 50.0 Min. : 1.000 Min. : 0.000
Class :character Maroc :12 2: 3 1st Qu.:4.000 1st Qu.:148.0 1st Qu.: 5.000 1st Qu.: 4.000
Mode :character Portugal: 5 3:12 Median :5.000 Median :250.0 Median : 7.000 Median : 6.000
Tunisie :10 4:16 Mean :5.179 Mean :261.2 Mean : 6.667 Mean : 6.231
Turquie : 4 5: 4 3rd Qu.:6.000 3rd Qu.:317.0 3rd Qu.: 9.000 3rd Qu.:10.000
Max. :9.000 Max. :800.0 Max. :10.000 Max. :10.000
PLAGE PRIX PISCINE SUP
Min. : 0.000 Min. : 369.0 Min. :0.0000 Min. :0.0000
1st Qu.: 6.500 1st Qu.: 447.0 1st Qu.:0.0000 1st Qu.:0.0000
Median : 8.000 Median : 495.0 Median :0.0000 Median :1.0000
Mean : 7.769 Mean : 529.9 Mean :0.3333 Mean :0.5385
3rd Qu.:10.000 3rd Qu.: 574.0 3rd Qu.:1.0000 3rd Qu.:1.0000
Max. :10.000 Max. :1101.0 Max. :1.0000 Max. :1.0000
те которые количественные, это [pic 1]
ETOILE тоже не хочет быть количественной, оставили без неё
[pic 2]
b. Постройте облако переменных и дайте интерпретацию главных компонент. Какая переменная больше всего коррелирует с CP1?
[pic 3]
[pic 4]
> cor(hotels[4:11])
CONFORT CHAMBRE CUISINE SPORT PLAGE PRIX PISCINE SUP
CONFORT 1.00000000 0.07230083 0.5586882 0.03591748 -0.05166764 0.47368666 0.2689737 0.4057601
CHAMBRE 0.07230083 1.00000000 0.4209873 0.47835884 0.18350863 -0.03491169 0.1321521 0.2481989
CUISINE 0.55868815 0.42098735 1.0000000 0.45852342 0.25575255 0.56748515 0.2149463 0.6097667
SPORT 0.03591748 0.47835884 0.4585234 1.00000000 0.53124345 0.31135324 0.1279713 0.6376353
PLAGE -0.05166764 0.18350863 0.2557525 0.53124345 1.00000000 0.33712188 0.1013328 0.4953231
PRIX 0.47368666 -0.03491169 0.5674851 0.31135324 0.33712188 1.00000000 0.3530613 0.5053815
PISCINE 0.26897366 0.13215206 0.2149463 0.12797134 0.10133285 0.35306130 1.0000000 0.2182179
SUP 0.40576014 0.24819893 0.6097667 0.63763534 0.49532314 0.50538148 0.2182179 1.0000000
ЕСЛИ CP1 это первая переменная, то CONFORT коррелирует больше всего с COIsine прямой корреляцией 0,5586
c. Изобразите облако индивидов. Какой отель вы выбираете для отдыха? Обоснуйте свой выбор
> eig.val <- get_eigenvalue(res)
> eig.val
eigenvalue variance.percent cumulative.variance.percent
Dim.1 3.3869492 42.336865 42.33687
Dim.2 1.4697071 18.371338 60.70820
Dim.3 1.0156965 12.696206 73.40441
Dim.4 0.8539707 10.674634 84.07904
Dim.5 0.4266669 5.333337 89.41238
Dim.6 0.3980808 4.976010 94.38839
Dim.7 0.2499991 3.124989 97.51338
Dim.8 0.1989296 2.486620 100.00000
> fviz_eig(res, addlabels = TRUE, ylim = c(0, 50)) # 4 val prop.
[pic 5]
> fviz_pca_var(res, col.var = "black")
[pic 6]
> fviz_pca_var(res, col.var = "black", axes = c(1,3))
[pic 7]
> fviz_cos2(res, choice = "var", axes = 1:2)
[pic 8]
> fviz_pca_var(res, col.var = "cos2",
+ gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
+ repel = TRUE # Évite le chevauchement de texte
+ )
[pic 9]
> fviz_pca_var(res, col.var = "cos2", axes = c(1,3),
+ gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
+ repel = TRUE # Évite le chevauchement de texte
...