在字符串数据中查找集群
Finding clusters in string data
我调查了人们喜欢吃什么水果(见下面的数据),我想看看数据中是否有聚类。经常喜欢香蕉的人也喜欢罗甘莓吗?有 23 种不同类型的水果和 400 位受访者。
我想在Python和Pandas中进行分析,因为这是我最了解的。如果这是一个明智的选择,是否有解决此类问题的通用方法(似乎有很多相互矛盾的建议)?有人有推荐的方法吗?
Participant | Bananas | Apples | Kumquats | Loganberries
------------|-------------------------------------------
1 | Yes | No | Yes | Yes
2 | Yes | Yes | No | Yes
3 | Yes | No | Yes | No
4 | No | No | No | Yes
5 | Yes | No | Yes | Yes
6 | Yes | Yes | No | No
使用corr
得到相关矩阵:
out = df.set_index('Participant').replace({'Yes': 1, 'No': 0}).corr()
print(out)
# Output
Bananas Apples Kumquats Loganberries
Bananas 1.000000 0.316228 0.447214 -0.316228
Apples 0.316228 1.000000 -0.707107 -0.250000
Kumquats 0.447214 -0.707107 1.000000 0.000000
Loganberries -0.316228 -0.250000 0.000000 1.000000
我调查了人们喜欢吃什么水果(见下面的数据),我想看看数据中是否有聚类。经常喜欢香蕉的人也喜欢罗甘莓吗?有 23 种不同类型的水果和 400 位受访者。
我想在Python和Pandas中进行分析,因为这是我最了解的。如果这是一个明智的选择,是否有解决此类问题的通用方法(似乎有很多相互矛盾的建议)?有人有推荐的方法吗?
Participant | Bananas | Apples | Kumquats | Loganberries
------------|-------------------------------------------
1 | Yes | No | Yes | Yes
2 | Yes | Yes | No | Yes
3 | Yes | No | Yes | No
4 | No | No | No | Yes
5 | Yes | No | Yes | Yes
6 | Yes | Yes | No | No
使用corr
得到相关矩阵:
out = df.set_index('Participant').replace({'Yes': 1, 'No': 0}).corr()
print(out)
# Output
Bananas Apples Kumquats Loganberries
Bananas 1.000000 0.316228 0.447214 -0.316228
Apples 0.316228 1.000000 -0.707107 -0.250000
Kumquats 0.447214 -0.707107 1.000000 0.000000
Loganberries -0.316228 -0.250000 0.000000 1.000000