Python 减少样本A以匹配特征在B中的分布的算法

Python 减少样本A以匹配特征在B中的分布的算法,python,algorithm,distribution,sampling,downsampling,Python,Algorithm,Distribution,Sampling,Downsampling,我有两个样品A和B,尺寸相差很大。A比B大10倍,这就是为什么我想在机器学习应用程序中使用它。我知道有其他的选择来平衡训练,但是由于A太大了,我无论如何都需要减少样本。A和B位于相同的特征空间中,但特征分布不同,这会混淆我的结果。我知道,通常情况下,你会根据不同的特性分布来区分A和B中的单个示例,但相信我,在这种情况下,这是有害的 因此,我的问题是:如何对样本A进行降采样,使降采样集A中的特征显示出与B中特征相似的分布?当我们从一个样本中抽取样本时,这种分布的“接近”可以通过任意距离度量来衡量,

我有两个样品A和B,尺寸相差很大。A比B大10倍,这就是为什么我想在机器学习应用程序中使用它。我知道有其他的选择来平衡训练,但是由于A太大了,我无论如何都需要减少样本。A和B位于相同的特征空间中,但特征分布不同,这会混淆我的结果。我知道,通常情况下,你会根据不同的特性分布来区分A和B中的单个示例,但相信我,在这种情况下,这是有害的

因此,我的问题是:如何对样本A进行降采样,使降采样集A中的特征显示出与B中特征相似的分布?当我们从一个样本中抽取样本时,这种分布的“接近”可以通过任意距离度量来衡量,无论是均值和方差的标准化差异(想想统计测试),还是Kullback-Leibler散度,等等

请注意,在A和B两个适当的条件下,基本上可以完成这项任务。假设A是A国所有居民的集合,B国所有老年患者的集合,唯一的特征是年龄。鉴于这两个国家的规模和年龄结构相似,有可能缩小样本a,使a'只包含来自a国的老年人。这个例子和我的问题之间的唯一区别是,我需要同时对几个特征进行自动,并且这些特征可以是分类的,二进制和连续值及其组合。

鉴于其适用范围相当广泛,我希望这一问题已经得到解决。已经存在的python和/或R实现是非常受欢迎的,尽管我也希望对一个好的算法进行简单的口头描述


非常感谢

您提到A&B是具有相同特征的样本,但您没有提到A&B的抽样分布(可以说是更重要的一点)。您给出的居民示例似乎表明您假设A&B来自具有共享状态空间的分布(一个是另一个的超集)你想的就是这样吗?我认为,如果你希望得到这个问题的合理答案,你就必须对A&B的分配设置更多的限制。