Данные включают в себя транзации клиентов сбербанка: код клиента, тип транзакции и его MCC-код, количество денег зачисленных или снятых со счета, а так же время проведение операции.
## [,1] [,2]
## [1,] 1585299 1586154
## [2,] 1645333 1645880
## [3,] 2158881 2159275
## [4,] 2314154 2314839
## [5,] 2368868 2369420
## [6,] 3180911 3181490
В ходе анализа было выявлено, что код клиента (customer_id) — нечто иное, как количество транзакций по его счету за указанный период. Это было подветрждено эмпирически.
Среднеее количество транзакций: 53 млн.
Проанализировав количество покупок по дням, получаем, что в 153-й день их было всего 52. Этот день: 1 января 2015. Наибольшее количество транзакций совершено 14 ноября 2014 (216).
В датасете присутствуют как данные о снятии средств, так и пополнении. Однако данных о снятии средств (оплаты ТУ и иных продуктов, снятие в банкомате и др.) 85%.
При этом, анализ трат и пополнений счета вместе как вместе, так и по отдельности не позволяет составить потребительский портрет, так как медианнное значение обоих равно нулю, а остальное — выбросы.
Проанализировав время совершение транзакций и их тип, решили убрать из датасета те данные, которые о поле клиентов ничего не скжаут: это автоматические списания средств и пользование банкоматами и другими финансовыми агрегатами. Так, доля покупок ТУ через POS Сбера в 12 часов (для любых минут и секунд) составляет 37%. А доля выдачи наличных через банкоматы в полдень Построение модели превышает 25%.
В 12 часов ночи, 0 минут, 0 секунд и вовсе списываются средства по автоматически настроенным услугам.
Мы решили убрать данные транзакции (совершенные в 12 часов ночи и дня), которые о поле нам ничего не скажут.
Классифицируем клиентов по количеству их транзакций по каждому типу MCC. Наша обучающая выборка выглядит следующим образом.
## Source: local data frame [6 x 163]
##
## 1711 1799 2741 3000 3351 3501 4111 4112 4121 4131 4214 4215
## (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl)
## 1 0 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 2 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0 0
## 6 1 0 0 0 0 0 0 7 0 0 0 0
## Variables not shown: 4411 (dbl), 4511 (dbl), 4722 (dbl), 4784 (dbl), 4789
## (dbl), 4812 (dbl), 4814 (dbl), 4816 (dbl), 4829 (dbl), 4899 (dbl), 4900
## (dbl), 5044 (dbl), 5045 (dbl), 5047 (dbl), 5065 (dbl), 5072 (dbl), 5074
## (dbl), 5094 (dbl), 5099 (dbl), 5111 (dbl), 5131 (dbl), 5137 (dbl), 5169
## (dbl), 5172 (dbl), 5192 (dbl), 5193 (dbl), 5199 (dbl), 5200 (dbl), 5211
## (dbl), 5231 (dbl), 5251 (dbl), 5261 (dbl), 5300 (dbl), 5309 (dbl), 5310
## (dbl), 5311 (dbl), 5331 (dbl), 5399 (dbl), 5411 (dbl), 5422 (dbl), 5441
## (dbl), 5451 (dbl), 5462 (dbl), 5499 (dbl), 5511 (dbl), 5532 (dbl), 5533
## (dbl), 5541 (dbl), 5542 (dbl), 5571 (dbl), 5611 (dbl), 5621 (dbl), 5631
## (dbl), 5641 (dbl), 5651 (dbl), 5655 (dbl), 5661 (dbl), 5681 (dbl), 5691
## (dbl), 5699 (dbl), 5712 (dbl), 5713 (dbl), 5714 (dbl), 5719 (dbl), 5722
## (dbl), 5732 (dbl), 5734 (dbl), 5735 (dbl), 5811 (dbl), 5812 (dbl), 5813
## (dbl), 5814 (dbl), 5816 (dbl), 5912 (dbl), 5921 (dbl), 5941 (dbl), 5942
## (dbl), 5943 (dbl), 5944 (dbl), 5945 (dbl), 5946 (dbl), 5947 (dbl), 5948
## (dbl), 5949 (dbl), 5950 (dbl), 5964 (dbl), 5968 (dbl), 5969 (dbl), 5970
## (dbl), 5971 (dbl), 5976 (dbl), 5977 (dbl), 5983 (dbl), 5992 (dbl), 5993
## (dbl), 5994 (dbl), 5995 (dbl), 5999 (dbl), 6010 (dbl), 6011 (dbl), 6012
## (dbl), 6051 (dbl), 6300 (dbl), 6536 (dbl), 7011 (dbl), 7210 (dbl), 7216
## (dbl), 7221 (dbl), 7230 (dbl), 7278 (dbl), 7298 (dbl), 7299 (dbl), 7311
## (dbl), 7372 (dbl), 7375 (dbl), 7395 (dbl), 7399 (dbl), 7512 (dbl), 7523
## (dbl), 7538 (dbl), 7542 (dbl), 7699 (dbl), 7829 (dbl), 7832 (dbl), 7841
## (dbl), 7922 (dbl), 7932 (dbl), 7933 (dbl), 7991 (dbl), 7993 (dbl), 7994
## (dbl), 7995 (dbl), 7996 (dbl), 7997 (dbl), 7999 (dbl), 8011 (dbl), 8021
## (dbl), 8043 (dbl), 8062 (dbl), 8099 (dbl), 8244 (dbl), 8299 (dbl), 8398
## (dbl), 8641 (dbl), 8699 (dbl), 8999 (dbl), 9222 (dbl), 9311 (dbl), 9399
## (dbl), 9402 (dbl), gender (fctr)
Тестовая выборка выглядит так.
## Source: local data frame [6 x 168]
##
## 742 1711 2741 3000 3351 3501 4111 4112 4121 4131 4214 4215
## (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl)
## 1 0 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 1 8 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0 0
## Variables not shown: 4411 (dbl), 4511 (dbl), 4722 (dbl), 4784 (dbl), 4789
## (dbl), 4812 (dbl), 4814 (dbl), 4816 (dbl), 4829 (dbl), 4899 (dbl), 4900
## (dbl), 5013 (dbl), 5039 (dbl), 5044 (dbl), 5045 (dbl), 5047 (dbl), 5065
## (dbl), 5072 (dbl), 5085 (dbl), 5094 (dbl), 5099 (dbl), 5111 (dbl), 5122
## (dbl), 5137 (dbl), 5172 (dbl), 5192 (dbl), 5193 (dbl), 5199 (dbl), 5200
## (dbl), 5211 (dbl), 5231 (dbl), 5251 (dbl), 5261 (dbl), 5300 (dbl), 5309
## (dbl), 5310 (dbl), 5311 (dbl), 5331 (dbl), 5399 (dbl), 5411 (dbl), 5422
## (dbl), 5441 (dbl), 5451 (dbl), 5462 (dbl), 5499 (dbl), 5511 (dbl), 5532
## (dbl), 5533 (dbl), 5541 (dbl), 5542 (dbl), 5571 (dbl), 5599 (dbl), 5611
## (dbl), 5621 (dbl), 5631 (dbl), 5641 (dbl), 5651 (dbl), 5655 (dbl), 5661
## (dbl), 5681 (dbl), 5691 (dbl), 5697 (dbl), 5699 (dbl), 5712 (dbl), 5713
## (dbl), 5714 (dbl), 5719 (dbl), 5722 (dbl), 5732 (dbl), 5734 (dbl), 5735
## (dbl), 5811 (dbl), 5812 (dbl), 5813 (dbl), 5814 (dbl), 5816 (dbl), 5912
## (dbl), 5921 (dbl), 5931 (dbl), 5941 (dbl), 5942 (dbl), 5943 (dbl), 5944
## (dbl), 5945 (dbl), 5946 (dbl), 5947 (dbl), 5948 (dbl), 5949 (dbl), 5950
## (dbl), 5964 (dbl), 5965 (dbl), 5967 (dbl), 5968 (dbl), 5969 (dbl), 5970
## (dbl), 5976 (dbl), 5977 (dbl), 5983 (dbl), 5992 (dbl), 5993 (dbl), 5994
## (dbl), 5995 (dbl), 5999 (dbl), 6010 (dbl), 6011 (dbl), 6012 (dbl), 6051
## (dbl), 6211 (dbl), 6300 (dbl), 6513 (dbl), 6536 (dbl), 7011 (dbl), 7210
## (dbl), 7216 (dbl), 7221 (dbl), 7230 (dbl), 7273 (dbl), 7278 (dbl), 7298
## (dbl), 7299 (dbl), 7311 (dbl), 7372 (dbl), 7375 (dbl), 7395 (dbl), 7399
## (dbl), 7523 (dbl), 7531 (dbl), 7538 (dbl), 7542 (dbl), 7629 (dbl), 7699
## (dbl), 7829 (dbl), 7832 (dbl), 7841 (dbl), 7922 (dbl), 7933 (dbl), 7991
## (dbl), 7993 (dbl), 7994 (dbl), 7995 (dbl), 7996 (dbl), 7997 (dbl), 7999
## (dbl), 8011 (dbl), 8021 (dbl), 8043 (dbl), 8062 (dbl), 8071 (dbl), 8099
## (dbl), 8299 (dbl), 8398 (dbl), 8641 (dbl), 8999 (dbl), 9222 (dbl), 9311
## (dbl), 9399 (dbl)
Строим модели классификации SVM и KNN (k ближайших соседей). Для этого преобразуем исходные данные методом главных компонент. Для того, чтобы охватить 80% дисперсии исходных данных, алгоритм использует 28 компонент.
## Importance of components:
## PC1 PC2 PC3 PC4 PC5 PC6
## Standard deviation 4.5369 3.37291 3.10019 2.80828 2.77694 2.48633
## Proportion of Variance 0.1581 0.08739 0.07383 0.06058 0.05924 0.04749
## Cumulative Proportion 0.1581 0.24550 0.31933 0.37991 0.43915 0.48663
## PC7 PC8 PC9 PC10 PC11 PC12
## Standard deviation 2.34702 2.26401 2.21285 2.13397 2.01321 1.94170
## Proportion of Variance 0.04231 0.03937 0.03761 0.03498 0.03113 0.02896
## Cumulative Proportion 0.52895 0.56832 0.60594 0.64092 0.67205 0.70101
## PC13 PC14 PC15 PC16 PC17 PC18
## Standard deviation 1.85242 1.84362 1.77079 1.70862 1.6494 1.59767
## Proportion of Variance 0.02636 0.02611 0.02409 0.02243 0.0209 0.01961
## Cumulative Proportion 0.72737 0.75348 0.77757 0.79999 0.8209 0.84050
## PC19 PC20 PC21 PC22 PC23 PC24
## Standard deviation 1.55748 1.54898 1.51001 1.47596 1.46519 1.42817
## Proportion of Variance 0.01863 0.01843 0.01752 0.01673 0.01649 0.01567
## Cumulative Proportion 0.85913 0.87756 0.89508 0.91181 0.92830 0.94397
## PC25 PC26 PC27 PC28
## Standard deviation 1.40974 1.35204 1.34200 1.29517
## Proportion of Variance 0.01527 0.01404 0.01383 0.01289
## Cumulative Proportion 0.95924 0.97328 0.98711 1.00000
Основная из них — первая. Она привносит 16% вариативности. Больше всего в нём состоят транзакции типов 2741 (Издательства книг, брошюр, журналов), 3000 (Авиабилеты), 3351 (Агентства по аренде автомобилей), 3501 (Жилье – отели, мотели, курорты), 4829 (Денежные переводы), 5172 (Оптовые поставки нефти и нефтепродуктов), 5192 (Оптовые производители и поставщики книг, периодических изданий, журналов и газет), 5309 (Беспошлинные магазины Duty Free), 5532 (Автошины), 5541 (Станции техобслуживания), 5813 (Бары, коктейль-бары, дискотеки, ночные клубы и таверны – места продажи алкогольных напитков), 5812 (Места общественного питания, рестораны), 5942 (Книжные магазины), 7829 (Производство и дистрибуция видеофильмов) и так далее.
В данном списке находятся, как очевидные типы транзакций (те, которые указывают на гендерную принадлежность клиента): агентства по аренде автомобилей, автошины, станции техобслуживания; так и совершенно неожиданные: например, транзакции, характиризуюющие досуг: бары, коктейль-бары, дискотеки, ночные клубы и таверны – места продажи алкогольных напитков, места общественного питания, рестораны.
## Confusion Matrix and Statistics
##
## Reference
## Prediction 0 1
## 0 49 52
## 1 24 18
##
## Accuracy : 0.4685
## 95% CI : (0.3847, 0.5537)
## No Information Rate : 0.5105
## P-Value [Acc > NIR] : 0.861561
##
## Kappa : -0.0722
## Mcnemar's Test P-Value : 0.001954
##
## Sensitivity : 0.6712
## Specificity : 0.2571
## Pos Pred Value : 0.4851
## Neg Pred Value : 0.4286
## Prevalence : 0.5105
## Detection Rate : 0.3427
## Detection Prevalence : 0.7063
## Balanced Accuracy : 0.4642
##
## 'Positive' Class : 0
##
Несмотря на то, что accuracy модели, построенной методом SVM меньше (47%), чем для KNN (51%), выбираем SVM, так как метод k ближайших соседей требует соразмерности тестовых данных и обучающих. В нашей случае эта соразмерность не соблюдается, а SVM данной предпослыки не требует.
## Confusion Matrix and Statistics
##
## Reference
## Prediction 0 1
## 0 72 69
## 1 1 1
##
## Accuracy : 0.5105
## 95% CI : (0.4256, 0.5949)
## No Information Rate : 0.5105
## P-Value [Acc > NIR] : 0.5335
##
## Kappa : 6e-04
## Mcnemar's Test P-Value : 1.166e-15
##
## Sensitivity : 0.98630
## Specificity : 0.01429
## Pos Pred Value : 0.51064
## Neg Pred Value : 0.50000
## Prevalence : 0.51049
## Detection Rate : 0.50350
## Detection Prevalence : 0.98601
## Balanced Accuracy : 0.50029
##
## 'Positive' Class : 0
##
## [1] 0.6153846 0.7692308 0.6153846 0.6923077 0.7692308 0.7692308 0.6153846
## [8] 0.7692308 0.6923077 0.6428571 0.7692308 0.6153846 0.6153846 0.6923077
## [15] 0.6153846 0.7692308 0.6923077 0.5384615 0.5384615 0.6923077 0.7692308
## [22] 0.6923077 0.5384615 0.7692308 0.7692308 0.7692308 0.8461538 0.6923077
## [29] 0.7692308 0.7692308 0.7692308 0.6153846 0.6153846 0.7692308 0.6153846
## [36] 0.8461538 0.7692308 0.8461538 0.7142857 0.6153846 0.6923077 0.6153846
## [43] 0.6923077 0.7857143 0.7692308 0.6923077 0.8461538 0.7692308 0.6923077
## [50] 0.5384615 0.8461538 0.8461538 0.7692308 0.7692308 0.8461538 0.6923077
## [57] 0.6923077 0.6153846 0.8461538 0.7692308 0.6923077 0.8461538 0.6153846
## [64] 0.7692308 0.6153846 0.7142857 0.7692308 0.7692308 0.6153846 0.7692308
## [71] 0.8461538 0.8461538 0.6153846 0.5384615 0.6923077 0.6153846 0.5384615
## [78] 0.7692308 0.6153846 0.7692308 0.7692308 0.7692308 0.6923077 0.6153846
## [85] 0.7692308 0.7692308 0.6923077 0.5384615 0.6923077 0.6153846 0.7692308
## [92] 0.6153846 0.6153846 0.6923077 0.6923077 0.7692308 0.7692308 0.6923077
## [99] 0.7692308 0.7692308 0.6153846 0.7692308 0.8461538 0.7142857 0.7692308
## [106] 0.7692308 0.6153846 0.6153846 0.8461538 0.6923077 0.6923077 0.6923077
## [113] 0.7692308 0.6153846 0.7692308 0.6153846 0.6923077 0.6153846 0.5714286
## [120] 0.8461538 0.8461538 0.7692308 0.6153846 0.7692308 0.5384615 0.6923077
## [127] 0.8461538 0.7692308 0.7692308 0.6923077 0.6923077 0.7692308 0.5384615
## [134] 0.6923077 0.6923077 0.7692308 0.6923077 0.6923077 0.8461538 0.7692308
## [141] 0.6153846 0.6923077 0.6923077
Получаем следующий набор предсказаний (вероятности принадлежности к полу, где 0 — женский, 1 — мужской).
head(predictions)
## tmdf_mcc$customer_id 0 1 gender
## 1 127946 0.5489548 0.4510452 female
## 2 961425 0.3674397 0.6325603 male
## 3 1211346 0.5405117 0.4594883 female
## 4 2098407 0.6617695 0.3382305 female
## 5 2733562 0.5692771 0.4307229 female
## 6 2805830 0.5503216 0.4496784 female
Посчитав, что предсказания количества транзакций по типам недостаточно, решаем составить модель классификации по данным их объема (\(amount*n\)).
Обучающая выборка выглядит следующим образом.
## 1799 2741 3000 3351 3501 4111 4112 4121 4131 4214 4215 4411 4511 4722
## 1 0 0 0 0 0 0 0.0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0.0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 -7128.6 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0.0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0.0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 -6294.5 0 0 0 0 0 0 0
## 4784 4789 4812 4814 4816 4829 4899 4900 5044 5045 5047 5065
## 1 0 0 -25013.5 -5910 0 -120987.00 0 0 0 0 0 0
## 2 0 0 0.0 -901 0 -27864.48 0 0 0 0 0 0
## 3 -50 0 0.0 -22051 0 -96450.00 0 0 0 0 0 0
## 4 0 0 0.0 0 0 0.00 0 0 0 0 0 0
## 5 0 0 0.0 -6080 0 -49750.00 0 0 0 0 0 0
## 6 0 0 0.0 -2750 0 -123000.00 0 0 0 0 0 0
## 5072 5074 5094 5099 5111 5131 5137 5169 5172 5192 5193 5199 5200
## 1 0 0 0 0 0 0 0 0 0 0 0 0 -1182.73
## 2 0 0 0 0 0 0 0 0 0 0 0 0 0.00
## 3 0 0 0 0 0 0 0 0 0 0 0 0 0.00
## 4 0 0 0 0 0 0 0 0 0 0 0 0 0.00
## 5 -4001 0 0 0 0 0 0 0 0 0 0 0 -87.70
## 6 0 0 0 0 0 0 0 0 0 0 0 0 0.00
## 5211 5231 5251 5261 5300 5309 5310 5311 5331 5399
## 1 0.00 0 0 -5266.70 0 0 0 0 0.00 0
## 2 0.00 0 0 0.00 0 0 0 0 -433.00 0
## 3 0.00 0 0 -11573.99 0 0 0 0 0.00 0
## 4 0.00 0 0 0.00 0 0 0 0 0.00 0
## 5 -19841.25 0 0 0.00 0 0 0 0 -35780.69 0
## 6 -1572.64 0 0 0.00 0 0 0 -3990 -4641.00 0
## 5411 5422 5441 5451 5462 5499 5511 5532 5533 5541
## 1 -36293.60 0 0 0 0 -7162.92 0.00 0 -90600 -3999.72
## 2 -8294.50 0 0 0 0 -3747.76 0.00 0 0 0.00
## 3 -167828.87 0 0 0 0 -645.55 -6163.00 0 -7532 -56616.02
## 4 -56.50 0 0 0 0 0.00 0.00 0 0 0.00
## 5 -95942.02 0 0 0 0 -12606.67 0.00 0 0 0.00
## 6 -9380.40 0 0 0 0 -2967.00 -7314.88 0 -720 -13952.85
## 5542 5571 5611 5621 5631 5641 5651 5655 5661 5681 5691 5699
## 1 0.00 0 0 0 -699 0 -1169 0 -8099 0 -11127 0
## 2 0.00 0 0 0 0 -1386 0 0 0 0 0 0
## 3 -2507.46 0 0 0 0 -1672 -7885 0 -4337 0 -4197 0
## 4 0.00 0 0 0 0 0 0 0 0 0 0 0
## 5 0.00 0 0 0 0 0 -800 0 0 0 0 0
## 6 0.00 0 0 0 0 0 0 0 -2250 0 0 0
## 5712 5713 5714 5719 5722 5732 5734 5735 5811 5812 5813
## 1 0.00 -286 0 -5336.25 -747 0 0 0 0 -5018.80 0
## 2 0.00 0 0 0.00 0 0 0 0 0 0.00 0
## 3 -3440.00 0 0 0.00 -21380 -6240 0 0 0 -11391.02 0
## 4 0.00 0 0 0.00 0 0 0 0 0 0.00 0
## 5 -3639.95 0 0 0.00 0 0 0 0 0 0.00 0
## 6 0.00 0 0 0.00 0 0 0 0 0 0.00 0
## 5814 5816 5912 5921 5941 5942 5943 5944 5945 5946 5947
## 1 -6807.25 0 -6585.47 -1352 -2457 -1409 0 0 0.00 0 0
## 2 0.00 0 -292.00 0 0 0 -80 0 0.00 0 0
## 3 -20991.20 0 -3219.79 -1966 0 0 -441 0 -3257.52 0 0
## 4 0.00 0 -66.48 0 0 0 0 0 0.00 0 0
## 5 0.00 0 -11065.90 0 0 0 -90 0 0.00 0 0
## 6 0.00 0 -854.60 0 0 0 0 0 0.00 0 0
## 5948 5949 5950 5964 5968 5969 5970 5971 5976 5977 5983 5992 5993
## 1 -1500 0 0 0 0 0 0 0 0 -113.96 0 0 0
## 2 0 0 0 0 0 0 0 0 0 -240.30 0 0 0
## 3 0 0 0 0 0 0 0 0 0 -5274.75 0 -6331 0
## 4 0 0 0 0 0 0 0 0 0 0.00 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0.00 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0.00 -328 0 0
## 5994 5995 5999 6010 6011 6012 6051 6300 6536 7011 7210
## 1 0 -2808.0 -7270.2 625265.35 -761682 0 0 0 0 0 0
## 2 0 0.0 0.0 4202.28 -107900 0 0 0 0 0 0
## 3 0 -347.7 -2282.8 -188550.00 -398290 0 0 0 0 0 0
## 4 0 0.0 0.0 0.00 -302400 0 0 0 0 0 0
## 5 0 0.0 -7200.0 48100.00 -35187 0 0 0 0 0 0
## 6 0 0.0 -690.0 0.00 -80000 0 0 0 0 0 0
## 7216 7221 7230 7278 7298 7299 7311 7372 7375 7395 7399 7512 7523
## 1 0 0 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0 0 0
## 7538 7542 7699 7829 7832 7841 7922 7932 7933 7991 7993 7994 7995
## 1 0.00 0 0 0 0 0 0 0 0 0 0 0 0
## 2 0.00 0 0 0 0 0 0 0 0 0 0 0 0
## 3 -18202.19 0 0 0 -490 0 0 0 0 0 0 0 0
## 4 0.00 0 0 0 0 0 0 0 0 0 0 0 0
## 5 0.00 0 0 0 0 0 0 0 0 0 0 0 0
## 6 0.00 0 0 0 0 0 0 0 0 0 0 0 0
## 7996 7997 7999 8011 8021 8043 8062 8099 8244 8299 8398 8641 8699
## 1 0 0 0 0 -2500 0 0 0 0 0 0 -2304 0
## 2 0 0 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 -2400 0 -150 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0 0 0
## 8999 9222 9311 9399 9402 gender
## 1 -4012 0 0 0 0 0
## 2 0 0 0 0 0 0
## 3 0 0 0 0 0 1
## 4 0 0 0 0 0 1
## 5 0 0 0 0 0 1
## 6 0 0 0 0 0 1
Тестовая выборка выглядит так.
## 1711 2741 3000 3351 3501 4111 4112 4121 4131 4214 4215 4411 4511
## 1 0 0 0 0 0 0 0.0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0.0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0.0 0 0 0 0 0 0
## 4 0 0 0 0 0 -250 -46571.7 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0.0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0.0 0 0 0 0 0 0
## 4722 4784 4789 4812 4814 4816 4829 4899 4900 5013 5039
## 1 0 0 0 0.0 0.00 0 0.0 0 0 0 0
## 2 0 0 0 -2550.5 -22572.72 0 -910805.6 0 -200 0 0
## 3 0 0 0 0.0 -200.00 0 0.0 0 0 0 0
## 4 0 0 0 -30956.0 -8973.00 0 -249016.2 0 0 0 0
## 5 0 0 0 0.0 -7500.00 0 -26185.0 0 0 0 0
## 6 0 0 0 -3380.0 -7030.00 0 -75614.5 -660 0 0 0
## 5044 5045 5047 5065 5072 5085 5094 5099 5111 5122 5137 5172 5192 5193
## 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 -74 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0 0 -125 0
## 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## 5199 5200 5211 5231 5251 5261 5300 5309 5310 5311 5331
## 1 0 0 0 0 0 0.00 0.0 0.00 0 0 0.00
## 2 0 -126 -302 0 0 -6058.55 -7688.6 -2854.08 0 0 -6494.67
## 3 0 0 0 0 0 0.00 0.0 0.00 0 0 0.00
## 4 0 -2218 0 0 0 -1637.91 0.0 0.00 0 -54 -3638.58
## 5 0 0 -4890 0 0 0.00 0.0 0.00 0 0 0.00
## 6 0 0 -1426 0 0 0.00 0.0 0.00 0 0 -79.89
## 5399 5411 5422 5441 5451 5462 5499 5511 5532 5533
## 1 0 -4230.64 0 0.0 0 0 0.00 0.00 0 0.00
## 2 0 -51748.20 0 -2750.5 0 0 -84727.14 -50997.45 0 -5250.00
## 3 0 0.00 0 0.0 0 0 0.00 0.00 0 0.00
## 4 0 -70597.80 0 0.0 0 0 -808.00 0.00 0 -7870.48
## 5 0 -50685.09 0 0.0 0 0 0.00 0.00 0 0.00
## 6 0 -82177.95 0 0.0 0 0 -2048.80 -7938.60 0 -2150.00
## 5541 5542 5571 5599 5611 5621 5631 5641 5651 5655 5661 5681
## 1 -3200.00 0 0 0 0 0 0 0 0 0 0 0
## 2 -117331.82 0 0 0 0 0 -802 0 0 -6690 -6520 0
## 3 0.00 0 0 0 0 0 0 0 0 0 0 0
## 4 -12261.42 0 0 0 0 0 0 0 -3495 0 -680 0
## 5 0.00 0 0 0 0 0 0 0 0 0 0 0
## 6 -36570.58 0 0 0 0 0 0 -9280 0 0 0 0
## 5691 5697 5699 5712 5713 5714 5719 5722 5732 5734 5735 5811
## 1 0 0 0 0 0 0 0 0 0 0 0 0
## 2 -7950 0 0 -30595 0 0 0 -16851 -14350 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0 0
## 4 -3344 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 -5090 0 0 0
## 6 0 0 0 0 0 0 0 -1895 -3290 0 0 0
## 5812 5813 5814 5816 5912 5921 5931 5941 5942 5943 5944
## 1 0.00 0.0 0 0 -175.00 0 0 0 0 0 -4167
## 2 -30999.12 -1784.5 -7620 0 -11757.39 -46598 0 -1759 0 0 -2091
## 3 0.00 0.0 0 0 0.00 0 0 0 0 0 0
## 4 -13950.00 0.0 -875 0 -4232.00 -418 0 0 0 0 0
## 5 0.00 0.0 0 0 -3121.30 0 0 0 0 0 0
## 6 -4027.25 0.0 -926 0 -4864.15 0 0 -5048 0 0 -8146
## 5945 5946 5947 5948 5949 5950 5964 5965 5967 5968 5969 5970 5976
## 1 0.0 0 0 0 0 0 0 0 0 0 0 0 0
## 2 -2400.0 0 0 0 0 0 0 -16990 0 0 0 0 0
## 3 0.0 0 0 0 0 0 0 0 0 0 0 0 0
## 4 -8560.2 0 0 0 0 0 0 0 0 0 0 0 0
## 5 0.0 0 0 0 0 0 0 0 0 0 0 0 0
## 6 -2273.0 0 0 0 0 0 0 0 0 0 0 0 0
## 5977 5983 5992 5993 5994 5995 5999 6010
## 1 0.00 -3043.31 0.00 0 0 0 -819.80 0.0
## 2 -6213.62 0.00 -15288.89 0 -91 -30961 -4825.01 448229.6
## 3 0.00 0.00 0.00 0 0 0 0.00 0.0
## 4 0.00 -319.00 0.00 0 0 0 0.00 1150490.6
## 5 0.00 0.00 0.00 0 0 0 0.00 28000.0
## 6 0.00 -6257.04 -1600.00 0 0 0 -5295.00 74251.0
## 6011 6012 6051 6211 6300 6513 6536 7011 7210 7216 7221 7230
## 1 -80822.5 0 0 0 0.0 0 0 0 0 0 0 0
## 2 -717100.0 0 0 0 -17185.8 0 0 0 -522 -11860 0 0
## 3 -196000.0 0 0 0 0.0 0 0 0 0 0 0 0
## 4 -88603.5 1000 0 0 0.0 0 0 0 0 0 0 0
## 5 -166800.0 0 0 0 0.0 0 0 0 0 0 0 0
## 6 -130755.2 0 0 0 0.0 0 0 0 0 0 0 0
## 7273 7278 7298 7299 7311 7372 7375 7395 7399 7523 7531 7538 7542 7629
## 1 0 0 0 0 0 0 0 0 0 0.0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 -550 -507.5 0 0 -500 0
## 3 0 0 0 0 0 0 0 0 0 0.0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0.0 0 -6905 0 0
## 5 0 0 0 0 0 0 0 0 0 0.0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0.0 0 0 0 0
## 7699 7829 7832 7841 7922 7933 7991 7993 7994 7995 7996 7997 7999 8011
## 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## 2 -900 0 0 0 0 0 0 0 0 0 0 -68240 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 -380 0 0 0 0 0 0 0 0 0 0 0
## 8021 8043 8062 8071 8099 8299 8398 8641 8999 9222 9311 9399
## 1 0 0.0 0 0 0 0 0 0 0 0 0 0
## 2 0 -47925.5 0 0 -47083 0 0 0 0 0 0 0
## 3 0 0.0 0 0 0 0 0 0 0 0 0 0
## 4 0 0.0 0 0 0 0 0 0 0 0 0 0
## 5 0 0.0 0 0 0 0 0 0 -150 0 0 0
## 6 0 0.0 0 0 0 0 0 0 0 0 0 0
Строим модель с помощью метода главных компонент. Если для модели классификации от количества транзакций, большинство переменных входили в компоненты с отрицательными знаками, то теперь с положительными.
Тем не менее типы транзакций, состоящие в первой компоненте (объясняющей 20% от общей дисперсии) с наибольшими весами, почти такие же, как и в случае классификации от количества транзакций.
## Importance of components:
## PC1 PC2 PC3 PC4 PC5 PC6
## Standard deviation 5.1233 3.56342 3.23776 3.05056 2.93080 2.81772
## Proportion of Variance 0.2027 0.09807 0.08096 0.07187 0.06634 0.06132
## Cumulative Proportion 0.2027 0.30078 0.38174 0.45361 0.51995 0.58126
## PC7 PC8 PC9 PC10 PC11 PC12
## Standard deviation 2.55364 2.25508 2.19574 2.01769 1.87557 1.85964
## Proportion of Variance 0.05036 0.03927 0.03723 0.03144 0.02717 0.02671
## Cumulative Proportion 0.63162 0.67090 0.70813 0.73957 0.76674 0.79345
## PC13 PC14 PC15 PC16 PC17 PC18
## Standard deviation 1.78548 1.76941 1.67474 1.64167 1.59510 1.57357
## Proportion of Variance 0.02462 0.02418 0.02166 0.02081 0.01965 0.01912
## Cumulative Proportion 0.81807 0.84225 0.86391 0.88472 0.90437 0.92349
## PC19 PC20 PC21 PC22 PC23
## Standard deviation 1.49055 1.44996 1.41595 1.35828 1.31616
## Proportion of Variance 0.01716 0.01624 0.01548 0.01425 0.01338
## Cumulative Proportion 0.94065 0.95689 0.97237 0.98662 1.00000
## Confusion Matrix and Statistics
##
## Reference
## Prediction 0 1
## 0 58 55
## 1 15 15
##
## Accuracy : 0.5105
## 95% CI : (0.4256, 0.5949)
## No Information Rate : 0.5105
## P-Value [Acc > NIR] : 0.5335
##
## Kappa : 0.0089
## Mcnemar's Test P-Value : 3.141e-06
##
## Sensitivity : 0.7945
## Specificity : 0.2143
## Pos Pred Value : 0.5133
## Neg Pred Value : 0.5000
## Prevalence : 0.5105
## Detection Rate : 0.4056
## Detection Prevalence : 0.7902
## Balanced Accuracy : 0.5044
##
## 'Positive' Class : 0
##
Точность модели равна 51%. Однако, в вероятность принадлежности к тому или иному полу у модели слишком много неопределенности (значений 0.50000). Таким образом, для предсказания пола клиентов выбираем модель классификации на основании количества транзакций.
## tmdf_mcc$customer_id 0 1 gender
## 1 127946 0.5489548 0.4510452 female
## 2 961425 0.3674397 0.6325603 male
## 3 1211346 0.5405117 0.4594883 female
## 4 2098407 0.6617695 0.3382305 female
## 5 2733562 0.5692771 0.4307229 female
## 6 2805830 0.5503216 0.4496784 female