机器学习预测分类

Posted

技术标签:

【中文标题】机器学习预测分类【英文标题】:machine learning predict classification 【发布时间】:2011-10-04 10:07:00 【问题描述】:

我有以下问题。我有一个包含一系列数字的训练数据集。每个数字都属于某个类别。有五个班级。

范围: 1...10

训练数据集: 1,5,6,6,10,2,3,4,1,8,6,...

类: [1,2][3,4][5,6][7,8][9,10]

是否可以使用机器学习算法来查找类预测的可能性以及适合此的算法?

最好的,美国

【问题讨论】:

这个不清楚……要分类的项目是什么样的?他们有多少属性?每个属性可以取哪些值?等等。通常,训练集由带有标签的样本项目组成,即指定类别。使用这个学习集,ML 系统可以推断给定的 [未标记/以前从未见过] 项目属于每个类别的可能性(或者,以更简单的形式,这是项目最可能属于的类别)。 嗯。我想我的问题并不清楚。我不想对看不见的项目进行分类,但我想根据给定的训练集分布计算某个类出现的可能性。 【参考方案1】:

如问题评论中所述,I want to calculate the likelihood of a certain class to appear based on the given distribution of the training set问题很简单,几乎不是机器学习问题: 只需统计“训练集”中每个类的出现次数,Count_12, Count_34, ... Count_910。给定类 xy 出现的可能性简单地由下式给出

   P(xy) = Count_xy  / Total Number of elements in the "training set"
         = Count_xy  / (Count_12 + Count_34 + Count_56 + Count_78 + Count_910)

一个更有趣的问题... ...将训练集视为一个序列,并猜测该序列中的下一个项目是什么。下一个项目来自给定类别的概率将不仅基于该类别的先验(上面计算的 P(xy)),而且还将考虑序列中位于它之前的项目。然后,这个问题的一个有趣部分是计算出看起来有多“回溯”以及赋予前面的项目序列多少“权重”。

编辑(现在 OP 表示他/她对“更有趣的问题”感兴趣)。 这个“prediction-given-preceding-sequence”问题几乎直接映射到machine-learning-algorithm-for-predicting-order-of-events *** 问题。 细微的差别在于这里的字母表有 10 个不同的代码(另一个问题中有 4 个),而且我们在这里尝试预测一个 class 的代码,而不仅仅是代码本身。对于每个类 2 个代码的聚合,我们有几种选择:

从一开始就使用类,即将序列中读取的每个代码替换为其类,然后只考虑和跟踪类。 仅使用代码,即创建 1-thru-10 代码的预测器,并且只考虑最后的类别,将组成一个类别的两个代码的概率相加,以产生下一个项目的可能性属于那个阶层。 一些混合解决方案:考虑/使用代码,但有时会聚合到类中。

我个人的选择是首先尝试使用代码预测器(仅在最后进行聚合),如果从最初尝试中获得的某种洞察力告诉我们可以简化逻辑或其性能,则可能会从那里进行调整或改进我们会更早地聚合。实际上,可以使用相同的预测器来尝试这两种方法,只需更改输入流,将所有偶数替换为前面的奇数。我猜当我们提前聚合时,有价值的信息(为了猜测即将到来的代码)会丢失。

【讨论】:

以上是关于机器学习预测分类的主要内容,如果未能解决你的问题,请参考以下文章

如何执行可以同时输出两个类预测的机器学习分类?

机器学习分类器使用过去的预测作为特征

weka 中的机器学习分类和预测

机器学习之路: python k近邻分类器 鸢尾花分类预测

机器学习模型错误预测

R语言使用DALEX包的explain函数生成指定分类预测机器学习模型的解释器