聚类模型,如 DBSCAAN、OPTICS、KMEANS
Clustering model like DBSCAAN,OPTICS, KMEANS
我怀疑在使用任何算法进行聚类后是否可以根据对先前数据的学习来分割新数据
问题在于聚类算法是无监督学习算法。他们不需要因变量来预测 classes。它们用于在数据点中查找 structures/similarities。您可以做的是,将聚类数据视为您的监督数据。
该方法将在训练数据中进行聚类和分配标签。将其视为多class class化数据,使用您的数据训练新的多class class化模型并在测试数据上进行验证。
Let train and test be the datasets.
clusters <- Clustering(train)
train[y] <- clusters
model <- Classification(train, train[y])
prediction <- model.predict(test)
不过有趣的是,sklearn 中的 KMeans 提供了 fit 和 predict 方法。因此,使用 sklearn 中的 KMeans,您可以预测新数据。但是DBScan没有predict,从它的工作机制就可以看出。
聚类是一种无监督机制,其中聚类的数量和需要聚类的段的标识对系统而言是未知的。
因此,您可以做的是获得针对聚类、分类、识别或验证训练的模型的学习,并将该学习应用到您的聚类用例中。
如果新数据来自经过训练的数据的同一域,您很可能最终会获得更高的聚类准确性。 (您需要根据您选择的数据类型正确选择聚类方法。例如,对于语音聚类,主导集和层次聚类将是最有潜力的候选者)。
如果新数据来自不同的领域,那么所选模型可能会失败,因为它学习了与您的训练数据领域相对应的特征。
我怀疑在使用任何算法进行聚类后是否可以根据对先前数据的学习来分割新数据
问题在于聚类算法是无监督学习算法。他们不需要因变量来预测 classes。它们用于在数据点中查找 structures/similarities。您可以做的是,将聚类数据视为您的监督数据。
该方法将在训练数据中进行聚类和分配标签。将其视为多class class化数据,使用您的数据训练新的多class class化模型并在测试数据上进行验证。
Let train and test be the datasets.
clusters <- Clustering(train)
train[y] <- clusters
model <- Classification(train, train[y])
prediction <- model.predict(test)
不过有趣的是,sklearn 中的 KMeans 提供了 fit 和 predict 方法。因此,使用 sklearn 中的 KMeans,您可以预测新数据。但是DBScan没有predict,从它的工作机制就可以看出。
聚类是一种无监督机制,其中聚类的数量和需要聚类的段的标识对系统而言是未知的。
因此,您可以做的是获得针对聚类、分类、识别或验证训练的模型的学习,并将该学习应用到您的聚类用例中。
如果新数据来自经过训练的数据的同一域,您很可能最终会获得更高的聚类准确性。 (您需要根据您选择的数据类型正确选择聚类方法。例如,对于语音聚类,主导集和层次聚类将是最有潜力的候选者)。 如果新数据来自不同的领域,那么所选模型可能会失败,因为它学习了与您的训练数据领域相对应的特征。