有人能解释一下数据挖掘中分类和聚类的区别吗?
如果可以,请给出两者的例子以理解主旨。
有人能解释一下数据挖掘中分类和聚类的区别吗?
如果可以,请给出两者的例子以理解主旨。
当前回答
分类——数据集可以有不同的组/类。红色,绿色和黑色。分类将试图找到将它们划分为不同类别的规则。
聚类——如果一个数据集没有任何类,而你想把它们放在某个类/分组中,你就可以进行聚类。上面紫色的圆圈。
如果分类规则不好,你就会在测试中出现错误分类,或者你的规则不够正确。 如果聚类不好,你会有很多异常值。不能落在任何集群中的数据点。
其他回答
+分类: 给你一些新的数据,你必须为它们设置新的标签。
例如,一家公司希望对其潜在客户进行分类。当一个新客户来的时候,他们必须确定这个客户是否会购买他们的产品。
+集群: 你得到了一组历史交易记录,记录了谁买了什么。
通过使用聚类技术,您可以区分客户的细分。
首先,像这里的许多回答一样:分类是有监督的学习,聚类是无监督的。这意味着:
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.
I am sure a number of you have heard about machine learning. A dozen of you might even know what it is. And a couple of you might have worked with machine learning algorithms too. You see where this is going? Not a lot of people are familiar with the technology that will be absolutely essential 5 years from now. Siri is machine learning. Amazon’s Alexa is machine learning. Ad and shopping item recommender systems are machine learning. Let’s try to understand machine learning with a simple analogy of a 2 year old boy. Just for fun, let’s call him Kylo Ren
让我们假设凯洛·伦看到了一头大象。他的大脑会告诉他什么?(记住,即使他是维德的继任者,他也只有最低限度的思考能力)。他的大脑会告诉他,他看到了一个巨大的移动生物,颜色是灰色的。接着他看到一只猫,他的大脑告诉他那是一只会动的金色小动物。最后,他看到了一把光剑,他的大脑告诉他,这是一个无生命的物体,他可以玩!
此时他的大脑知道,军刀不同于大象和猫,因为军刀是用来玩的,不会自己移动。即使凯洛不知道移动是什么意思,他的大脑也能想出这么多。这个简单的现象叫做聚类。
机器学习只不过是这个过程的数学版本。 很多研究统计学的人意识到,他们可以用大脑工作的方式来计算一些方程。 大脑可以聚类相似的物体,大脑可以从错误中学习,大脑可以学习识别事物。
所有这些都可以用统计数据来表示,基于计算机模拟的这一过程被称为机器学习。为什么我们需要基于计算机的模拟?因为计算机比人脑更快地完成繁重的数学运算。 我很想进入机器学习的数学/统计部分,但在没有明确一些概念之前,你不会想直接进入。
Let’s get back to Kylo Ren. Let’s say Kylo picks up the saber and starts playing with it. He accidentally hits a stormtrooper and the stormtrooper gets injured. He doesn’t understand what’s going on and continues playing. Next he hits a cat and the cat gets injured. This time Kylo is sure he has done something bad, and tries to be somewhat careful. But given his bad saber skills, he hits the elephant and is absolutely sure that he is in trouble. He becomes extremely careful thereafter, and only hits his dad on purpose as we saw in Force Awakens!!
从错误中学习的整个过程可以用方程式来模拟,在方程式中,做错事的感觉用错误或代价来表示。这种识别不该用军刀做什么的过程叫做分类。 聚类和分类是机器学习的绝对基础。让我们看看它们之间的区别。
Kylo differentiated between animals and light saber because his brain decided that light sabers cant move by themselves and are therefore, different. The decision was based solely upon the objects present (data) and no external help or advice was provided. In contrast to this, Kylo differentiated the importance of being careful with light saber by first observing what hitting an object can do. The decision wasn’t completely based on the saber, but on what it could do to different objects . In short, there was some help here.
Because of this difference in learning, Clustering is called an unsupervised learning method and Classification is called a supervised learning method. They are very different in the machine learning world, and are often dictated by the kind of data present. Obtaining labelled data (or things that help us learn , like stormtrooper,elephant and cat in Kylo’s case) is often not easy and becomes very complicated when the data to be differentiated is large. On the other hand, learning without labels can have it’s own disadvantages , like not knowing what are the label titles. If Kylo was to learn being careful with the saber without any examples or help, he wouldn’t know what it would do. He would just know that it is not suppose to be done. It’s kind of a lame analogy but you get the point!
We are just getting started with Machine Learning. Classification itself can be classification of continuous numbers or classification of labels. For instance, if Kylo had to classify what each stormtrooper’s height is, there would be a lot of answers because the heights can be 5.0, 5.01, 5.011, etc. But a simple classification like types of light sabers (red,blue.green) would have very limited answers. Infact they can be represented with simple numbers. Red can be 0 , Blue can be 1 and Green can be 2.
如果你懂基础数学,你就知道0、1、2和5.1、5.01、5.011是不同的,分别被称为离散数和连续数。离散数的分类称为逻辑回归,连续数的分类称为回归。 逻辑回归也被称为分类分类,所以当你在其他地方读到这个术语时不要感到困惑
这是关于机器学习的一个非常基础的介绍。我将在下一篇文章中详细讨论统计方面的问题。如果我需要更正,请告诉我:)
第二部分张贴在这里。
摘自《驯象人在行动》一书,我认为它很好地解释了两者的区别:
分类算法与聚类算法(如k-means算法)相关,但仍有很大不同。 分类算法是监督学习的一种形式,与无监督学习相反,无监督学习发生在聚类算法中。 监督学习算法是一种给出包含目标变量期望值的例子。无监督算法不会得到想要的答案,而是必须自己找到一些合理的答案。
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.