首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >随机森林的数据准备与python的预测建模

随机森林的数据准备与python的预测建模
EN

Stack Overflow用户
提问于 2015-04-17 15:03:54
回答 1查看 2.8K关注 0票数 1

我正在使用一个分类输出(pass/fail:二进制1或0)和大约200个特性进行预测建模练习。我有大约350 K的训练例子,但我可以增加我的数据集的大小,如果需要。下面是我遇到的几个问题:

我正在处理严重不平衡的类。在这350 K示例中,只有2K被标记为“fail”(即分类输出= 1)。我该怎么解释呢?我知道有几种技术,比如用引导器进行上采样;

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

3-选择模型本身:我正在考虑支持向量机、K-邻域、决策树、随机森林、Logistic回归等几个方面,但我猜想,由于有大量的分类特征,随机森林将适合于这种情况。有什么建议吗?

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

提前感谢您的回答!

EN

回答 1

Stack Overflow用户

发布于 2015-08-21 00:59:00

  1. 它帮助训练平衡类(但不要交叉验证与他们) RF是惊人的效率与数据,所以你将不需要所有350 K负样本训练,很可能。通过从该池中抽取替换的抽样来选择相同数量的阳性示例。不过,别忘了留下一些正面的例子进行验证。
  2. 如果你是在学习科学,使用熊猫的df.get_dummies()来生成二进制编码。R为您对作为因素的变量进行二进制编码。在幕后,它形成了一点矢量。
  3. 我总是从RF开始,因为旋钮太少了,这是一个很好的基准。在我整理好我的特性转换并获得AUC之后,我尝试了其他方法。
  4. ( a)不,b)不,c)是,d)是的,它需要以某种方式固定。如果您可以删除任何预测器都缺少值的数据,那就太好了。然而,如果这是不可能的,中位数是一个常见的选择。假设正在构建一棵树,并选择变量X4进行拆分。RF需要在线路上选择一个点,并将所有数据发送到左侧或右侧。对于X4没有价值的数据,它应该做些什么?以下是“randomForest”包在R中采取的策略:

对于数值变量,NAs被替换为列中介。对于因素变量,NAs被替换为最频繁的级别(随机中断联系)。如果对象不包含NAs,则将不更改地返回对象。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29702890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档