Machine learning 如何通过一个简单的模拟模型生成一个人工数据集,用于具有二进制响应和4-5个特征的分类分析?

Machine learning 如何通过一个简单的模拟模型生成一个人工数据集,用于具有二进制响应和4-5个特征的分类分析?,machine-learning,data-mining,classification,Machine Learning,Data Mining,Classification,我需要一个模拟模型,生成一个带有二进制响应变量的人工分类数据集。然后我想使用这个数据集检查各种分类器的性能。数据集可以有任意数量的特征、预测值。您需要知道生成数据的分布。很可能是正态分布。然后需要将数据点标记到其类 正态分布: 高斯分布: excel中的数据生成:这是个坏主意,不会告诉您分类器的相对优点 首先,我将解释如何生成数据,然后解释为什么这样做不会学到任何东西。你需要一个二进制特征向量:有很多方法可以做到这一点,但让我们采用最简单的方法。独立伯努利变量的向量。下面是生成任意多个实例的

我需要一个模拟模型,生成一个带有二进制响应变量的人工分类数据集。然后我想使用这个数据集检查各种分类器的性能。数据集可以有任意数量的特征、预测值。

您需要知道生成数据的分布。很可能是正态分布。然后需要将数据点标记到其类

正态分布:

高斯分布:


excel中的数据生成:

这是个坏主意,不会告诉您分类器的相对优点

首先,我将解释如何生成数据,然后解释为什么这样做不会学到任何东西。你需要一个二进制特征向量:有很多方法可以做到这一点,但让我们采用最简单的方法。独立伯努利变量的向量。下面是生成任意多个实例的方法:

  • 对于每个特征i,从均匀分布生成参数θi,其中0<θi<1
  • 对于每个期望的实例j,通过从均匀分布再次采样来生成第i个特征f_ji。如果采样的数字小于θi,则将f_ij设置为1,否则将其设置为0
  • 这将允许您生成任意数量的实例。然而,问题是您知道数据的真实分布,因此可以得到贝叶斯最优决策规则:这是理论上最优的分类器。在我上面给出的生成方案下,朴素贝叶斯分类器接近最优(如果您使用实际的贝叶斯版本,其中集成了参数,它将是最优分类器)

    这是否意味着朴素贝叶斯是最好的分类器?不,当然不是:通常,我们对不知道数据真实分布的数据集上分类器的性能感兴趣。事实上,整个概念的基础是,当真实分布未知时,试图估计它解决了一个比分类更难的问题

    总之,那么:仔细考虑这是否是你想要做的。您不能模拟数据并用它来决定哪个分类器是“最好的”,因为哪个分类器是最好的取决于您用于模拟的配方。如果您想查看某些分类器性能不佳或异常的数据类型,您可以模拟此类数据以确认您的假设,但我不认为您正试图这样做

    编辑:

    我意识到你实际上想要的是一个二元结果,而不是二元特性。你可以忽略我说的一些话

    二元反应来自逻辑回归模型:

    对数(p/(1-p))=w.x

    其中w是权重向量,x是特征向量。为了从给定观测x的模型中进行模拟,取点积w.x,应用逆logit函数:

    logit^-1=1/(1+exp(-w.x))

    这将为您提供一个范围为0-1的数字。然后将响应作为带有参数p的贝努利变量进行采样,即在[0,1]中取一个统一的数字,如果它小于p,则返回1,否则返回0


    如果你也想模拟xs,你可以,但是你回到了我上面讨论的领域。另外,请注意,由于这是逻辑回归抽样,因此该分类器在这里具有明显的优势,正如我在上面所描述的…

    是的,您是对的。我想要一个不偏向任何分类器的数据集。一个回归示例可以是模型:Y=(2sinX1)(2sinX2)+e,其中X1和X2是一致的,e是高斯分布。我需要一个二进制响应,谢谢!啊等等-一个二进制响应?然后你需要逻辑回归模型。让我编辑我的答案。