我想知道使用任何聚类算法进行聚类后,是否可以根据之前的数据学习来对新数据进行分段?
回答:
问题在于聚类算法是无监督学习算法。它们不需要依赖变量来预测类别。它们用于发现数据点中的结构/相似性。你可以做的就是,将聚类后的数据视为你的监督数据。
方法是先对训练数据进行聚类并分配标签。将其视为多类分类数据,使用你的数据训练一个新的多类分类模型,并在测试数据上验证它。
设train和test为数据集。clusters <- Clustering(train)train[y] <- clustersmodel <- Classification(train, train[y])prediction <- model.predict(test)
然而,有趣的是,sklearn中的KMeans提供了fit和predict方法。因此,使用sklearn中的KMeans,你可以在新数据上进行预测。然而,DBScan没有predict方法,这从它的工作机制来看是显而易见的。