有人能解释一下数据挖掘中分类和聚类的区别吗?

如果可以,请给出两者的例子以理解主旨。


当前回答

分类

是根据从例子中学习,将预定义的类分配给新的观察结果。

这是机器学习的关键任务之一。

聚类(或聚类分析)

尽管被普遍认为是“无监督分类”,但它完全不同。

与许多机器学习者教你的不同,它不是将“类”分配给对象,而是没有预先定义它们。这是做了太多分类的人的有限观点;一个典型的例子,如果你有一个锤子(分类器),所有的东西对你来说都像钉子(分类问题)。但这也是为什么从事分类的人没有掌握聚类的诀窍。

相反,可以将其视为结构发现。聚类的任务是在你的数据中找到你以前不知道的结构(例如组)。如果您学习了一些新的东西,那么群集是成功的。如果你只知道你已经知道的结构,它就失败了。

聚类分析是数据挖掘的关键任务(也是机器学习中的丑小鸭,所以不要相信机器学习者对聚类的否定)。

“无监督学习”有点矛盾

这在文献中反复出现,但无监督学习是该死的。它并不存在,但它就像“军事情报”一样自相矛盾。

算法要么从例子中学习(那么它就是“监督学习”),要么不学习。如果所有的聚类方法都是“学习”,那么计算一个数据集的最小值、最大值和平均值也是“无监督学习”。然后任何计算“学习”它的输出。因此,术语“无监督学习”是完全没有意义的,它意味着一切和什么都不是。

Some "unsupervised learning" algorithms do, however, fall into the optimization category. For example k-means is a least-squares optimization. Such methods are all over statistics, so I don't think we need to label them "unsupervised learning", but instead should continue to call them "optimization problems". It's more precise, and more meaningful. There are plenty of clustering algorithms who do not involve optimization, and who do not fit into machine-learning paradigms well. So stop squeezing them in there under the umbrella "unsupervised learning".

有一些与集群相关的“学习”,但学习的不是程序。用户应该学习关于他的数据集的新东西。

其他回答

分类一行:

将数据分类为预定义的类别

用于集群的一行代码:

将数据分组到一组类别中

关键的区别:

分类是获取数据并将其放入预定义的类别中,而在聚类中,您想将数据分组到的类别集是事先不知道的。

结论:

Classification assigns the category to 1 new item, based on already labeled items while Clustering takes a bunch of unlabeled items and divide them into the categories In Classification, the categories\groups to be divided are known beforehand while in Clustering, the categories\groups to be divided are unknown beforehand In Classification, there are 2 phases – Training phase and then the test phase while in Clustering, there is only 1 phase – dividing of training data in clusters Classification is Supervised Learning while Clustering is Unsupervised Learning

我写了一篇关于同一主题的长文章,你可以在这里找到:

https://neelbhatt40.wordpress.com/2017/11/21/classification-and-clustering-machine-learning-interview-questions-answers-part-i/

There are two definitions in data mining "Supervised" and "Unsupervised". When someone tells the computer, algorithm, code, ... that this thing is like an apple and that thing is like an orange, this is supervised learning and using supervised learning (like tags for each sample in a data set) for classifying the data, you'll get classification. But on the other hand if you let the computer find out what is what and differentiate between features of the given data set, in fact learning unsupervised, for classifying the data set this would be called clustering. In this case data that are fed to the algorithm don't have tags and the algorithm should find out different classes.

通过聚类,可以用所需的属性(如数量、形状和提取的聚类的其他属性)对数据进行分组。而在分类中,组的数量和形状是固定的。 大多数聚类算法都给出了聚类个数作为参数。然而,有一些方法可以找出合适的集群数量。

如果你问过任何数据挖掘或机器学习的人这个问题,他们会使用术语监督学习和无监督学习来解释聚类和分类之间的区别。首先让我解释一下有监督和无监督这两个关键词。

Supervised learning: suppose you have a basket and it is filled with some fresh fruits and your task is to arrange the same type fruits at one place. suppose the fruits are apple,banana,cherry, and grape. so you already know from your previous work that, the shape of each and every fruit so it is easy to arrange the same type of fruits at one place. here your previous work is called as trained data in data mining. so you already learn the things from your trained data, This is because of you have a response variable which says you that if some fruit have so and so features it is grape, like that for each and every fruit.

这种类型的数据将从经过训练的数据中获得。 这种类型的学习被称为监督学习。 这种类型的解决问题属于分类。 所以你已经学会了这些东西,所以你可以自信地工作。

无监督: 假设你有一个篮子,里面装满了一些新鲜的水果,你的任务是把相同类型的水果摆放在一个地方。

这一次你对这些水果一无所知,你是第一次看到这些水果,所以你会如何安排相同类型的水果。

你首先要做的是拿起这个水果然后选择这个水果的任何物理特性。假设你取了颜色。

然后你会根据颜色来排列它们,然后这些组会是这样的。 红色组:苹果和樱桃水果。 绿色组:香蕉和葡萄。 那么现在你将用另一个物理字符作为大小,所以现在群是这样的。 红色和大尺寸:苹果。 红色,体积小,樱桃果状。 绿色,大个头:香蕉。 绿色,体积小,葡萄型。 工作完成了,大团圆结局。

这里你之前什么都没学,意味着没有训练数据和响应变量。 这种类型的学习被称为无监督学习。 聚类属于无监督学习。

首先,像这里的许多回答一样:分类是有监督的学习,聚类是无监督的。这意味着:

Classification needs labeled data so the classifiers can be trained on this data, and after that start classifying new unseen data based on what he knows. Unsupervised learning like clustering does not uses labeled data, and what it actually does is to discover intrinsic structures in the data like groups. Another difference between both techniques (related to the previous one), is the fact that classification is a form of discrete regression problem where the output is a categorical dependent variable. Whereas clustering's output yields a set of subsets called groups. The way to evaluate these two models is also different for the same reason: in classification you often have to check for the precision and recall, things like overfitting and underfitting, etc. Those things will tell you how good is the model. But in clustering you usually need the vision of and expert to interpret what you find, because you don't know what type of structure you have (type of group or cluster). That's why clustering belongs to exploratory data analysis. Finally, i would say that applications are the main difference between both. Classification as the word says, is used to discriminate instances that belong to a class or another, for example a man or a woman, a cat or a dog, etc. Clustering is often used in the diagnosis of medical illness, discovery of patterns, etc.