gpt4 book ai didi

machine-learning - 随机森林和预测建模的数据准备

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

我正在使用分类输出(通过/失败:二进制 1 或 0)和大约 200 个特征进行预测建模练习。我有大约 35 万个训练示例,但如果需要,我可以增加数据集的大小。以下是我遇到的一些问题:

1- 我正在处理严重不平衡的类别。在这 350K 个示例中,只有 2K 被标记为“失败”(即分类输出 = 1)。我该如何解释这一点?我知道有几种技术,例如使用 Bootstrap 进行上采样;

2- 我的大部分特征(~ 95%)都是分类的(例如城市、语言等),每个特征的级别少于 5-6 个。我是否需要将它们转换为每个功能级别的二进制数据?例如,如果特征“城市”有纽约、巴黎和巴塞罗那3个级别,那么我可以将其转换为3个二元特征:city_New_york、city_Paris和city_Barcelona;

3 - 选择模型本身:我正在考虑一些模型,例如 SVM、K-neighbors、决策树、随机森林、逻辑回归,但我的猜测是随机森林会更合适这是因为有大量的分类特征。有什么建议吗?

4 - 如果我使用随机森林,我是否需要(a)对连续变量进行特征缩放(我猜不需要),(b)将连续变量更改为二进制,如在上面的问题 2 中进行了解释(我猜不是),(c) 解释我严重不平衡的类别,(d) 删除缺失值。

最佳答案

  1. 它有助于使用平衡类进行训练(但不要与它们进行交叉验证)RF 对于数据的效率出奇地高,因此您可能不需要所有 350k 负样本来进行训练。通过从该池中进行放回抽样来选择相同数量的正例。不过,不要忘记留下一些积极的例子进行验证。

  2. 如果您使用 scikit-learn,请使用 pandas 的 df.get_dummies() 生成二进制编码。 R 为作为因子的变量进行二进制编码。它在幕后生成一个位向量。

  3. 我总是从 RF 开始,因为旋钮很少,这是一个很好的基准。在理清我的特征转换并提高 AUC 后,我尝试了其他方法。

  4. a) 否 b) 否 c) 是 d) 是,需要以某种方式修复。如果您可以在任何预测变量缺失值的情况下删除数据,那就太好了。然而,如果这是不可能的,中位数是一个常见的选择。假设正在构建一棵树,并选择变量 X4 进行分割。 RF需要选择一条线上的一个点并将所有数据发送到左侧或右侧。对于 X4 没有值(value)的数据应该做什么?这是策略 'randomForest' package接受 R:

For numeric variables, NAs are replaced with column medians. For factor variables, NAs are replaced with the most frequent levels (breaking ties at random). If object contains no NAs, it is returned unaltered.

关于machine-learning - 随机森林和预测建模的数据准备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29702890/

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