Algorithm 是否存在以一对多(1:n)关系为目标的分类算法?
在数据挖掘领域,有没有关于对具有一对多关系的数据进行分类的研究 例如,对于这样一个问题,假设我试图根据学生的班级成绩和个人信息预测哪些学生将辍学。显然,学生的个人信息与他们在课堂上取得的成绩之间存在一对多的关系 显而易见的方法包括:Algorithm 是否存在以一对多(1:n)关系为目标的分类算法?,algorithm,machine-learning,data-mining,classification,database-relations,Algorithm,Machine Learning,Data Mining,Classification,Database Relations,在数据挖掘领域,有没有关于对具有一对多关系的数据进行分类的研究 例如,对于这样一个问题,假设我试图根据学生的班级成绩和个人信息预测哪些学生将辍学。显然,学生的个人信息与他们在课堂上取得的成绩之间存在一对多的关系 显而易见的方法包括: 聚合-可以通过某种方式将多个记录聚合在一起,从而将问题简化为基本分类问题。在学生分类的情况下,他们的平均成绩可以与他们的个人数据相结合。虽然此解决方案很简单,但通常会丢失关键信息。例如,如果大多数选修有机化学且成绩低于C的学生即使平均成绩高于B+级,最终也会辍学,那
因此,我正在寻找其他可能的解决方案,对具有一对多关系的数据进行分类。为什么不将每个等级视为同一模型的单独特征
student['age'] = 23
student['gender'] = 'male'
...
student['grade_in_organic_chemistry'] = 'B+'
student['grade_in_classical_physics'] = 'A-'
我想我不明白为什么你想要“聚合”或将多个分类器连接在一起,而等级可以是不同的特征
(请原谅上面的蹩脚伪代码,但只是想证明我的观点)如果不知道更多,很难说,但是从贝叶斯的角度来看,您可能对缺少功能的情况感兴趣。我将一般地讨论。更多信息,请参见[杜达和哈特,第二版,第54-55页] 对于任何分类器,Bayes决策规则都是选择类i,该类i在观察到数据x的情况下使类i出现的概率最大,即最大p(i | x)。向量x包含特征,例如学生的成绩、年龄等 并非所有学生都参加相同的课程,因此特征向量x可能有空元素,即“缺少特征”。在这种情况下,您必须忽略缺失的特征,即仅对缺失的特征求和,然后对良好的剩余特征做出决定 例如。假设一个学生学的是生物,而不是化学:
P(student drops out | A+ in biology)
= P(student drops out, A+ in biology)/P(A+ in biology)
= P(student drops out, A+ in biology, A in chemistry)
---------------------------------------------------
P(A+ in biology, A in chemistry)
+
P(student drops out, A+ in biology, B in chemistry)
---------------------------------------------------
P(A+ in biology, B in chemistry)
+ ... +
P(student drops out, A+ in biology, F in chemistry)
---------------------------------------------------
P(A+ in biology, F in chemistry)
我设想了两条基本的前进道路:
抱歉,但我认为“简单解决方案组”在这种特殊情况下会很弱。这并不是说它不起作用,但我会从其他地方开始。虽然与专门的方法相比,这可能是次优的,但您可能会使用SVM来纠正不平衡类,如以下示例所示(使用Python库):
在实践中,我在相当不均衡的课程中取得了很好的成绩。如果我没有明确说明这一点,很抱歉,但并非所有学生都选修相同的课程。因此,要么我们在记录中留下大量空值,要么这些记录就不是使用您的解决方案进行分类的标准。我想我不清楚的是,您所说的“记录”是什么意思?您是在询问如何将此学生模型存储在RDBMS中,还是如何为学生的特征集建模以进行分类?如果是后者,我不知道为什么该功能集必须是所有学生的标准。一些学生会有“有机化学等级”的特点,其他学生不会。分类引擎将被设计为理解某些功能是可选的,甚至可能使用该信息来使用.1进行分类,因为您应该首先尝试简单的方法。很多空值可能不是问题——如果使用正确的算法,NLP中的单词包模型中就不会有空值。支持向量机可以很好地处理稀疏的、高维的输入。虽然我认为这种方法在某些情况下可以工作,比如我给出的示例问题,但我认为如果学生的课程记录有大量属性,它可能会遇到麻烦。如果是这种情况,那么每个记录中都会有大量空值(缺少特性)。例如,如果每门课程都有100个属性,那么我们最终可能会有数千个空值和dimensionalit诅咒