2013-11-07 9 views
0

Мне нужно сгруппировать группы транзакций в разных группах. Мои данные в текстовом файле в следующем формате:Кластеризация транзакционных данных с использованием PAM в R?

T1 17 20 22 35 37 60 62  
T2 39 51 53 54 57 65 73  
T3 17 20 21 22 34 37 62  
T4 20 22 54 57 65 73 45  
T5 20 54 57 65 73 75 80  
T6 2 20 54 57 59 63 71  
T7 2 20 22 57 59 71 66  
T8 17 20 28 29 30 34 35  
T9 16 20 28 32 54 57 65  
T10 16 20 22 28 57 59 71  
-  
- 

и так далее, более 5000 строк. Каждая строка представляет одну транзакцию.

То, что я сделал до сих пор:

txIn<-read.transactions("data2.txt",format="basket",sep=" ") 
d<-dissimilarity(txIn,method="Jaccard") 
library("cluster") 
clustersA<-pam(d,k=100) 
txOut <- paste("txOu", ".txt") 
write.table(clustersA$clustering, file="txOu",sep=" ") 

но файл хранит транзакции # с кластером, как:

"x" 
"1" 1 
"2" 1 
"3" 1 
"4" 1 
"5" 1 
"6" 2 
"7" 2 
"8" 2 
"9" 1 
"10" 2 
- 
- 

и мне нужно, чтобы сохранить его, как, например:

кластер 1:

T1 17 20 22 35 37 60 62  
T2 39 51 53 54 57 65 73  
T3 17 20 21 22 34 37 62  
T4 20 22 54 57 65 73 45  
T5 20 54 57 65 73 75 80 

T9 16 20 28 32 54 57 65 

кластер 2:

T6 2 20 54 57 59 63 71  
T7 2 20 22 57 59 71 66  
T8 17 20 28 29 30 34 35   
T10 16 20 22 28 57 59 71  
    - 
    - 

и так далее, , потому что я хочу иметь дело с каждым кластером в отдельности.

Пожалуйста, я много искал, мне нужна информация, например, документ, любая помощь.

+0

Удалите лишние пробелы, чтобы сделать ваш вопрос * удобочитаемым *. Это довольно беспорядок, как есть. –

ответ

0

Вы уверены, что хотите сделать кластеризация?

Для меня это звучит так, как будто вас больше интересует частый набор полезных ископаемых.

+0

Да, я хочу сгруппировать их. Я попытался использовать клару для кластеризации, но проблема в кларе - это использовать смещение расстояния, чтобы вычислить сходство, и, как я полагаю, мы не можем рассматривать расстояние как сходство, когда мы имеем дело с данными как транзакциями. – Meem

+0

Ваше последнее предложение для меня не имеет смысла. Клара может работать с любым несходством. Но вам действительно нужно учитывать *, когда * вы хотите, чтобы объекты кластеры ... это не совсем очевидно с транзакциями, потому что, скажем, у вас есть клиент 1, покупающий «томатные спагетти», клиент 2 покупает «пивные подгузники» и клиент 3 покупает все четыре из этих предметов. Итак, как вы хотите сгруппировать их? Частая добыча полезных ископаемых имеет гораздо больший смысл, так как клиент 3 может одновременно включать в себя как частые наборы предметов. –

+0

Я получил ваше мнение о частых наборах предметов. это интересно, поэтому большое спасибо. Я пытался сгруппировать транзакции в разных группах, поэтому я могу применять алгоритмы разработки алгоритмов ассоциаций в каждой группе отдельно. но я не уверен в использовании clara в транзакционных данных. здесь: http://stat.ethz.ch/R-manual/R-devel/library/cluster/html/clara.html вы можете видеть: metric = "euclidean" или "manhattan", так как мы можем применять их в транзакционных данные, как ваш пример, из-за этого я использовал функцию pam с функцией Jaccard. Большое спасибо – Meem

 Смежные вопросы

  • Нет связанных вопросов^_^