我正在做一个项目,目前正在试验聚类分析。数据集主要是分类变量和离散数。请原谅我的编程技巧很差,因为我不太熟悉MathJax,但是我将在下面的三个例子中尝试用文字来总结数据集。
有什么办法解决这个问题吗?感谢所有的投入!
A2 A3 A4 A5 A6 A7 A8 A9
1 4 5 4 nice true somewhate false
2 4 3 1 poor true false
1 5 2 1 nice somewhate
3 2 1 5 nice true false发布于 2016-06-29 02:25:33
我想你的数据集就像
A0 A1 A2 B0 B1 B2
1 0 0 1 1 0
0 1 0 0 0 1
0 1 0 0 1 1
...如果A0指的是问题A的答案,选择0和问题A是一个单一的选择问题,B是一个允许多个答案的问题。每一行代表一条记录。
对于这种数据格式,每一列都可以被视为一个维度(如果可以将某些列量化为一个值,您可以将它们分组为一个列,ex "Like = 1,中性= 0,into = -1"),然后应用聚类算法,例如K-均值对其进行聚类。
如果您的数据集格式与我的假设不同,请告诉我。
6月30日更新:
其思想是量化变量,对于第2-5列,值已经被量化为第5列的1,5,它允许(“很差”/“很好”)。虽然它们是字符串,但它们代表的是不同大小的偏好。它们也可以转换为“贫穷”= 0,“很好”= 1。对于第7-9列,因为它是一个二进制选项,它们也可以很容易地转换为ex。"true“= 0,"”= 1。
然后,您将得到一个矩阵:
1 4 5 4 1 1 1 1
2 4 3 1 0 1 0 1
1 5 2 1 1 0 1 1
3 2 1 5 1 1 0 1Remark1:对于二进制选项,如第9列,只允许"False“或"null",选择"False”=1或0并不重要。在分类上,只有距离才重要。
Remark2:如果列允许不同的字符串,如“苹果”、“香蕉”、“橙色”,则可以将其转换为一个热向量。例如。
A
apple
orange
orange
banana可以转换为
A0 A1 A2
1 0 0
0 0 1
0 0 1
0 1 0A0,A1,A2代表“苹果”、“香蕉”和“橙色”。
Remark3:如果有一列允许存储多个答案,则为ex。
A
apple
apple orange
orange
orange banana可以转换为A0 A1 A2 1 0 0 1 0 0 1 0 0 1 1 1
Remark4:在应用K-均值等分类算法之前,最好是对每个维度的大小进行规范化。例如,第9列的值是0,1,可以将5次标准化为0,5。因素/维度的范围反映了这一因素的重要性。
我希望我的回答能有所帮助。
https://datascience.stackexchange.com/questions/12475
复制相似问题