我有一个大数据集45421*12(行*列),其中包含所有分类变量。我的数据集中没有数字变量。我想用这个数据集来建立无监督聚类模型,但是在建模之前我想知道这个数据集的最佳特征选择模型。 我无法绘制肘部曲线到这个数据集。我在k-means肘部法中给出了范围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学习包中。您可能需要查看github上可用的kmodes包:https://github.com/nicodv/kmodes,它遵循您从scikit学习到的许多语法。你知道吗
有关更多信息,请参见此处的讨论:https://datascience.stackexchange.com/questions/22/k-means-clustering-for-mixed-numeric-and-categorical-data
要运行
Kmeans
或任何其他模型,首先需要将分类变量转换为数值变量。使用
OneHotEncoder
的示例:对Kmeans拟合使用
X_for_Kmeans
。干杯相关问题 更多 >
编程相关推荐