在python中基于国家和预防措施的Covid19聚类

在python中基于国家和预防措施的Covid19聚类,python,cluster-analysis,k-means,Python,Cluster Analysis,K Means,我有以下数据集: * 国家尺度 0阿尔巴尼亚国际航班暂停国内航线 1奥地利部分封锁限制公众集会签证 2白俄罗斯限制公众集会和健康检查 3比利时提高认识活动应急管理系统 4波黑隔离检疫政策签证限制 5保加利亚机场和跨境健康检查 6克罗地亚隔离检疫政策总报告 塞浦路斯边境关闭学校关闭经济措施 8捷克共和国机场和跨境健康检查 9丹麦边境关闭一般建议学校 爱沙尼亚健康筛查的一般建议 11芬兰国际航班暂停一般建议 12法国关闭企业和公共服务 13格鲁吉亚签证限制附加健康/文件* 它的列是国家和衡量标准

我有以下数据集: *

  • 国家尺度
  • 0阿尔巴尼亚国际航班暂停国内航线
  • 1奥地利部分封锁限制公众集会签证
  • 2白俄罗斯限制公众集会和健康检查
  • 3比利时提高认识活动应急管理系统
  • 4波黑隔离检疫政策签证限制
  • 5保加利亚机场和跨境健康检查
  • 6克罗地亚隔离检疫政策总报告
  • 塞浦路斯边境关闭学校关闭经济措施
  • 8捷克共和国机场和跨境健康检查
  • 9丹麦边境关闭一般建议学校
  • 爱沙尼亚健康筛查的一般建议
  • 11芬兰国际航班暂停一般建议
  • 12法国关闭企业和公共服务
  • 13格鲁吉亚签证限制附加健康/文件*
它的列是国家和衡量标准,它代表了欧洲每个国家针对新冠疫情实施的每一项衡量标准

我希望应用K-均值聚类,我希望聚类中有实施相同/类似预防措施的国家

我的第一种方法是将度量值中的字符串输入TFIDF向量器,然后对向量应用k-means,但这将度量值而不是国家进行聚类

我尝试对每个国家的度量值进行矢量化,并在数据帧中添加一个新变量和TFIDF向量,但我不知道如何进一步处理

我希望我的最终集群类似于:

区块报价集群1:英国、法国、西班牙、希腊、集群2:保加利亚、俄罗斯,。。。。 等等

如果我想对度量值进行集群,我的代码应该是这样的:

# tfidf vectorizer of scikit learn
vectorizer = TfidfVectorizer(stop_words=stopwords,use_idf = True, ngram_range=(1,3))
#vectorize measures
X = vectorizer.fit_transform(df_europe_measures['MEASURE'])
terms = vectorizer.get_feature_names()

#K-means clustering
num_clusters = 3
km = KMeans(n_clusters=num_clusters,init='k-means++')
labels = km.fit_predict(X)

#to print to terms in each cluster
print("K-means clustering: \n")
asc_order_centroids = km.cluster_centers_.argsort()#[:, ::-1]
order_centroids = asc_order_centroids[:,::-1]
terms = vectorizer.get_feature_names()
for i in range(num_clusters):
    print ("Cluster %d:" % i)
    for ind in order_centroids[i, :10]:
        print (' %s' % terms[ind])
    print('\n')
任何帮助都将不胜感激