gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 08:35:25 25 4
gpt4 key购买 nike

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

最佳答案

这是一个坏主意,并且不会告诉您有关分类器的相对优点的任何信息。

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

  1. 对于每个特征 i,根据均匀分布生成参数 theta_i,其中 0 < theta_i < 1
  2. 对于每个所需的实例 j,通过从均匀分布中再次采样来生成第 i 个特征 f_ji。如果采样的数字小于 theta_i,则设置 f_ij = 1,否则设置为 0

这将允许您生成任意数量的实例。 但是,问题是你知道数据的真实分布,因此你可以得到贝叶斯最优决策规则:这就是理论上最优的分类器。根据我上面提供的生成方案,朴素贝叶斯分类器接近最优(如果您使用集成了参数的实际贝叶斯版本,它将是最优分类器)。

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

总而言之:仔细考虑这是否是您想要做的事情。您无法模拟数据并使用它来决定哪个分类器是“最佳”,因为哪个分类器最好取决于您用于模拟的方法。如果您想查看某些分类器表现不佳或奇怪的数据,您可以模拟此类数据来证实您的假设,但我认为这不是您想要做的。

编辑:

我意识到你实际上想要一个二进制结果,而不是二进制特征。我说的一些内容你可以忽略。

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

log( 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,也可以,但您又回到了我上面讨论的领域。另外,请注意,由于这是逻辑回归采样,因此该分类器在这里将具有明显的优势,正如我上面所描述的......

关于machine-learning - 如何通过简单的模拟模型生成人工数据集,用于具有二元响应和 4-5 个特征的分类分析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14729103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com