我有一个包含因子和一些自由格式字段的数据集(用户输入的数据)。我试图使用k-means和层次聚类来聚类这个数据集。数据如下所示:
prod_name prod_detail_1 company model product_problem_description
1 motor pump 1 123A broken
1 calculator 2 WE4 battery not working
2 motor pump 3 564 display broken
3 refrigerator3 12E regular inspection
4 calculator 4 453E regular inspection
5 motor pump 1 123A pump will not turn on
我已经使用“tm”包来清理并创建“product_problem_description”的文档术语矩阵,将每个条目视为一个文档。 (我上面写的问题描述非常简单,但在实际数据中更复杂,不能被视为因素)
prob_desc_corpus <- Corpus(VectorSource(data$product_problem_description))
removeNumPunct <- function(x) gsub("[^[:alnum:][:space:]]*", "", x)
prob_desc_corpus <- tm_map(prob_desc_corpus, content_transformer(removeNumPunct))
prob_desc_matrix <- DocumentTermMatrix(prob_desc_corpus,
control=list(
minWordLength=2,
stopwords = TRUE,
stripWhitespace = TRUE,
stemming = TRUE))
然后我使用cbind将第1列到第4列附加到此文档术语矩阵。
full_data <- cbind(data$prod_name, data$detail_1, data$company, data$model, as.data.frame(as.matrix(prob_desc_matrix)), stringsAsFactors = FALSE)
我正在使用此数据集进行分层聚类。
distances= dist(full_data, method = "euclidean")
hc <- hclust(distances, method = "ward.D")
plot(hc)
这是一种有效的聚类数据集的方法吗? 这是我第一次发帖提问,如果问题有点模糊,请道歉。