【发布时间】:2020-06-17 15:11:08
【问题描述】:
我怀疑在使用任何算法进行聚类后,是否可以根据对先前数据的学习来分割新数据
【问题讨论】:
-
欢迎您!有关您的具体问题、您工作的环境以及您想到的解决方案的更多信息将帮助人们回答您的问题。
-
当然,这就是机器学习的精髓
标签: machine-learning statistics data-science analytics
我怀疑在使用任何算法进行聚类后,是否可以根据对先前数据的学习来分割新数据
【问题讨论】:
标签: machine-learning statistics data-science analytics
问题在于聚类算法是无监督学习算法。他们不需要因变量来预测类别。它们用于查找数据点中的结构/相似性。您可以做的是,将聚类数据视为您的监督数据。
该方法是在训练数据中进行聚类和分配标签。将其视为多类分类数据,使用您的数据训练新的多类分类模型并在测试数据上进行验证。
Let train and test be the datasets.
clusters <- Clustering(train)
train[y] <- clusters
model <- Classification(train, train[y])
prediction <- model.predict(test)
然而有趣的是,sklearn 中的 KMeans 提供了拟合和预测方法。因此,使用 sklearn 中的 KMeans,您可以在新数据中进行预测。但是,DBScan 并没有从它的工作机制上预测哪个是非常明显的。
【讨论】:
集群是一种无监督机制,其中集群的数量和需要集群的段的身份对于系统来说是未知的。
因此,您可以做的是获得针对聚类、分类、识别或验证训练的模型的学习,并将该学习应用于您的聚类用例。
如果新数据来自训练数据的同一域,则很可能最终会在聚类中获得更高的准确性。 (您需要根据您选择的数据类型正确选择聚类方法。例如,对于语音聚类,优势集和层次聚类将是最有潜力的候选者)。 如果新数据来自不同的域,则所选模型可能会失败,因为它学习了与您的训练数据域相对应的特征。
【讨论】: