如何根据给定的类\标签分布值对 pandas 数据框或 graphlab sframe 进行采样,例如:我想对具有标签\类列的数据框进行采样以选择行,以便平等地获取每个类标签,从而具有相似的频率为每个类标签对应一个均匀分布的类标签。或者最好是根据我们想要的类分布来获取样本。
+-----+-------+--------+ | col1 | 克洛尔2 | 班级 | +-----+-------+--------+ | 4 | 45 | 一个 | +-----+-------+--------+ | 5 | 66 | 乙| +-----+-------+--------+ | 5 | 6 | C | +-----+-------+--------+ | 4 | 6 | C | +-----+-------+--------+ | 321 | 1 | 一个 | +-----+-------+--------+ | 32 | 第432章 乙| +-----+-------+--------+ | 5 | 3 | 乙| +-----+-------+--------+ 给定一个像上面这样的巨大数据框和如下所需的频率分布: +-------+--------------+ | 班级 | 发味提取物| +-------+--------------+ | 一个 | 2 | +-------+--------------+ | 乙| 2 | +-------+--------------+ | C | 2 | +-------+--------------+
以上应根据第二帧中的给定频率分布从第一个数据帧中提取行,其中频率计数值在 nostoextract 列中给出,以给出每个类最多出现 2 次的采样帧。如果找不到足够的类来满足所需的计数,则应忽略并继续。生成的数据帧将用于基于决策树的分类器。
正如评论员所说,采样数据帧必须包含 nostoextract 相应类的不同实例?除非给定类没有足够的示例,在这种情况下,您只需获取所有可用的示例。