我有一个大数据集 45421 * 12(行 * 列),其中包含所有分类变量。我的数据集中没有数值变量。我想使用这个数据集来构建无监督聚类模型,但在建模之前我想知道这个数据集的最佳特征选择模型。 而且我无法绘制此数据集的肘部曲线。我在 k-means elbow 方法中给出范围 k = 1-1000 但它没有给出任何最佳聚类图并且需要 8-10 小时来执行。如果有人提出更好的解决方案来解决这个问题,那将是一个很大的帮助。
代码:
data = {'UserName':['infuk_tof', 'infus_llk', 'infaus_kkn', 'infin_mdx'],
'UserClass':['high','low','low','medium','high'],
'UserCountry':['unitedkingdom','unitedstates','australia','india'],
'UserRegion':['EMEA','EMEA','APAC','APAC'],
'UserOrganization':['INFBLRPR','INFBLRHC','INFBLRPR','INFBLRHC'],
'UserAccesstype':['Region','country','country','region']}
df = pd.DataFrame(data)
请您参考如下方法:
对于这样的分类数据,K-means 不是合适的聚类算法。您可能想要寻找一种 K-modes 方法,不幸的是,该方法当前未包含在 scikit-learn 包中。您可能想查看 github 上可用的 kmodes 包:https://github.com/nicodv/kmodes它遵循您在 scikit-learn 中习惯使用的大部分语法。
有关更多信息,请参阅此处的讨论:https://datascience.stackexchange.com/questions/22/k-means-clustering-for-mixed-numeric-and-categorical-data
